The Freedesktop.org Project
The benefits of interoperability are often ignored. Nowadays, we take it for granted that we will be able to cut-and-paste or drag-and-drop between GNOME and KDE applications. This casual acceptance is a good thing. Applications should "just work" whether or not they are on their native desktop. Thanks to freedesktop, they mostly do. Contrast this with life under very early versions of GNOME and KDE.
Standards simplify the lives of developers trying to be desktop-neutral. The standardization of desktop entries and menus, for example, allow ISVs to easily install icons for their applications without having to worry about the end-user's desktop environment. The developers of a skinned media player can be assured that their app will look and behave the same under all compliant window managers if they use the hints defined in the Window Manager Spec.
Freedesktop.org has published several specifications that have wide acceptance across X desktops. For example, the Window Manager Spec, which defines window manager behavior, is supported by GNOME, KDE, XFce and many other window managers. The qt and GTK+ supported XEmbed spec is a protocol to embed one application's controls into another. The clipboard spec is a consensus on using the X clipboard.
Several draft specifications haven't been widely implemented. For example, the one that defines application menus has only been implemented by GNOME, but KDE and XFce have indicated support in future releases. The Shared MIME Database creates a common library of MIME types to be used file handling tools. It's currently implemented only by ROX Filer and slated to be part of GTK+ 2.4.
Recently, freedesktop decided to expand the scope of its work to
hosting desktop oriented projects,
especially those that provide needed infrastructure to desktops.
The DRI project recently moved
its CVS repository
to freedesktop.org, for example. Other projects hosted on freedesktop
include Cairo
- a vector graphics library,
D-BUS
- a message bus system,
fontconfig
and pkgconfig.
A particularly interesting new project is HAL, which aims to create a
standard abstraction layer through which desktops can configure and use hardware
devices. It's an ambitious project, but one well worth the effort.
| Index entries for this article | |
|---|---|
| GuestArticles | Chacko, Biju |