+#! /usr/bin/env python
"""XSetBg config
"""
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