KDE 4.2 PyKDE API Reference

- KDE's Python API

# KApplication Class Reference

`from PyKDE4.kdeui import *`

Inherits: QApplication → QCoreApplication → QObject
Subclasses: KUniqueApplication

## Detailed Description

Controls and provides information to all KDE applications.

Only one object of this class can be instantiated in a single app. This instance is always accessible via the 'KApplication.kApplication()' global variable.

This class provides the following services to all KDE applications.

- It controls the event queue (see QApplication ).
- It provides the application with KDE resources such as
accelerators, common menu entries, a KConfig object. session management events, help invocation etc.
- Installs an empty signal handler for the SIGPIPE signal.
If you want to catch this signal yourself, you have set a new signal handler after KApplication's constructor has run.
- It can start new services

Controls and provides information to all KDE applications.

Author:
  Matthias Kalle Dalheimer <kalle@kde.org>

## Attributes

bool | loadedByKdeinit

## Signals

| saveYourself ()

## Methods

| __init__ (self, bool GUIenabled=1)
| __init__ (self, Display display, Qt.HANDLE visual=0, Qt.HANDLE colormap=0)
| __init__ (self, Display display, SIP_PYLIST list, QByteArray rAppName, bool GUIenabled=1)
| __init__ (self, bool GUIenabled, KComponentData cData)
| __init__ (self, Display display, Qt.HANDLE visual, Qt.HANDLE colormap, KComponentData cData)
| __init__ (self, KApplication a0)
| __init__ (self, bool a0, bool a1)
| clearStartupId (self)
| commitData (self, QSessionManager sm)
| disableSessionManagement (self)
| enableSessionManagement (self)
| iceIOErrorHandler (self, _IceConn conn)
| installX11EventFilter (self, QWidget filter)
bool | notify (self, QObject receiver, QEvent event)
| quit (self)
| removeX11EventFilter (self, QWidget filter)
| reparseConfiguration (self)
| saveState (self, QSessionManager sm)
| saveYourself (self)
KConfig | sessionConfig (self)
bool | sessionSaving (self)
| setStartupId (self, QByteArray startup_id)
| setSynchronizeClipboard (self, bool synchronize)
| setTopWidget (self, QWidget topWidget)
QByteArray | startupId (self)
| updateRemoteUserTimestamp (self, QString service, int time=0)
| updateUserTimestamp (self, int time=0)
long | userTimestamp (self)
bool | x11EventFilter (self, XEvent a0)
int | xErrhandler (self, Display a0, void a1)
int | xioErrhandler (self, Display a0)

## Static Methods

QString, bool (bRecover) | checkRecoverFile (QString pFilename, )
Display | getDisplay ()
KApplication | kApplication ()
QString | tempSaveName (QString pFilename)

## Method Documentation

__init__ | ( | self, |
|  | bool | GUIenabled=1
| ) |  |  |

This constructor is the one you should use. It takes aboutData and command line arguments from KCmdLineArgs.

Parameters:

  | GUIenabled | Set to false to disable all GUI stuff. Note that for a non-GUI daemon, you might want to use QCoreApplication and a KComponentData instance instead. The main difference will be that you'll have to register to DBus yourself, but there is no point in a kdeui dependency in a non-GUI daemon.

__init__ | ( | self, |
|  | Display | display,
|  | Qt.HANDLE | visual=0,
|  | Qt.HANDLE | colormap=0
| ) |  |  |

Constructor. Parses command-line arguments. Use this constructor when you you need to use a non-default visual or colormap.

Parameters:

  | display | Will be passed to Qt as the X display. The display must be valid and already opened.
  | visual | A pointer to the X11 visual that should be used by the application. Note that only TrueColor visuals are supported on depths greater than 8 bpp. If this parameter is NULL, the default visual will be used instead.
  | colormap | The colormap that should be used by the application. If this parameter is 0, the default colormap will be used instead.

__init__ | ( | self, |
|  | Display | display,
|  | SIP_PYLIST | list,
|  | QByteArray | rAppName,
|  | bool | GUIenabled=1
| ) |  |  |

Constructor. Parses command-line arguments. Use this constructor to use KApplication in a Motif or Xt program.

Parameters:

  | display | Will be passed to Qt as the X display. The display must be valid and already opened.
  | argc | command line argument count
  | argv | command line argument value(s)
  | rAppName | application name. Will be used for finding the associated message files and icon files, and as the default registration name for DCOP. This is a mandatory parameter.
  | GUIenabled | Set to false to disable all GUI stuff.

__init__ | ( | self, |
|  | bool | GUIenabled,
|  | KComponentData | cData
| ) |  |  |

Internal:
  Used by KUniqueApplication

__init__ | ( | self, |
|  | Display | display,
|  | Qt.HANDLE | visual,
|  | Qt.HANDLE | colormap,
|  | KComponentData | cData
| ) |  |  |

Internal:
  Used by KUniqueApplication

__init__ | ( | self, |
|  | KApplication | a0
| ) |  |  |

__init__ | ( | self, |
|  | bool | a0,
|  | bool | a1
| ) |  |  |

QString, bool (bRecover) checkRecoverFile | ( | QString | pFilename,
| ) |  |  |

Check whether an auto-save file exists for the document you want to open.

Parameters:

  | pFilename | The full path to the document you want to open.
  | bRecover | This gets set to true if there was a recover file.

Returns:
  The full path of the file to open.

clearStartupId | ( |  | self ) |

Internal:
  Used only by KStartupId.

commitData | ( | self, |
|  | QSessionManager | sm
| ) |  |  |

