Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-9199] use XDG dirs instead of HOME

GitHub Issuen/a
TypeBug
PriorityTrivial
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsCLI
Labelscb-tooling
ReporterJon McCann
AssigneeChris Barber
Created2012-05-15T08:17:36.000+0000
Updated2016-08-24T06:17:50.000+0000

Description

Issue

On linux systems information is currently stored in ~/.titanium. It would be better to use the locations defined in the XDG Base Directory Specification.

Link

https://live.gnome.org/GnomeGoals/XDGConfigFolders

Attachments

FileDateSize
0001-Use-XDG-Dirs-instead-of-HOME-by-default.patch2012-05-15T08:20:16.000+0000888

Comments

  1. Jon McCann 2012-05-15

    Unfortunately I haven't been able to test this and not sure it is the complete fix.
  2. Stephen Feather 2012-05-15

    This seems to be a rather Gnome-centric patch.
  3. Jon McCann 2012-05-15

    How so? There is nothing GNOME specific about it. The spec is Linux wide. http://standards.freedesktop.org/basedir-spec/latest/
  4. Ingo Muschenetz 2012-05-23

    This patch appears to apply to env.py in the SDK, so moving it to Titanium Mobile.
  5. Eric Heintzmann 2012-12-08

    What is planned now about FreeDesktop XDG basedir specification for Titanium? http://ploum.net/post/207-modify-your-application-to-use-xdg-folders https://live.gnome.org/GnomeGoals/XDGConfigFolders http://standards.freedesktop.org/basedir-spec/latest/
  6. Eric Heintzmann 2013-01-05

    According to XDG Base directory specification: User data should go into $XDG_DATA_HOME (which default to ~/.local/share), user preferences should go into $XDG_CONFIG_HOME (which default to ~/.config) and cached data should go to $XDG_CACHE_HOME (which default to ~/.cache). More details at : http://ploum.net/post/207-modify-your-application-to-use-xdg-folders https://live.gnome.org/GnomeGoals/XDGConfigFolders Full specification can be found at: http://standards.freedesktop.org/basedir-spec/latest/ The Freedesktop.org XDG base directory specification have good de facto adoption. It has been adopted by: - GNOME ( https://live.gnome.org/GnomeGoals/XDGConfigFolders ) - GTK+ ( https://bugzilla.gnome.org/show_bug.cgi?id=646631 ) - KDE ( http://techbase.kde.org/KDE_System_Administration/XDG_Filesystem_Hierarchy#Freedesktop.org_and_Standard_Directories ) - QT ( http://harmattan-dev.nokia.com/docs/library/html/qt4/qsettings.html#setPath ) - XFCE ( http://docs.xfce.org/xfce/xfce4-session/advanced in Files and Environment Variables ) - LXDE - Razor-qt - VLC ( https://trac.videolan.org/vlc/ticket/1267 ) - GStreamer ( https://bugzilla.gnome.org/show_bug.cgi?id=518597 ) - Chrome ( http://code.google.com/p/chromium/issues/detail?id=16976 ) - many more upstream applications - Ubuntu ( http://brainstorm.ubuntu.com/idea/6557/ & http://packages.ubuntu.com/fr/source/precise/libxdg-basedir ) - Debian ( http://packages.debian.org/squeeze/libxdg-basedir1 ) - Red Hat - Fedora - Suse - many more distributions I think that Titanium should use same locations than the vast majority of Desktop environment and applications. There are real advantages of following this specification : - a lot less cluttered $HOME - Make backups a lot more safer and easier. Backuping your $XDG_DATA_HOME along with your files is enough (or just excluding $XDG_CACHE_HOME) - A lot easier to reset a default configuration if you want/need it (and without any risk to loose informations). Even for the software itself could choose to reset $XDG_CONFIG_HOME if needed. - Avoid some strange bugs that happens because you had a old version of some configuration file - A lot more of flexibility and portability because no path are hardcoded.

JSON Source