Saturday, January 8, 2011

Oxygen + Gtk + DBus

  • Gtk: one of the most widely used toolkit to write opensource applications for your desktop, the second one being Qt, used notably for all KDE applications;
  • Oxygen: refers (notably) to KDE's default widget's style, originally written for Qt/KDE applications only;
  • DBus: inter-process communication system used for applications to communicate between each-other. In KDE it is used notably for propagating configuration changes (such as the color scheme) to KDE applications.
This post introduced oxygen-gtk, a native port of the KDE's default widget style to the Gtk toolkit, which allowed applications such as Gimp, Inkscape, and many others, to integrate seamlessly in the KDE desktop. This style was written to follow most of KDE configuration options, such as the icon theme, icon sizes, fonts, etc. However any change to the KDE configuration was only accounted for by GTK applications after the latter were restarted.

Today, we added DBus support to oxygen-gtk, so that Gtk applications keep track of modifications to KDE's configuration and update themselves on fly. This is best illustrated by the screencast below, during which color scheme and font size are changed in KDE's system settings, and Gimp updates accordingly without restart.

This feature is already available for testing in oxygen-gtk's git repository. It will be included in the next feature release of oxygen-gtk (version 1.1.0), some time in June.

mmm... recording a screencast in KDE. Which application should I use ? qt-recordmydesktop, or gtk-recordmydesktop: