KDE 4.2 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

KToolInvocation Class Reference

from PyKDE4.kdecore import *

Inherits: QObject

Detailed Description

KToolInvocation: for starting other programs

Desktop files for startServiceBy

The way a service gets started depends on the 'X-DBUS-StartupType' entry in the desktop file of the service:

There are three possibilities:

  • X-DBUS-StartupType=None (default)
  • Always start a new service, don't wait till the service registers with dbus.
  • X-DBUS-StartupType=Multi
  • Always start a new service, wait until the service has registered with dbus.
  • X-DBUS-StartupType=Unique
  • Only start the service if it isn't already running, wait until the service has registered with dbus. The .desktop file can specify the name that the application will use when registering using X-DBUS-ServiceName=org.domain.mykapp. Otherwise org.kde.binaryname is assumed.

    Multi-threading

    The static members (apart from self()), have to be called from the QApplication main thread. Calls to members are only allowed if there is a Q(Core)Application object created If you call the members with signal/slot connections across threads, you can't use the return values If a function is called from the wrong thread and it has a return value -1 is returned Investigate if this is really needed or if DBUS is threadsafe anyway

    For more details see <a href="http://techbase.kde.org/Development/Architecture/KDE4/Starting_Other_Programs#KToolInvocation.startServiceByDesktopPath">techbase.


    Signals

     kapplication_hook (QStringList env, QByteArray startup_id)

    Methods

     __init__ (self)
     kapplication_hook (self, QStringList env, QByteArray startup_id)

    Static Methods

     invokeBrowser (QString url, QByteArray startup_id=QByteArray())
     invokeHelp (QString anchor=QString(), QString appname=QString(), QByteArray startup_id=QByteArray())
     invokeMailer (QString address, QString subject, QByteArray startup_id=QByteArray())
     invokeMailer (KUrl mailtoURL, QByteArray startup_id=QByteArray(), bool allowAttachments=0)
     invokeMailer (QString to, QString cc, QString bcc, QString subject, QString body, QString messageFile=QString(), QStringList attachURLs=QStringList(), QByteArray startup_id=QByteArray())
     invokeTerminal (QString command, QString workdir=QString(), QByteArray startup_id="")
     invokeTerminal (QString command, QByteArray startup_id="")
    int, int (pid) kdeinitExec (QString name, QStringList args=QStringList(), QString error=0, QByteArray startup_id=QByteArray())
    int, int (pid) kdeinitExecWait (QString name, QStringList args=QStringList(), QString error=0, QByteArray startup_id=QByteArray())
    OrgKdeKLauncherInterface klauncher ()
    KToolInvocation self ()
    int, int (pid) startServiceByDesktopName (QString _name, QString URL, QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)
    int, int (pid) startServiceByDesktopName (QString _name, QStringList URLs=QStringList(), QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)
    int, int (pid) startServiceByDesktopPath (QString _name, QString URL, QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)
    int, int (pid) startServiceByDesktopPath (QString _name, QStringList URLs=QStringList(), QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)
    int, int (pid) startServiceByName (QString _name, QString URL, QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)
    int, int (pid) startServiceByName (QString _name, QStringList URLs=QStringList(), QString error=0, QString serviceName=0, QByteArray startup_id=QByteArray(), bool noWait=0)

    Method Documentation

    __init__ (   self )
    invokeBrowser ( QString  url,
    QByteArray  startup_id=QByteArray()
    )

    Invokes the user's preferred browser. Note that you should only do this when you know for sure that the browser can handle the URL (i.e. its mimetype). In doubt, if the URL can point to an image or anything else than HTML, prefer to use new KRun( url ).

    See also <a href="http://techbase.kde.org/Development/Architecture/KDE4/Starting_Other_Programs#KToolInvocation.invokeBrowser>techbase for a discussion of invokeBrowser vs KRun.

    Parameters:
    url  The destination address
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    invokeHelp ( QString  anchor=QString(),
    QString  appname=QString(),
    QByteArray  startup_id=QByteArray()
    )

    Invokes the KHelpCenter HTML help viewer from docbook sources.

    Parameters:
    anchor  This has to be a defined anchor in your docbook sources. If empty the main index is loaded
    appname  This allows you to show the help of another application. If empty the current name() is used
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    invokeMailer ( QString  address,
    QString  subject,
    QByteArray  startup_id=QByteArray()
    )

    Convenience method; invokes the standard email application.

    Parameters:
    address  The destination address
    subject  Subject string. Can be QString().
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    invokeMailer ( KUrl  mailtoURL,
    QByteArray  startup_id=QByteArray(),
    bool  allowAttachments=0
    )

    Invokes the standard email application.

    Parameters:
    mailtoURL  A mailto URL.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    allowAttachments  whether attachments specified in mailtoURL should be honoured. The default is false; do not honor requests for attachments.

    invokeMailer ( QString  to,
    QString  cc,
    QString  bcc,
    QString  subject,
    QString  body,
    QString  messageFile=QString(),
    QStringList  attachURLs=QStringList(),
    QByteArray  startup_id=QByteArray()
    )

    Convenience method; invokes the standard email application.

    All parameters are optional.

    Parameters:
    to  The destination address.
    cc  The Cc field
    bcc  The Bcc field
    subject  Subject string
    body  A string containing the body of the mail (exclusive with messageFile)
    messageFile  A file (URL) containing the body of the mail (exclusive with body) - currently unsupported
    attachURLs  List of URLs to be attached to the mail.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    invokeTerminal ( QString  command,
    QString  workdir=QString(),
    QByteArray  startup_id=""
    )

    Invokes the standard terminal application.

    Parameters:
    command  the command to execute, can be empty.
    workdir  the initial working directory, can be empty.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    Since:
    4.1

    invokeTerminal ( QString  command,
    QByteArray  startup_id=""
    )
    kapplication_hook (  self,
    QStringList  env,
    QByteArray  startup_id
    )

    Hook for KApplication in kdeui

    Internal:

    Signal syntax:
    QObject.connect(source, SIGNAL("kapplication_hook(QStringList&, QByteArray&)"), target_slot)
    int, int (pid) kdeinitExec ( QString  name,
    QStringList  args=QStringList(),
    QString  error=0,
    QByteArray  startup_id=QByteArray()
    )

    Starts a program via kdeinit.

    program name and arguments are converted to according to the local encoding and passed as is to kdeinit.

    Parameters:
    name  Name of the program to start
    args  Arguments to pass to the program
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) kdeinitExecWait ( QString  name,
    QStringList  args=QStringList(),
    QString  error=0,
    QByteArray  startup_id=QByteArray()
    )

    Starts a program via kdeinit and wait for it to finish.

    Like kdeinitExec(), but it waits till the program is finished. As such it behaves similar to the system(...) function.

    Parameters:
    name  Name of the program to start
    args  Arguments to pass to the program
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    OrgKdeKLauncherInterface klauncher (   )

    Returns the DBus interface of the service launcher. The returned object is owned by KApplication, do not delete it!

    KToolInvocation self (   )
    int, int (pid) startServiceByDesktopName ( QString  _name,
    QString  URL,
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the desktop name of the service. E.g. "konqueror"

    Parameters:
    _name  the desktop name of the service
    URL  if not empty this URL is passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    serviceName  On success, serviceName contains the D-Bus service name under which this service is available. If empty, the service does not provide D-Bus services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) startServiceByDesktopName ( QString  _name,
    QStringList  URLs=QStringList(),
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the desktop name of the service. E.g. "konqueror"

    Parameters:
    _name  the desktop name of the service
    URLs  if not empty these URLs will be passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    serviceName  On success, serviceName contains the D-Bus service name under which this service is available. If empty, the service does not provide D-Bus services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) startServiceByDesktopPath ( QString  _name,
    QString  URL,
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the desktop path of the service. E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"

    Parameters:
    _name  the path of the desktop file
    URL  if not empty this URL is passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    serviceName  On success, serviceName contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) startServiceByDesktopPath ( QString  _name,
    QStringList  URLs=QStringList(),
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the desktop path of the service. E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"

    Parameters:
    _name  the path of the desktop file
    URLs  if not empty these URLs will be passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored *
    serviceName  On success, serviceName contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) startServiceByName ( QString  _name,
    QString  URL,
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the (translated) name of the service. E.g. "Web Browser"

    Parameters:
    _name  the name of the service
    URL  if not empty this URL is passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    serviceName  On success, serviceName contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    int, int (pid) startServiceByName ( QString  _name,
    QStringList  URLs=QStringList(),
    QString  error=0,
    QString  serviceName=0,
    QByteArray  startup_id=QByteArray(),
    bool  noWait=0
    )

    Starts a service based on the (translated) name of the service. E.g. "Web Browser"

    Parameters:
    _name  the name of the service
    URLs  if not empty these URLs will be passed to the service
    error  On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
    serviceName  On success, serviceName contains the DCOP name under which this service is available. If empty, the service does not provide DCOP services. If the pointer is 0 the argument will be ignored
    pid  On success, the process id of the new service will be written here. If the pointer is 0, the argument will be ignored.
    startup_id  for app startup notification, "0" for none, "" ( empty string ) is the default
    noWait  if set, the function does not wait till the service is running.

    Returns:
    an error code indicating success (== 0) or failure (> 0).

    • Full Index

    Modules

    • akonadi
    • dnssd
    • kdecore
    • kdeui
    • khtml
    • kio
    • knewstuff
    • kparts
    • kutils
    • nepomuk
    • phonon
    • plasma
    • solid
    • soprano
    This documentation is maintained by Simon Edwards.
    KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal