summaryrefslogtreecommitdiff
path: root/Specifications.mdwn
blob: fc52d12b687d64b3a504a3de70304eb4152f6042 (plain)
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**).