[Pidgin] #4911: Pidgin does not adhere to the freedesktop.org XDG Base Directory Specification

Pidgin trac at pidgin.im
Mon Feb 25 07:00:11 EST 2008


#4911: Pidgin does not adhere to the freedesktop.org XDG Base Directory
Specification
------------------------+---------------------------------------------------
Reporter:  timnik       |       Owner:  lschiere    
    Type:  enhancement  |      Status:  new         
Priority:  minor        |   Component:  unclassified
 Version:  2.3.1        |    Keywords:              
 Pending:  0            |  
------------------------+---------------------------------------------------
 The specification can be found at:
 http://standards.freedesktop.org/basedir-spec/latest/index.html

 A agree with what aigarius.com says:
 Currently there is a huge mess of files and folders that start with a “.”
 in any users home folder. There is no structure or policy on how
 applications
 should choose file and folder names for data that needs to be stored in
 users
 home directory. Additionally there is no established consistency between
 Gnome,
 KDE and most other applications. Gnome application have part of their
 configuration information in gconf folder and other part in a gnome
 subfolder.
 KDE applications have a complex structure under .kde/. And most other
 applications either have one file directly in users home folder or have
 their
 own dot-folder there.


 From the specification:

 ##########################################
 There is a single base directory relative to which user-specific data
 files
 should be written. This directory is defined by the environment variable
 $XDG_DATA_HOME.

 There is a single base directory relative to which user-specific
 configuration
 files should be written. This directory is defined by the environment
 variable
 $XDG_CONFIG_HOME.

 $XDG_DATA_HOME defines the base directory relative to which user specific
 data
 files should be stored. If $XDG_DATA_HOME is either not set or empty, a
 default
 equal to $HOME/.local/share should be used.

 $XDG_CONFIG_HOME defines the base directory relative to which user
 specific
 configuration files should be stored. If $XDG_CONFIG_HOME is either not
 set or
 empty, a default equal to $HOME/.config should be used.
 ##########################################

 The reasoning behind this is so that it's easy to remove config files
 while not
 affecting any user data. This is especially important when a user upgrades
 their OS, i.e. Ubuntu 7.10 -> Ubuntu 8.04, and wants to start with the
 default
 settings for their applications. It will also help organise the ever so
 horrid
 mess in the home folder.

 A simple rule might be:
 Data for which there exists sane defaults, is config data. Data which
 should
 not be lost is user data.

 i.e. settings such as whether or not the user wants tabs to be used in
 their IM
 windows are "CONFIG" values, where as usernames, passwords, and more
 importantly chat history are user "DATA".

-- 
Ticket URL: <http://developer.pidgin.im/ticket/4911>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list