summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2017-10-11 21:09:08 +0200
committerFlorian Bruhin <git@the-compiler.org>2017-10-11 22:06:47 +0200
commitcbe9ff74354898233454941c31766207b4666d84 (patch)
tree48ec8d3fd33f2a447343c97b7f9de8a18c02e74b
parent96c0cde8b8d31e6faf958a35b8eb328325a64c0f (diff)
downloadqutebrowser-cbe9ff74354898233454941c31766207b4666d84.tar.gz
qutebrowser-cbe9ff74354898233454941c31766207b4666d84.zip
Fix reading of fonts.monospace on init
See #2973
-rw-r--r--qutebrowser/config/configinit.py4
-rw-r--r--tests/unit/config/test_configinit.py11
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'