Interoperability specifications

freedesktop.org produces specifications for interoperability, but we are not an official standards body. There is no requirement for projects to implement all of these specifications, nor certification.

Below are some of the specifications we have produced, many under the banner of 'XDG', which stands for the Cross-Desktop Group.

Some of these specifications are in (very) active use and have a large body of interested developers. Many of them are seen to be stable, in no need of further development, and may not have active devlopment. Some of them are not used or widely implemented.

If you would like to propose a new specification, or a change to an existing specification, please file an issue on the spec under the GitLab XDG project, or discuss it on the xdg@ mailing list.

Please note that some of the links and information on this page is quite outdated. We are in the process of updating it and making sure it is accurate. Please consult the mailing list or GitLab if you are in doubt about anything.

Specifications that are in wide use:

X11-specific specifications that are in wide use:

  • DnD: a drag-and-drop specification shared between ?GTK+ and ?Qt. A local copy of the spec resides on the wiki, along with some proposed revisions.
  • UTF8_STRING: selection format for interchange of UTF-8 data.
  • Window manager specification: standardizes extensions to the ICCCM between X desktops; we are also working to merge these extensions into the ICCCM itself as appropriate.
  • XEmbed: inter-application embedding of controls.
  • X clipboard explanation: explains our consensus on how the X clipboard works. Qt and GTK+ both follow this document.

Draft specifications that are not yet widely used, though they may be used by one or more desktops or applications:

If you feel any of these specs should be moved among the "standard", "de facto", and "proposed" categories, please let us know on xdg-list@lists.freedesktop.org.

Specifications currently in the planning/requirements-gathering stages:

Retracted or obsolete specifications:

  • The Desktop Color Scheme specification is a draft specification that defines names for colors to be used for rendering user interface elements. It also provides an algorithm for generating a matching set of colors from a single base color (The colorscheme spec has been pulled on request of its authors).
  • The GHNS and DXS specs (dead link as of May 2018) describe a collaborative data exchange platform based on the HTTP protocol and web service interaction.
  • The Recent File specification proposed specification for storing lists of recently used files (Superseded by desktop bookmarks)).