1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
## These are not really standards
Note: freedesktop.org is not a standards body.
#### Draft specifications that have pretty good de facto adoption/agreement:
* [[Desktop base directory spec|Specifications/basedir-spec]] details how desktops should locate files at runtime.
* [[Desktop Entry specification|Specifications/desktop-entry-spec]] describing information about an application such as the name, icon, and description. These files are used for application launchers and for creating menus of applications that can be launched.
* [[Menu specification|Specifications/menu-spec]] specifies how menus are built up from desktop entries.
* The [[shared MIME database|Specifications/shared-mime-info-spec]] contains common MIME types, descriptions, and rules for determining the types of files.
* The [[Icon Theme specification|Specifications/icon-theme-spec]] proposed specification for a common way to store icon themes.
* [[Free Media Player Specifications|Specifications/free-media-player-specs]] deal with standard ways to store and read metadata across players and media formats.
* The [[startup-notification-spec|Specifications/startup-notification-spec]] describes a mechanism to allow desktop environments to track application startup, to provide user feedback and other features.
* The [[Trash specification|Specifications/trash-spec]] provides a common way in which all "Trash can" implementations should store, list, and undelete trashed files.
* The [[Autostart specification|Specifications/autostart-spec]] describes how applications can be started automatically after the user has logged in and how media can request a specific application to be executed or a specific file on the media to be opened after the media has been mounted.
* [[The XML Bookmark Exchange Language|http://pyxml.sourceforge.net/topics/xbel/]], or XBEL, is an Internet "bookmarks" interchange format.
X-related specifications:
* [[DnD|http://www.newplanetsoftware.com/xdnd/]] is the drag-and-drop specification shared between [[GTK+|GTK+]] and [[Qt|Qt]]. A [[local copy|Specifications/XDND]] of the spec resides on the wiki. [[Work on revisions|Specifications/XDNDRevision]] are in progress.
* [[Window manager specification|Specifications/wm-spec]] standardizes extensions to the ICCCM between X desktops; we are also working to merge these extensions into the ICCCM itself as appropriate.
* The [[XEmbed|Specifications/xembed-spec]] proposed specification for inter-application embedding of controls.
* [[X clipboard explanation|Specifications/clipboards-spec]] is not a formal specification, but explains our consensus on how the X clipboard works. Qt and GTK+ both follow this document.
* [[UTF8_STRING|http://www.pps.jussieu.fr/~jch/software/UTF8_STRING]] selection format for interchange of UTF-8 data.
#### Draft specifications that are new and not yet widely used, though they may be used by one or more desktops or desktop applications:
* The [[MIME Applications specification|Specifications/mime-apps-spec]] (deciding which application should be used to open a file).
* The [[Icon Naming specification|Specifications/icon-naming-spec]] proposed specification for a common way to name icons and their contexts in an icon theme.
* [[StatusNotifierItem|StatusNotifierItem]] - a proposal for cleaning up the notification area/panel.
* The [[XSETTINGS|Specifications/xsettings-spec]] proposed specification for cross-toolkit configuration of user settings.
* The [[X Direct Save|Specifications/direct-save]] (XDS) protocol specifies how to save a file by dragging to a file manager window.
* The [[System tray protocol|Specifications/systemtray-spec]] proposed specification for a "notification area" feature. [[Notes from the XDevConf meeting|Specifications/SystrayAndAppletsMeeting]].
* The [[Recent File|Specifications/recent-file-spec]] specification proposed specification for storing lists of recently used files.
* The [[Thumbnail|http://triq.net/~jens/thumbnail-spec/index.html]] management specification proposed specification for storing file thumbnails ([[copy available here|http://people.freedesktop.org/~vuntz/thumbnail-spec-cache/]]).
* Proposal for an [[extension to the ICCCM selections mechanism|Specifications/clipboards-extension-spec]] allowing xclipboard-like tools to limit the amount of transferred data.
* The [[Cursor Conventions specification|Specifications/cursor-spec]] is a draft specification that seeks to standardize usage and names for mouse cursors.
* The [[File URI specification|Specifications/file-uri-spec]] defines how to interpret [[file://|file://]] URIs, as used for drag and drop and other desktop uses.
* The [[Clipboard manager specification|Specifications/clipboard-manager-spec]] describes a way for a clipboard manager to store clipboard data when applications quit.
* The [[GHNS and DXS specs|http://ghns.freedesktop.org/spec/]] describe a collaborative data exchange platform based on the HTTP protocol and web service interaction.
* [[ICC Profiles in X Specification|Specifications/icc_profiles_in_x_spec]]
* The [[Open Collaboration Services|Specifications/open-collaboration-services]] specification describes an API to integrate community web sites with the desktop.
* The [[DesktopCouch|Specifications/desktopcouch]] specification describes record formats for integrating [[CouchDB|http://couchdb.apache.org]] in the desktop, already being used by some applications, like Evolution, Tomboy and Firefox
* [[Sound Theme Spec|Specifications/sound-theme-spec]] is a specification proposal for sound theme and sound naming.
* The [[Help Specification|Specifications/help-spec]] specifies a standard location and URI scheme of installed help documents.
* [[File Manager D-Bus Interface|Specifications/file-manager-interface]], a common way to interact with the desktop's file manager.
* The [[OpenRaster specification|Specifications/OpenRaster]] describes an open exchange format for layered raster-based graphics.
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|mailto:xdg-list@lists.freedesktop.org]].
#### X protocol extensions:
* See <http://www.x.org/releases/current/doc/index.html#protocol> for the latest X protocol extension specs.
#### Specifications currently in the planning/requirements-gathering stages:
* [[Shared File Metadata Spec|Specifications/shared-filemetadata-spec]] (reading/writing/searching file based metadata)
* [[Shared configuration system|Specifications/config-spec]] (a desktop-neutral replacement for gconf and similar).
* [[Shared default keyboard shortcuts|Specifications/default-keys-spec]] (every application running should use the same keys for _Save_, _Quit_, etc).
* [[Audio files meta data|Specifications/audio-metadata-spec]] (apps that deal with audio files should use same abbreviations when dealing with the meta data)
* [[Bidirectional scripts|Specifications/bidi-spec]] (support for bidirectional scripts like Arabic and Hebrew in desktop software)
* [[Proposed Help Spec|Specifications/help-system]] (The beginnings of a specification for how to find help files.)
* [[Shortcut to a database connection|Specifications/db-shortcut-spec]] (The proposal of a specification for how to store information about remote database connections; currently used by Kexi: www.kexi-project.org)
* [[Desktop configuration Spec|Specifications/desktop-config-spec]] (A D-BUS protocol and schema specification for desktop configuration)
* [[Desktop Bookmark Spec|Specifications/desktop-bookmark-spec]] (A storage format for bookmarks used by file selectors and applications; it should supercede the [[Recent File|Specifications/recent-file-spec]] specification; currently used by GTK)
* [[Desktop Language Checking Spec|Specifications/desktop-language-checking-spec]] (a spec for spell and grammar checking)
* [[MPRIS Media player remote interfacing specification|Specifications/mpris-interfacing-specification]] A media player DBus interfacing specification
* [[Composite retained drawing protocol|Specifications/Composite-retained-drawing]]
* [[OpenICC Directory Proposal|http://www.oyranos.com/wiki/index.php?title=OpenIccDirectoryProposal]] for placing and finding colour related files in a system
* The [[Application Package Specification|ApplicationPackageSpec]] is designed to provide a desktop neutral way to package an application. Installation is not required.
* [[DBPC - DBus for process control|Specifications/DBPC]] is layer above DBUS which define a standard set of objects, interfaces and methods for use in process control. It will provide a common standard for industrial communication, especially between HMI, SCADA and field electronic equipement.
* [[Secret Storage Spec|Specifications/secret-storage-spec]] is a draft of an API for securely storing secrets using a D-Bus service.
#### Retracted Specifications
* The [[Desktop Color Scheme specification|Specifications/colorscheme-spec]] 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**).
|