Translate

Archives

Image of Modern Operating Systems (3rd Edition)
Image of Linux Kernel Development (3rd Edition)
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of Beginning Google Maps API 3

Controlling a GNOME Shell or Cinnamon Extension using D-Bus

In this post, I demonstrate how you can add D-Bus support to a GNOME Shell or Cinnamon extension and allow a command line utility to control the operating characteristics of the extension via a command line utility.

D-Bus, Cinnamon and the GNOME Shell

This post discusses the D-Bus interface to the GNOME Shell and Cinnamon and shows you how a simple command line tool called cinnamon-tool can be used to enable or disable Cinnamon extensions via D-Bus.

Retrieving a Property using Python and GDbus

The documentation on retrieving or setting an D-Bus object’s properties using Python is pityful and mostly inaccurate. Recently GDBus has replaced dbus-glib as the preferred way to interface with D-Bus on GNOME platforms. The central concepts of D-Bus are modelled in a very similar way in dbus-glib and GDBus. Both have objects representing connections, proxies and method invocations. However there are some important differences: dbus-glib uses the D-Bus libdbus reference implementation, GDBus does not. Instead, it relies on GIO streams as transport layer, and has its own implementation for the the D-Bus connection setup and authentication. dbus-glib uses the GObject