config: fallback to /etc/xdg if XDG_CONFIG_DIRS is unset

Closes #1008
This commit is contained in:
Daniel Eklöf 2022-04-06 18:44:09 +02:00
parent 58a1ffe724
commit 20608c987b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 10 additions and 5 deletions

View file

@ -98,6 +98,8 @@
* Underline cursor sometimes being positioned too low, either making
it look thinner than what it should be, or being completely
invisible (https://codeberg.org/dnkl/foot/issues/1005).
* Fallback to `/etc/xdg` if `XDG_CONFIG_DIRS` is unset
(https://codeberg.org/dnkl/foot/issues/1008).
### Security

View file

@ -444,10 +444,12 @@ open_config(void)
}
}
/* Finally, try foot/foot.ini in all XDG_CONFIG_DIRS */
/* Finally, try foot/foot.ini in all XDG_CONFIG_DIRS, or /etc/xdg
* if unset */
const char *xdg_config_dirs = getenv("XDG_CONFIG_DIRS");
xdg_config_dirs_copy = xdg_config_dirs != NULL
? strdup(xdg_config_dirs) : NULL;
? strdup(xdg_config_dirs)
: strdup("/etc/xdg");
if (xdg_config_dirs_copy != NULL) {
for (char *save = NULL,

View file

@ -13,9 +13,10 @@ say if it needs to be reopened after any of the other sections.
foot will search for a configuration file in the following locations,
in this order:
- *XDG_CONFIG_HOME/foot/foot.ini*
- *~/.config/foot/foot.ini*
- *XDG_CONFIG_DIRS/foot/foot.ini*
- *XDG_CONFIG_HOME/foot/foot.ini* (defaulting to
*~/.config/foot/foot.ini* if unset)
- *XDG_CONFIG_DIRS/foot/foot.ini* (defaulting to
*/etc/xdg/foot/foot.ini* if unset)
# SECTION: main