diff src/cache.c @ 1149:c4fcf8001574

Implement preliminary support for XDG Base Directory Specification. See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html. This feature was requested for a long time (feature requests #1950978 and #2289481). For now, it is disabled since it breaks compatibility with previous versions. To be able to test it, you have to enable it by defining USE_XDG to 1 in main.h. geeqierc and other conf files are going to: $XDG_CONFIG_HOME/geeqie/ (default to $HOME/.config/geeqie/). metadata and thumbnails cache (if std is not used) are going to: $XDG_CACHE_HOME/geeqie/metadata/ (default to $HOME/.cache/geeqie/metadata/) and $XDG_CACHE_HOME/geeqie/thumbnails/ (default to $HOME/.cache/geeqie/thumbnails/) collections are going to: $XDG_DATA_HOME/geeqie/collections/ (default to $HOME/.local/share/geeqie/collections/) Please test and report any issue.
author zas_
date Sat, 15 Nov 2008 20:17:14 +0000
parents 95860439070b
children b83e280ab7cc
line wrap: on
line diff
--- a/src/cache.c	Sat Nov 15 20:01:25 2008 +0000
+++ b/src/cache.c	Sat Nov 15 20:17:14 2008 +0000
@@ -767,7 +767,15 @@
 
 	if (thumbnails_cache_dir) return thumbnails_cache_dir;
 
-	thumbnails_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_THUMB, NULL);
+	if (USE_XDG)
+		{
+		thumbnails_cache_dir = g_build_filename(xdg_cache_home_get(), GQ_APPNAME_LC, GQ_CACHE_THUMB, NULL);
+		}
+	else
+		{
+		thumbnails_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_THUMB, NULL);
+		}
+
 	return thumbnails_cache_dir;
 }
 
@@ -777,7 +785,15 @@
 
 	if (metadata_cache_dir) return metadata_cache_dir;
 
-	metadata_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_METADATA, NULL);
+	if (USE_XDG)
+		{
+		metadata_cache_dir = g_build_filename(xdg_cache_home_get(), GQ_APPNAME_LC, GQ_CACHE_METADATA, NULL);
+		}
+	else
+		{
+		metadata_cache_dir = g_build_filename(get_rc_dir(), GQ_CACHE_METADATA, NULL);
+		}
+
 	return metadata_cache_dir;
 }