summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/slim-config.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/slim-config.patch')
-rw-r--r--gnu/packages/patches/slim-config.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/gnu/packages/patches/slim-config.patch b/gnu/packages/patches/slim-config.patch
new file mode 100644
index 0000000000..5e6135d75c
--- /dev/null
+++ b/gnu/packages/patches/slim-config.patch
@@ -0,0 +1,27 @@
+Allow the configuration file and theme directory to be specified at run time.
+Patch by Eelco Dolstra, from Nixpkgs.
+
+--- slim-1.3.6/app.cpp 2013-10-02 00:38:05.000000000 +0200
++++ slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
+@@ -200,7 +200,9 @@
+
+ /* Read configuration and theme */
+ cfg = new Cfg;
+- cfg->readConf(CFGFILE);
++ char *cfgfile = getenv("SLIM_CFGFILE");
++ if (!cfgfile) cfgfile = CFGFILE;
++ cfg->readConf(cfgfile);
+ string themebase = "";
+ string themefile = "";
+ string themedir = "";
+@@ -208,7 +210,9 @@
+ if (testing) {
+ themeName = testtheme;
+ } else {
+- themebase = string(THEMESDIR) + "/";
++ char *themesdir = getenv("SLIM_THEMESDIR");
++ if (!themesdir) themesdir = THEMESDIR;
++ themebase = string(themesdir) + "/";
+ themeName = cfg->getOption("current_theme");
+ string::size_type pos;
+ if ((pos = themeName.find(",")) != string::npos) {