From cbe9ff74354898233454941c31766207b4666d84 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 11 Oct 2017 21:09:08 +0200 Subject: [PATCH] Fix reading of fonts.monospace on init See #2973 --- qutebrowser/config/configinit.py | 4 ++-- tests/unit/config/test_configinit.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py index 6c049439e..1b4157ece 100644 --- a/qutebrowser/config/configinit.py +++ b/qutebrowser/config/configinit.py @@ -48,8 +48,6 @@ def early_init(args): for cf in config.change_filters: cf.validate() - configtypes.Font.monospace_fonts = config.val.fonts.monospace - config_commands = configcommands.ConfigCommands( config.instance, config.key_instance) objreg.register('config-commands', config_commands) @@ -76,6 +74,8 @@ def early_init(args): except configexc.Error as e: message.error("set: {} - {}".format(e.__class__.__name__, e)) + configtypes.Font.monospace_fonts = config.val.fonts.monospace + _init_envvars() diff --git a/tests/unit/config/test_configinit.py b/tests/unit/config/test_configinit.py index 7836c063a..912ded304 100644 --- a/tests/unit/config/test_configinit.py +++ b/tests/unit/config/test_configinit.py @@ -200,6 +200,17 @@ class TestEarlyInit: assert msg.text == "set: NoOptionError - No option 'foo'" assert 'colors.completion.fg' not in config.instance._values + def test_monospace_fonts_init(self, init_patch, args): + """Ensure setting fonts.monospace at init works properly. + + See https://github.com/qutebrowser/qutebrowser/issues/2973 + """ + args.temp_settings = [('fonts.monospace', '"Comic Sans MS"')] + configinit.early_init(args) + + assert config.instance.get('fonts.keyhint') == '8pt "Comic Sans MS"' + assert config.instance.get('fonts.tabs').family() == 'Comic Sans MS' + def test_force_software_rendering(self, monkeypatch, config_stub): """Setting force_software_rendering should set the environment var.""" envvar = 'QT_XCB_FORCE_SOFTWARE_OPENGL'