From e468d771f657f081722efc8e7b54dacd923867c2 Mon Sep 17 00:00:00 2001 From: Marco Peereboom Date: Wed, 15 Feb 2012 16:14:56 -0600 Subject: [PATCH] try scrotwm.conf when spectrwm.conf isn't found --- spectrwm.c | 48 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/spectrwm.c b/spectrwm.c index 2928f00..5951b9e 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -6971,16 +6971,44 @@ main(int argc, char *argv[]) setup_spawn(); /* load config */ - snprintf(conf, sizeof conf, "%s/.%s", pwd->pw_dir, SWM_CONF_FILE); - if (stat(conf, &sb) != -1) { - if (S_ISREG(sb.st_mode)) - cfile = conf; - } else { - /* try global conf file */ - snprintf(conf, sizeof conf, "/etc/%s", SWM_CONF_FILE); - if (!stat(conf, &sb)) - if (S_ISREG(sb.st_mode)) - cfile = conf; + for (i = 0; ; i++) { + switch (i) { + case 0: + /* ~ */ + snprintf(conf, sizeof conf, "%s/.%s", + pwd->pw_dir, SWM_CONF_FILE); + if (stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) + cfile = conf; + break; + case 1: + /* global */ + snprintf(conf, sizeof conf, "/etc/%s", + SWM_CONF_FILE); + if (stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) + cfile = conf; + break; + case 2: + /* ~ compat */ + snprintf(conf, sizeof conf, "%s/.%s", + pwd->pw_dir, SWM_CONF_FILE_OLD); + if (stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) + cfile = conf; + break; + case 3: + /* global compat */ + snprintf(conf, sizeof conf, "/etc/%s", + SWM_CONF_FILE_OLD); + if (stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) + cfile = conf; + break; + default: + cfile = NULL; + break; + } } /* load conf (if any) and refresh font color in bar graphics contexts */ -- 1.7.10.4