gdesklets (1) - Linux Manuals

gdesklets: provides an advanced architecture for desktop applets


gDesklets - provides an advanced architecture for desktop applets


gdesklets open [ display ]


gDesklets provides an advanced architecture for desktop applets -- tiny displays sitting on your desktop in a symbiotic relationship of eye candy and usefulness.

Populate your desktop with status meters, icon bars, weather sensors, news tickers... whatever you can imagine! Virtually anything is possible and maybe even available some day.


You can find an entry in the GNOME menu after a successful installation. This will start the gDesklets Shell where you can install and run desktop applets. When you log out or quit 'gDesklets', the settings will be remembered for the next session.


The command line tool gdesklets lets you perform all administration tasks from the command line.

Display files can be opened using

$ gdesklets open <displayfile>

If the gdesklets-daemon wasn't running, this will start up the daemon as well. You can only have one daemon per X-display. The daemon can be stopped again by calling

$ gdesklets stop

Usage of the command line frontend:

gdesklets [option] <command> [arguments...]

  <command>: open <files>      (Opens the given display files)
       start             (Runs the gDesklets daemon)
       stop              (Stops the gDesklets daemon)
       list              (Lists open displays)
       restart           (Restarts the gDesklets daemon)
       profile <profile> (Switches to the given profile)
       profile           (Shows the current and the available
       shell             (Opens the graphical shell)
       slay              (Kills the daemon -- use in emergency)
       status            (Checks daemon status)
       about             (Prints information about gDesklets)
       version           (Prints gDesklets version)
       configure         (Opens the configuration dialog)
       help              (Displays this text)
       check             (Dependency check for python bindings)

 [option]: --no-tray-icon   (disables the systray icon)

  If you don't pass a command, the script will fall back to
  gdesklets start which is the default.


The shell is a graphical frontend for managing your desklets. You can start it either by selecting it from the GNOME menu (Accessories -> gDesklets), by selecting it from the tray icon popup menu, or by calling:

$ gdesklets shell

The shell currently lets you create and switch between profiles, install new desklets and search for desklets. New desklets can be installed by dragging links from your web browser or files from the file manager into its window, or by selecting the menu item "File -> Install package...".

Displays (as we call the applets) will usually appear in the top left corner of your screen when you first run them. You can move displays around by pressing and holding down the middle mouse button. 'gDesklets' will remember the new position of the display for the future.


If you press the right mouse button over a display, a popup menu will open. It depends on the display what you will see there, but the following items are always available:

Configure desklet
Opens the configuration dialog for this display. It depends on the display what you can configure.
Move desklet
Attaches desklet to cursor for moving it around. Click to release it.
View Source
Lets you view the desklet's source file (.display).
Restart desklet
Restarts this display. This menu item is mainly for sensor debugging.
Remove desklet
Removes this display from your desktop.
Lets you view desklet's "About" information, license and readme file.


The gdesklets-daemon writes a log file. That file can be found in ~/.gdesklets/logs/gdesklets<display>.log where <display> is the name of the X-Display.

You can select the item View log in the popup menu of the tray icon to view the log messages.


In order to run on as many desktops as possible, gDesklets relies on the EWMH specification from This specification is respected among many window managers. We currently know of the following EWMH compliant window managers:

* metacity
* xfwm4
* openbox
* enlightenment (>= 0.16.6)
* fvwm (2.5.x, see
* sawfish
* kwin
* evilwm
* fluxbox (recent versions)
* waimea
* ...and certainly some others which we forgot here.


This is taken seriously. In every release we're addressing these issues. Unfortunately, gDesklets is relying on libraries which contain their own bugs or leaks. In some places it's possible to create a work-around. Sometimes, we

have to wait until an issue in bugzilla is fixed. gDesklets itself shouldn't leak. We've checked the relevant C code to make sure of that.

At startup the program claims approximately 16 MB of RAM. In the future we're going to decrease that number. Some people in the GNOME and GTK+ community are also addressing these problems at a lower level (gtk+ and gnome libraries). gDesklets will automatically benefit from these efforts.


The site '' is the place where you can get new desklets or upload your own creations for sharing them with other users.

Discussion and Help

gDesklets Developer's Book (for developing on the gDesklets platform)

A printed reference in German language is available from 'Software & Support Verlag GmbH'. The book 'Exploring Python' covers desklet development on 34 pages.

You can meet the 'gDesklets' developers and other fans on the IRC channel #gdesklets on GIMPnet (


gDesklets was written by

  Martin Grimme <martin [at]>.

  Christian Meyer <chrisime [at]>.

  Jesse Andrews <jdandr2 [at]>.


I'd like to thank all people who supported (and are still supporting) me so well with 'gDesklets'. Please complain if I forgot you... ;)

  Christian Meyer -- ideas and sensor programming

  Jesse Andrews -- sensor programming

  Johannes "Waldgeist" Rebhan -- artwork

  Christian Neumair -- installation

  Sebastien Bacher -- man page and lots of other stuff

  Luke Stroven -- and 'gDesklets' forum

  James Henstridge -- excellent GTK bindings for Python

  Joe Sapp  -- documentation

  Bjoern Koch  -- additional programming, documentation

  Robert Pastierovic  -- additional programming, documentation

  Lauri Kainulainen  -- additional programming, gdesklets website


If you encounter bugs which are not listed here, please post a bug report at for gDesklets. Please don't report useless bug reports, like "gDesklets crashes" without checking the log file first, because that doesn't tell us much. Also make sure, that you have all the necessary dependencies installed.

If the log says: "ImportError: No module named X" then you clearly don't have the python module "X" installed on your system. We are going to close useless bug reports immediately(!), so please save your time and ours and be smart!


This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file 'COPYING' for more details.

You should have received a copy of the GNU General Public License along with this software; if not, write to the

Free Software Foundation, Inc., 59 Temple Place, Suite 390, Boston, MA 02111-1307 USA

This software is provided "as is" and the author is not and cannot be made responsible for any damage resulting from the use of this software.


gdesklets is copyright (c) 2003 - 2007 by

* Martin Grimme <martin [at]>,
* Christian Meyer <chrisime [at]>,
* Jesse Andrews <jdandr2 [at]>
* Benoît Dejean <tazforever [at]>

glibtop Python wrapper in libdesklets is copyright (c) 2003 - 2005 by

* Benoît Dejean <tazforever [at]>

The latest version of gDesklets can be found at The Desklets bzr repository can be found at