From 7c17af3889b15845fbccf9af07c224ca4c4dbe29 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 17 Aug 2016 12:42:24 +0200 Subject: [PATCH] Use ${_monospace} for default hints font --- doc/help/settings.asciidoc | 2 +- qutebrowser/config/config.py | 11 +++++++++++ qutebrowser/config/configdata.py | 2 +- tests/unit/config/test_config.py | 9 +++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/doc/help/settings.asciidoc b/doc/help/settings.asciidoc index 9c346a249..7f2041fcc 100644 --- a/doc/help/settings.asciidoc +++ b/doc/help/settings.asciidoc @@ -2194,7 +2194,7 @@ Default: +pass:[8pt ${_monospace}]+ === hints Font used for the hints. -Default: +pass:[bold 13px Monospace]+ +Default: +pass:[bold 13px ${_monospace}]+ [[fonts-debug-console]] === debug-console diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 43d439bac..931fbdabe 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -322,6 +322,16 @@ def _transform_hint_color(val): return val +def _transform_hint_font(val): + """Transformer for fonts -> hints.""" + match = re.fullmatch(r'(.*\d+p[xt]) Monospace', val) + if match: + # Close enough to the old default: + return match.group(1) + ' ${_monospace}' + else: + return val + + class ConfigManager(QObject): """Configuration manager for qutebrowser. @@ -407,6 +417,7 @@ class ConfigManager(QObject): ('colors', 'hints.bg'): _transform_hint_color, ('colors', 'hints.fg'): _transform_hint_color, ('colors', 'hints.fg.match'): _transform_hint_color, + ('fonts', 'hints'): _transform_hint_font, } changed = pyqtSignal(str, str) diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py index f7a5474b6..14f98e97a 100644 --- a/qutebrowser/config/configdata.py +++ b/qutebrowser/config/configdata.py @@ -1305,7 +1305,7 @@ def data(readonly=False): "Font used for the downloadbar."), ('hints', - SettingValue(typ.Font(), 'bold 13px Monospace'), + SettingValue(typ.Font(), 'bold 13px ${_monospace}'), "Font used for the hints."), ('debug-console', diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index e6205412f..e05f91f15 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -256,6 +256,15 @@ class TestTransformers: def test_hint_color(self, val, expected): assert config._transform_hint_color(val) == expected + @pytest.mark.parametrize('val, expected', [ + ('bold 12pt Monospace', 'bold 12pt ${_monospace}'), + ('23pt Monospace', '23pt ${_monospace}'), + ('bold 12pt ${_monospace}', 'bold 12pt ${_monospace}'), + ('bold 12pt Comic Sans MS', 'bold 12pt Comic Sans MS'), + ]) + def test_hint_font(self, val, expected): + assert config._transform_hint_font(val) == expected + class TestKeyConfigParser: