diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-01-31 16:59:03 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-01-31 17:00:50 +0100 |
commit | c5048720d4a73bd8b6c90276d14e658edf1a57e6 (patch) | |
tree | 04c115f9fa847630ae729aa63e84f44437044097 | |
parent | beaae377bf98bbaba22c39e37723c690aff275dc (diff) | |
download | qutebrowser-c5048720d4a73bd8b6c90276d14e658edf1a57e6.tar.gz qutebrowser-c5048720d4a73bd8b6c90276d14e658edf1a57e6.zip |
Fix fonts.default_size with fonts.hints
Fixes #5214
-rw-r--r-- | qutebrowser/config/configinit.py | 2 | ||||
-rw-r--r-- | qutebrowser/config/configtypes.py | 3 | ||||
-rw-r--r-- | tests/unit/config/test_configinit.py | 19 |
3 files changed, 21 insertions, 3 deletions
diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py index 88f987c7a..20f40420d 100644 --- a/qutebrowser/config/configinit.py +++ b/qutebrowser/config/configinit.py @@ -130,7 +130,7 @@ def _update_font_defaults(setting: str) -> None: value = config.instance.get_obj(name) if value is None or not (value.endswith(' default_family') or - value.startswith('default_size ')): + 'default_size ' in value): continue config.instance.changed.emit(name) diff --git a/qutebrowser/config/configtypes.py b/qutebrowser/config/configtypes.py index 8354c20b4..7c68ae964 100644 --- a/qutebrowser/config/configtypes.py +++ b/qutebrowser/config/configtypes.py @@ -1245,8 +1245,7 @@ class Font(BaseType): self.default_family is not None): value = value.replace('default_family', self.default_family) - if (value.startswith('default_size ') and - self.default_size is not None): + if 'default_size ' in value and self.default_size is not None: value = value.replace('default_size', self.default_size) return value diff --git a/tests/unit/config/test_configinit.py b/tests/unit/config/test_configinit.py index 395af3677..e3240801b 100644 --- a/tests/unit/config/test_configinit.py +++ b/tests/unit/config/test_configinit.py @@ -417,6 +417,25 @@ class TestLateInit: config.instance.set_str('fonts.default_family', 'Terminus') config.instance.set_str('fonts.default_size', '10pt') + def test_default_size_hints(self, run_configinit): + """Make sure default_size applies to the hints font. + + See https://github.com/qutebrowser/qutebrowser/issues/5214 + """ + config.instance.set_obj('fonts.default_family', 'Comic Sans MS') + config.instance.set_obj('fonts.default_size', '23pt') + assert config.instance.get('fonts.hints') == 'bold 23pt "Comic Sans MS"' + + def test_default_size_hints_changed(self, run_configinit): + config.instance.set_obj('fonts.hints', 'bold default_size SomeFamily') + + changed_options = [] + config.instance.changed.connect(changed_options.append) + config.instance.set_obj('fonts.default_size', '23pt') + + assert config.instance.get('fonts.hints') == 'bold 23pt SomeFamily' + assert 'fonts.hints' in changed_options + class TestQtArgs: |