X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.c;h=5e9f3ef1b3bab7dd0d4475d1d94c548ae81547aa;hb=ff78cd9edd672080475ddfa1b982d9c770aca6f0;hp=2928f00f3b15dd3cb8e9be7580f98ee0a6683887;hpb=e83f3b790887174fe8b8fd6b3c98172b59ff9305;p=spectrwm.git diff --git a/spectrwm.c b/spectrwm.c index 2928f00..5e9f3ef 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -6971,17 +6971,40 @@ 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)) + for (i = 0; ; i++) { + conf[0] = '\0'; + switch (i) { + case 0: + /* ~ */ + snprintf(conf, sizeof conf, "%s/.%s", + pwd->pw_dir, SWM_CONF_FILE); + break; + case 1: + /* global */ + snprintf(conf, sizeof conf, "/etc/%s", + SWM_CONF_FILE); + break; + case 2: + /* ~ compat */ + snprintf(conf, sizeof conf, "%s/.%s", + pwd->pw_dir, SWM_CONF_FILE_OLD); + break; + case 3: + /* global compat */ + snprintf(conf, sizeof conf, "/etc/%s", + SWM_CONF_FILE_OLD); + break; + default: + goto noconfig; + } + + if (strlen(conf) && stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) { cfile = conf; + break; + } } +noconfig: /* load conf (if any) and refresh font color in bar graphics contexts */ if (cfile && conf_load(cfile, SWM_CONF_DEFAULT) == 0)