Package: higan
Version: 094-2
Severity: wishlist
Tags: patch

higan stores its config files in ~/.config.  This patch makes it use
XDG_CONFIG_HOME instead, if set.

- Michael


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.11-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages higan depends on:
ii  libao4                    1.1.0-2
ii  libasound2                1.0.27.2-3
ii  libatk1.0-0               2.10.0-2
ii  libc6                     2.17-97
ii  libcairo2                 1.12.16-2
ii  libfontconfig1            2.11.0-2
ii  libfreetype6              2.5.2-1
ii  libgcc1                   1:4.8.2-14
ii  libgdk-pixbuf2.0-0        2.28.2-1+b1
ii  libgl1-mesa-glx [libgl1]  9.2.2-1
ii  libglib2.0-0              2.36.4-1
ii  libgtk2.0-0               2.24.22-1
ii  libopenal1                1:1.14-4
ii  libpango-1.0-0            1.36.0-1+b1
ii  libpangocairo-1.0-0       1.36.0-1+b1
ii  libpangoft2-1.0-0         1.36.0-1+b1
ii  libpulse0                 4.0-6+b1
ii  libsdl1.2debian           1.2.15-8
ii  libstdc++6                4.8.2-14
ii  libudev1                  204-6
ii  libx11-6                  2:1.6.2-1
ii  libxext6                  2:1.3.2-1
ii  libxv1                    2:1.0.10-1

higan recommends no packages.

higan suggests no packages.

-- no debconf information
diff --git a/nall/string/platform.hpp b/nall/string/platform.hpp
index e71bd32faf8c..412dc9495978 100755
--- a/nall/string/platform.hpp
+++ b/nall/string/platform.hpp
@@ -50,7 +50,13 @@ string configpath() {
   #elif defined(PLATFORM_MACOSX)
   string result = {userpath(), "Library/Application Support/"};
   #else
-  string result = {userpath(), ".config/"};
+  string result;
+  const char *env = getenv("XDG_CONFIG_HOME");
+  if(env) {
+    result.append(env);
+  } else {
+    result = {userpath(), ".config/"};
+  }
   #endif
   if(result.empty()) result = ".";
   if(result.endsWith("/") == false) result.append("/");
diff --git a/phoenix/gtk/settings.cpp b/phoenix/gtk/settings.cpp
index 6c411c361766..aa9f2b17f3ba 100755
--- a/phoenix/gtk/settings.cpp
+++ b/phoenix/gtk/settings.cpp
@@ -3,12 +3,12 @@ namespace phoenix {
 static Settings* settings = nullptr;
 
 void Settings::load() {
-  string path = {userpath(), ".config/phoenix/"};
+  string path = {configpath(), "phoenix/"};
   Configuration::Document::load({path, "gtk.bml"});
 }
 
 void Settings::save() {
-  string path = {userpath(), ".config/phoenix/"};
+  string path = {configpath(), "phoenix/"};
   directory::create(path, 0755);
   Configuration::Document::save({path, "gtk.bml"});
 }
diff --git a/phoenix/qt/settings.cpp b/phoenix/qt/settings.cpp
index 11ad54acd1e2..5970c02c66fc 100755
--- a/phoenix/qt/settings.cpp
+++ b/phoenix/qt/settings.cpp
@@ -3,12 +3,12 @@ namespace phoenix {
 static Settings *settings = nullptr;
 
 void Settings::load() {
-  string path = {userpath(), ".config/phoenix/"};
+  string path = {configpath(), "phoenix/"};
   Configuration::Document::load({path, "qt.bml"});
 }
 
 void Settings::save() {
-  string path = {userpath(), ".config/phoenix/"};
+  string path = {configpath(), "phoenix/"};
   directory::create(path, 0755);
   Configuration::Document::save({path, "qt.bml"});
 }

Attachment: signature.asc
Description: Digital signature

Reply via email to