June 5, 2008

Screenlets add customized functionality to the desktop

Author: Bruce Byfield

If free software development goes by trends, then the current era might be called the Age of Extensions. In the last few years, every application from the Mozilla family to OpenOffice.org to Gedit has created frameworks in which developers can add their own small bits of functionality to an application. In the last 10 months or so, a community has taken this trend directly to the desktop with what it calls "screenlets" -- small applications that are added directly to the desktop. The result is dozens of tools, some new and many old, that are in most cases not only themable, but also heavily customizable.

Screenlets.org, the site for their development and listing, describes screenlets as small Python applications, and the screenlet libraries as an effort "to simplify the creation of fully themeable mini-apps that each solve basic desktop-work-related needs and generally improve the usability and eye-candy" of the modern desktop. They are specifically intended for composited window managers, but most of them also work with 2-D window managers such as Metacity.

The basic screenlet package is available for many major distributions, including Ubuntu, Debian, and openSUSE. It consists of 49 screenlets and the Screenlets Manager, a dialog for installing and removing screenlets. These screenlets are in varying degrees of completion, and vary almost as much in originality. Some, such as the monitors for laptop batteries and CPU usage, duplicate the functionality of existing panel apps. Others offer versions of existing features such as the main menu, the pager, Evolution contacts, and Tomboy. Still others provide desktop links to online services such as Gmail and YouTube, or original functionality such as a pixel ruler for designers.

These basic screenlets seem intended largely to illustrate the concept. They are rapidly being eclipsed in number and originality by third-party screenlets, including ones specifically designed for GNOME. A screenlet that displays your wireless connection, a sidebar similar to Vista's, a display for daily comics, a BitTorrent search -- these are just a random selection of the hundreds that are available.

Using screenlets

The best place to start using screenlets is the Screenlets Manager. It not only displays all the screenlets available for the current user account, but also provides a menu of commands in the left pane.

By scanning the commands, you can quickly learn what you can do with screenlets. You can install to the desktop not just one, but multiple instances of the currently highlighted screenlet -- a feature that is useful for a screenlet like Notes, which you may want to use more than once. You can also force selected screenlets to revert to their default states, add a new theme, uninstall third-party screenlets, re-install or close all running screenlets, and set the default options for any newly launched screenlet.

Once a screenlet is on the desktop, you can customize it by right-clicking on it and selecting Properties. Some properties are frivolous -- I doubt, for instance, that anyone really cares where the pin is positioned in a sticky note -- but most are practical. By selecting a theme when one is supported, you can make a screenlet fit in or contrast with your desktop colors. If you want, you can increase the display size of an applet for easier viewing, or decrease it in order to squeeze more screenlets on your desktop -- options that are especially useful with the growing number of screenlets that use scalable vector graphics. You can change the X and Y axis of a screenlet's position when it is first launched (later, you can drag it wherever you want), and also opt to keep it on the top or bottom of the windows you open. In many cases, you can choose a screenlet's color and font as well.

If you want to add screenlets, you can download them, then click the Install command in the Screenlet Manager. However, not all third-party screenlets are aware of the Screenlet Manager, so you may need to add new screenlets to the /.screenlets folder in your home directory instead.

Screenlets, pro and con

Looking at screenlets, the first question you might ask is: Are they really necessary? For one thing, they seem very much a product of larger and wider screens, as though developers cannot resist seizing the extra display space for themselves, instead of letting users enjoy not having to stack windows on windows.

More importantly, at this stage, many screenlets -- sometimes, it seems, the majority -- seem to duplicate utilities already present in the menus or as a panel app. Since you can easily drag and drop items from either the menus or the panel to the desktop, do you really need a new subsystem for the same functionality?

How you answer such questions depends on your computing habits. For many, the high degree of customization available may make screenlets preferable to a panel applet. In particular, the ability to scale the size of a screenlet might be especially welcome to those who need accessibility options.

As for the originality of the screenlets, remember that the community that develops them has been formally organized for less than a year, and that a large minority of the currently available screenlets are proofs of concept. Perhaps the community will soon start to write more creative screenlets.

Meanwhile, while many screenlets seem predictable or mundane, chances are that you can find at least two or three to interest you, no matter what your preferences are. Like the extensions for other applications, screenlets are an opportunity for greater choice and user control -- and for these reasons alone, they are a welcome addition to the desktop.


  • Desktop Software