April 17, 2013

Report from the FreeDesktop Summit

During the week of 8 April 2013, developers from the KDE, GNOME, Unity and Razor-qt projects met at the SUSE offices in Nürnberg to improve collaboration between the projects by discussing specifications. A wide range of topics was covered.

There was agreement on a specification for a D-Bus interface to be implemented by applications. Pending implementation, applications are now capable of being launched using D-Bus activation instead of executing a binary. Changes were also agreed for the desktop entry specification for applications to advertise this capability.

We reached agreement on a modification to the trash specification to allow for an efficient means of determining the size of all items in the trash (to warn the user when the size is getting too large).

A new file format was defined to cache and index the contents of all .desktop files within a particular directory. This new format will allow efficient full-text search over desktop files as well as efficient lookups of various other kinds (for example, identifying which apps support a given file type) while increasing performance by reducing disk seeks. It will also reduce memory consumption because it can be shared by all processes using mmap.

The in-development kernel D-Bus implementation was presented at the meeting. Representatives from the desktop environments made suggestions to improve the kernel API to facilitate implementation of libraries.

We discussed the future of accountsservice and how, going forward, the project will be sensitive to the needs of desktops other than GNOME. This included specific discussions regarding implementation of storing user locale in the service as well as providing an extension mechanism for structured storage of arbitrary key/value data, without needing to patch the service.

There were initial discussions (with no concrete results) on a wide range of other topics including D-Bus session management APIs, a replacement for X11-based startup notification, application intents and “portals”, exporting action groups on D-Bus and adding actions to context menus in the file browser.

Perhaps most importantly we have come to agreement on a plan for improving the maintenance of freedesktop specifications going forward. One representative from each of GNOME, KDE and Unity will form a joint maintainer team. This team will monitor and participate in conversations on the xdg list and decide when consensus has been reached. The intention is to revive the usefulness of the xdg list as the primary point of communication between desktop projects.