diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp --- slim-1.3.6-orig/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) {