Differences between revisions 3 and 4
Revision 3 as of 2013-07-06 13:48:31
Size: 1694
Editor: ThomasKoch
Comment:
Revision 4 as of 2013-08-16 15:49:01
Size: 2471
Editor: ThomasKoch
Comment:
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:

== Proposal: STATE directory ==

[[http://lists.freedesktop.org/pipermail/xdg/2012-December/012598.html|It has been proposed]] on the xdg-freedesktop mailing list to introduce another directory for state information that does not belong in any of the existing categories. Examples for this information are:

 * history files of shells, repls, anything that uses libreadline
 * logfiles
 * state of application windows on exit

The above example information is not essential data. However it should still persist on reboots of the system unlike cache data that a user might consider putting in a TMPFS. On the other hand the data is rather volatile and does not make sense to be checked into a VCS. The files are also not the data files that an application works on.

The XDG Base Directory Specification (XDGBDS) defines four directories in a users $HOME dir that should be used for so called DotFiles.

These directories (with their default locations) are:

  • $XDG_DATA_HOME ($HOME/.local/share): data files
  • $XDG_CONFIG_HOME ($HOME/.config): configuration files
  • $XDG_CACHE_HOME ($HOME/.cache): non-essential data files
  • $XDG_RUNTIME_DIR (no default?): non-essential runtime files, other file objects (such as sockets, named pipes, ...)

Please refer to the specification for additional directory definitions and further details.

Tools

Status of Packages

TODO: Which packages do not conform to the XDGBDS and has a bug been filled upstream?

* mplayer: upstream bug * xmonad: upstream bug

e.g.: ZSH, gimp, ssh, gnupg, mplayer, dbus, libpurple/pidgin,

Proposal: STATE directory

It has been proposed on the xdg-freedesktop mailing list to introduce another directory for state information that does not belong in any of the existing categories. Examples for this information are:

  • history files of shells, repls, anything that uses libreadline
  • logfiles
  • state of application windows on exit

The above example information is not essential data. However it should still persist on reboots of the system unlike cache data that a user might consider putting in a TMPFS. On the other hand the data is rather volatile and does not make sense to be checked into a VCS. The files are also not the data files that an application works on.