diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 01c1136c4..880354979 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -133,6 +133,8 @@ class Application(QApplication): readline_bridge = readline.ReadlineBridge() objreg.register('readline-bridge', readline_bridge) + log.init.debug("Initializing directories...") + standarddir.init() log.init.debug("Initializing config...") config.init(self._args) log.init.debug("Initializing crashlog...") diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 92c2409eb..7d515ce50 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -501,8 +501,6 @@ class ConfigManager(QObject): """Save the config file.""" if self._configdir is None: return - if not os.path.exists(self._configdir): - os.makedirs(self._configdir, 0o755) configfile = os.path.join(self._configdir, self._fname) log.destroy.debug("Saving config to {}".format(configfile)) with open(configfile, 'w', encoding='utf-8') as f: diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py index b580c099e..cb7659319 100644 --- a/qutebrowser/utils/standarddir.py +++ b/qutebrowser/utils/standarddir.py @@ -104,3 +104,11 @@ def get(typ, args=None): if not os.path.exists(path): os.makedirs(path) return path + + +def init(): + """Initialize all config dirs.""" + configdir = get(QStandardPaths.ConfigLocation) + if configdir is not None and not os.path.exists(configdir): + # FIXME + os.makedirs(configdir, 0o755)