Reimplemented for internal purposes, mainly the highlevel handling of session management with KSessionManager.

Internal:

disableSessionManagement | ( |  | self ) |

Disables session management for this application.

Useful in case your application is started by the initial "startkde" script.

enableSessionManagement | ( |  | self ) |

Enables session management for this application, formerly disabled by calling disableSessionManagement(). You usually shouldn't call this function, as session management is enabled by default.

Display getDisplay | ( |  | ) |

Get the X11 display

Returns:
  the X11 Display

Deprecated:
  use QX11Info.display()

iceIOErrorHandler | ( | self, |
|  | _IceConn | conn
| ) |  |  |

Internal:

installX11EventFilter | ( | self, |
|  | QWidget | filter
| ) |  |  |

Installs widget filter as global X11 event filter.

The widget filter receives XEvents in its standard QWidget.x11Event() function.

Warning: Only do this when absolutely necessary. An installed X11 filter can slow things down.

KApplication kApplication | ( |  | ) |

Returns the current application object.

This is similar to the global QApplication pointer qApp. It allows access to the single global KApplication object, since more than one cannot be created in the same application. It saves you the trouble of having to pass the pointer explicitly to every function that may require it.

Returns:
  the current application object

bool notify | ( | self, |
|  | QObject | receiver,
|  | QEvent | event
| ) |  |  |

Internal:

quit | ( |  | self ) |

removeX11EventFilter | ( | self, |
|  | QWidget | filter
| ) |  |  |

Removes global X11 event filter previously installed by installX11EventFilter().

reparseConfiguration | ( |  | self ) |

saveState | ( | self, |
|  | QSessionManager | sm
| ) |  |  |

Reimplemented for internal purposes, mainly the highlevel handling of session management with KSessionManager.

Internal:

saveYourself | ( |  | self ) |

Session management asks you to save the state of your application.

This signal is provided for compatibility only. For new applications, simply use KMainWindow. By reimplementing KMainWindow.queryClose(), KMainWindow.saveProperties() and KMainWindow.readProperties() you can simply handle session management for applications with multiple toplevel windows.

For purposes without KMainWindow, create an instance of KSessionManager and reimplement the functions KSessionManager.commitData() and/or KSessionManager.saveState()

If you still want to use this signal, here is what you should do:

Connect to this signal in order to save your data. Do NOT manipulate the UI in that slot, it is blocked by the session manager.

Use the sessionConfig() KConfig object to store all your instance specific data.

Do not do any closing at this point! The user may still select Cancel wanting to continue working with your application. Cleanups could be done after aboutToQuit().

Signal syntax:
  `QObject.connect(source, SIGNAL("saveYourself()"), target_slot)`

KConfig sessionConfig | ( |  | self ) |

Returns the application session config object.

Returns:
  A pointer to the application's instance specific KConfig object.

See also:
  KConfig

bool sessionSaving | ( |  | self ) |

Returns true if the application is currently saving its session data (most probably before KDE logout). This is intended for use mainly in KMainWindow.queryClose() and KMainWindow.queryExit().

See also:
  KMainWindow.queryClose

See also:
  KMainWindow.queryExit

setStartupId | ( | self, |
|  | QByteArray | startup_id
| ) |  |  |

Internal:
  Sets a new value for the application startup notification window property for newly created toplevel windows.

Parameters:

  | startup_id | the startup notification identifier

See also:
  KStartupInfo.setNewStartupId

setSynchronizeClipboard | ( | self, |
|  | bool | synchronize
| ) |  |  |

Sets how the primary and clipboard selections are synchronized in an X11 environment

setTopWidget | ( | self, |
|  | QWidget | topWidget
| ) |  |  |

Sets the top widget of the application. This means basically applying the right window caption. An application may have several top widgets. You don't need to call this function manually when using KMainWindow.

Parameters:

  | topWidget | A top widget of the application.

See also:
  icon(), caption()

QByteArray startupId | ( |  | self ) |

Returns the app startup notification identifier for this running application.

Returns:
  the startup notification identifier

QString tempSaveName | ( | QString | pFilename
| ) |  |  |

Get a file name in order to make a temporary copy of your document.

Parameters:

  | pFilename | The full path to the current file of your document.

Returns:
  A new filename for auto-saving.

Deprecated:
  use KTemporaryFile, KSaveFile or KAutoSaveFile instead

updateRemoteUserTimestamp | ( | self, |
|  | QString | service,
|  | int | time=0
| ) |  |  |

Updates the last user action timestamp in the application registered to DBUS with id service to the given time, or to this application's user time, if 0 is given. Use before causing user interaction in the remote application, e.g. invoking a dialog in the application using a DCOP call. Consult focus stealing prevention section in kdebase/kwin/README.

updateUserTimestamp | ( | self, |
|  | int | time=0
| ) |  |  |

Updates the last user action timestamp to the given time, or to the current time, if 0 is given. Do not use unless you're really sure what you're doing. Consult focus stealing prevention section in kdebase/kwin/README.

long userTimestamp | ( |  | self ) |

Returns the last user action timestamp or 0 if no user activity has taken place yet.

See also:
  updateuserTimestamp

bool x11EventFilter | ( | self, |
|  | XEvent | a0
| ) |  |  |

Used to catch X11 events

int xErrhandler | ( | self, |
|  | Display | a0,
|  | void | a1
| ) |  |  |

Internal:

int xioErrhandler | ( | self, |
|  | Display | a0
| ) |  |  |

Internal:

## Attribute Documentation

bool loadedByKdeinit

Internal: