]> git.sur5r.net Git - i3/i3status/commitdiff
Default configuration paths ordered the same way as i3. Fixes #129 (#130)
authoreplanet <emeric.planet@gmail.com>
Wed, 15 Jun 2016 21:13:40 +0000 (23:13 +0200)
committerMichael Stapelberg <stapelberg@users.noreply.github.com>
Wed, 15 Jun 2016 21:13:40 +0000 (23:13 +0200)
i3status.c
man/i3status.man

index 19ad5a3ab948078ddcba5981451903e657e82874..e5e85bf37e47c120e88da84b31c093c5070477e0 100644 (file)
@@ -229,12 +229,7 @@ static char *resolve_tilde(const char *path) {
 static char *get_config_path(void) {
     char *xdg_config_home, *xdg_config_dirs, *config_path;
 
-    /* 1: check the traditional path under the home directory */
-    config_path = resolve_tilde("~/.i3status.conf");
-    if (path_exists(config_path))
-        return config_path;
-
-    /* 2: check for $XDG_CONFIG_HOME/i3status/config */
+    /* 1: check for $XDG_CONFIG_HOME/i3status/config */
     if ((xdg_config_home = getenv("XDG_CONFIG_HOME")) == NULL)
         xdg_config_home = "~/.config";
 
@@ -247,15 +242,14 @@ static char *get_config_path(void) {
         return config_path;
     free(config_path);
 
-    /* 3: check the traditional path under /etc */
-    config_path = SYSCONFDIR "/i3status.conf";
-    if (path_exists(config_path))
-        return sstrdup(config_path);
-
-    /* 4: check for $XDG_CONFIG_DIRS/i3status/config */
+    /* 2: check for $XDG_CONFIG_DIRS/i3status/config */
     if ((xdg_config_dirs = getenv("XDG_CONFIG_DIRS")) == NULL)
         xdg_config_dirs = "/etc/xdg";
 
+    /* 3: check the traditional path under the home directory */
+    config_path = resolve_tilde("~/.i3status.conf");
+    if (path_exists(config_path))
+        return config_path;
     char *buf = strdup(xdg_config_dirs);
     char *tok = strtok(buf, ":");
     while (tok != NULL) {
@@ -272,6 +266,11 @@ static char *get_config_path(void) {
     }
     free(buf);
 
+    /* 4: check the traditional path under /etc */
+    config_path = SYSCONFDIR "/i3status.conf";
+    if (path_exists(config_path))
+        return sstrdup(config_path);
+
     die("Unable to find the configuration file (looked at "
         "~/.i3status.conf, $XDG_CONFIG_HOME/i3status/config, "
         "/etc/i3status.conf and $XDG_CONFIG_DIRS/i3status/config)");
index 850848828b0a329f2dffedb755c17094543c91c8..c43e4d325d6a607519ef4539611bca63a8aba3db 100644 (file)
@@ -17,10 +17,10 @@ i3status [-c configfile] [-h] [-v]
 Specifies an alternate configuration file path. By default, i3status looks for
 configuration files in the following order:
 
-1. ~/.i3status.conf
-2. ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)
-3. /etc/i3status.conf
-4. /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)
+1. ~/.config/i3status/config (or $XDG_CONFIG_HOME/i3status/config if set)
+2. /etc/xdg/i3status/config (or $XDG_CONFIG_DIRS/i3status/config if set)
+3. ~/.i3status.conf
+4. /etc/i3status.conf
 
 == DESCRIPTION