[TIMOB-9199] use XDG dirs instead of HOME
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Trivial |
Status | Open |
Resolution | Unresolved |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | CLI |
Labels | cb-tooling |
Reporter | Jon McCann |
Assignee | Chris Barber |
Created | 2012-05-15T08:17:36.000+0000 |
Updated | 2016-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/XDGConfigFoldersAttachments
File | Date | Size |
---|---|---|
0001-Use-XDG-Dirs-instead-of-HOME-by-default.patch | 2012-05-15T08:20:16.000+0000 | 888 |
Unfortunately I haven't been able to test this and not sure it is the complete fix.
This seems to be a rather Gnome-centric patch.
How so? There is nothing GNOME specific about it. The spec is Linux wide. http://standards.freedesktop.org/basedir-spec/latest/
This patch appears to apply to env.py in the SDK, so moving it to Titanium Mobile.
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/
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.