Allow the configuration file and theme directory to be specified at run time.

Patch by Eelco Dolstra, from Nixpkgs.
---
 app.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app.cpp b/app.cpp
index 237477d..735df9c 100644
--- a/app.cpp
+++ b/app.cpp
@@ -285,7 +285,9 @@ void App::Run()
 	if ( cfg == 0 )
 	{
 		cfg = new Cfg;
-		cfg->readConf(CFGFILE);
+		const char* cfgfile = getenv("SLIM_CFGFILE");
+		if (!cfgfile) cfgfile = CFGFILE;
+		cfg->readConf(cfgfile);
 	}
 	string themebase = "";
 	string themefile = "";
@@ -297,7 +299,9 @@ void App::Run()
 	}
 	else
 	{
-		themebase = string(THEMESDIR) + "/";
+		const 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)
-- 
2.39.2

