Gambas Documentation - /comp/gb.dbus

/comp/gb.dbus

# gb.dbus

This component allows you to take part in the D-Bus system.

Author | Benoît Minisini.

Class | Description
--- | ---
DBus | This class manages the connection to the session or the system bus.
DBusApplication | This class represents an application connected to a bus.
DBusConnection | This class represent a connection to the D-Bus system or session bus.
DBusObject | This class is the parent class of all objects that can be exported to a D-Bus bus.
DBusObserver | This class allows to catch any message sent by a D-Bus bus to any application.
DBusProxy | This class is a proxy to a D-Bus object exported by another application.
DBusSignal | This class allows to catch any signal raised by any application on a D-Bus bus.
DBusVariant | This class allows to define a D-Bus variant value having a specific D-Bus signature.

By using this component, you will be able to:

- Call any method and properties of any application connected to D-Bus.

- Catch any signal sent by any application connected to D-Bus.

- Export your own objects to a D-Bus bus.

For more information, see http://dbus.freedesktop.org.

### Examples

    ' Lock the screen
    DBus["org.kde.krunner"]["/ScreenSaver"].lock()

    ' Check if compositing is active
    If DBus["org.kde.kwin"]["/KWin"].compositingActive() Then Print "Compositing is active!"

    ' Get a password from KDE wallet
    Dim sLocalWallet As String = DBus["org.kde.kwalletd"]["/modules/kwalletd"].localWallet()
    Dim sWalletId As String = DBus["org.kde.kwalletd"]["/modules/kwalletd"].open(sLocalWallet, Application.Title)
    Dim sPassword As String = DBus["org.kde.kwalletd"]["/modules/kwalletd"].readPassword(Application.Name, sWalletId, "login", Application.Title)

    ' Set the geometry of the KMail window
    DBus["org.kde.kmail"]["/kmail/kmail_mainwindow_1"].geometry = [0, 24, 1024, 768]

### See also

- DBus and Gambas