diff -rc slim-1.2.6-orig/app.cpp slim-1.2.6/app.cpp
*** slim-1.2.6-orig/app.cpp	Fri Sep 15 23:00:37 2006
--- slim-1.2.6/app.cpp	Sun Feb 25 17:30:50 2007
***************
*** 113,119 ****
  
      // Read configuration and theme
      cfg = new Cfg;
!     cfg->readConf(CFGFILE);
      string themebase = "";
      string themefile = "";
      string themedir = "";
--- 113,121 ----
  
      // Read configuration and theme
      cfg = new Cfg;
!     char *cfgfile = getenv("SLIM_CFGFILE");
!     if (!cfgfile) cfgfile = CFGFILE;
!     cfg->readConf(cfgfile);
      string themebase = "";
      string themefile = "";
      string themedir = "";
***************
*** 121,127 ****
      if (testing) {
          themeName = testtheme;
      } else {
!         themebase = string(THEMESDIR) + "/";
          themeName = cfg->getOption("current_theme");
          string::size_type pos;
          if ((pos = themeName.find(",")) != string::npos) {
--- 123,131 ----
      if (testing) {
          themeName = testtheme;
      } else {
!         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) {
