From dd1cab5a4b14ad04ae3df5231952fc460e927bf6 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sun, 9 Mar 2014 03:10:28 +0400 Subject: [PATCH] Search xsetbg.conf in XDG directories Search xsetbg.conf in $XDG_CONFIG_HOME or $XDG_CONFIG_DIRS or $HOME/.config. --- TODO | 1 - xsetbg_conf.py | 25 ++++++++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) mode change 100644 => 100755 xsetbg_conf.py diff --git a/TODO b/TODO index 8f5ff64..55e0360 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,3 @@ -Move xsetbg.conf to $XDG_CONFIG_HOME or $XDG_CONFIG_DIRS or $HOME/.config. Move xsetbg.db to $XDG_CACHE_HOME or $HOME/.cache. diff --git a/xsetbg_conf.py b/xsetbg_conf.py old mode 100644 new mode 100755 index ad5125b..0577732 --- a/xsetbg_conf.py +++ b/xsetbg_conf.py @@ -1,3 +1,4 @@ +#! /usr/bin/env python """XSetBg config """ @@ -11,7 +12,25 @@ __all__ = ['xsetbg_conf'] import os from ConfigParser import SafeConfigParser -xsetbg_dir = os.path.dirname(os.path.abspath(__file__)) +config_dirs = [] +if 'XDG_CONFIG_HOME' in os.environ: + config_dirs.append(os.environ['XDG_CONFIG_HOME']) +if 'XDG_CONFIG_DIRS' in os.environ: + config_dirs.extend(os.environ['XDG_CONFIG_DIRS'].split(':')) +home_config = os.path.expanduser('~/.config') +if home_config not in config_dirs: + config_dirs.append(home_config) +config_dirs.append(os.path.dirname(os.path.abspath(__file__))) -xsetbg_conf = SafeConfigParser() -xsetbg_conf.read(os.path.join(xsetbg_dir, 'xsetbg.conf')) +for d in config_dirs: + xsetbg_conf_file = os.path.join(d, 'xsetbg.conf') + if os.path.exists(xsetbg_conf_file): + xsetbg_conf = SafeConfigParser() + xsetbg_conf.read(xsetbg_conf_file) + break +else: + raise RuntimeError("Cannot find xsetbg.conf; searched %s", config_dirs) + +if __name__ == '__main__': + print "Config dirs:", config_dirs + print "Config file:", xsetbg_conf_file -- 2.39.2