summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-01-31 16:59:03 +0100
committerFlorian Bruhin <me@the-compiler.org>2020-01-31 17:00:50 +0100
commitc5048720d4a73bd8b6c90276d14e658edf1a57e6 (patch)
tree04c115f9fa847630ae729aa63e84f44437044097
parentbeaae377bf98bbaba22c39e37723c690aff275dc (diff)
downloadqutebrowser-c5048720d4a73bd8b6c90276d14e658edf1a57e6.tar.gz
qutebrowser-c5048720d4a73bd8b6c90276d14e658edf1a57e6.zip
Fix fonts.default_size with fonts.hints
Fixes #5214
-rw-r--r--qutebrowser/config/configinit.py2
-rw-r--r--qutebrowser/config/configtypes.py3
-rw-r--r--tests/unit/config/test_configinit.py19
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: