From c4144a6e4b524631cad3113617ab64a909fd0503 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 9 Mar 2021 17:38:48 +0100 Subject: Add log-sensitive-keys debug flag --- doc/changelog.asciidoc | 3 +++ qutebrowser/keyinput/modeman.py | 11 ++++++----- qutebrowser/qutebrowser.py | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index c78fe556a..93a85866b 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -60,6 +60,9 @@ Changed - The `fileselect.*.command` settings now support file selectors writing the selected paths to stdout, which is used if no `{}` placeholder is contained in the configured command. +- The `--debug-flag` argument now understands a new `log-sensitive-keys` value + which logs all keypresses (including those in insert/passthrough/prompt/... + mode) for debugging. - The `readability` and `readability-js` userscripts now add a `qute-readability` CSS class to the page, so that it can be styled easily via a user stylesheet. diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index 08c5a151b..c00120596 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -86,9 +86,10 @@ def init(win_id: int, parent: QObject) -> 'ModeManager': hintmanager = hints.HintManager(win_id, parent=parent) objreg.register('hintmanager', hintmanager, scope='window', window=win_id, command_only=True) - modeman.hintmanager = hintmanager + log_sensitive_keys = 'log-sensitive-keys' in objects.debug_flags + keyparsers: ParserDictType = { usertypes.KeyMode.normal: modeparsers.NormalKeyParser( @@ -110,7 +111,7 @@ def init(win_id: int, parent: QObject) -> 'ModeManager': commandrunner=commandrunner, parent=modeman, passthrough=True, - do_log=False, + do_log=log_sensitive_keys, supports_count=False), usertypes.KeyMode.passthrough: @@ -120,7 +121,7 @@ def init(win_id: int, parent: QObject) -> 'ModeManager': commandrunner=commandrunner, parent=modeman, passthrough=True, - do_log=False, + do_log=log_sensitive_keys, supports_count=False), usertypes.KeyMode.command: @@ -130,7 +131,7 @@ def init(win_id: int, parent: QObject) -> 'ModeManager': commandrunner=commandrunner, parent=modeman, passthrough=True, - do_log=False, + do_log=log_sensitive_keys, supports_count=False), usertypes.KeyMode.prompt: @@ -140,7 +141,7 @@ def init(win_id: int, parent: QObject) -> 'ModeManager': commandrunner=commandrunner, parent=modeman, passthrough=True, - do_log=False, + do_log=log_sensitive_keys, supports_count=False), usertypes.KeyMode.yesno: diff --git a/qutebrowser/qutebrowser.py b/qutebrowser/qutebrowser.py index 64c175293..9e1fb91cd 100644 --- a/qutebrowser/qutebrowser.py +++ b/qutebrowser/qutebrowser.py @@ -173,6 +173,7 @@ def debug_flag_error(flag): log-requests: Log all network requests. log-cookies: Log cookies in cookie filter. log-scroll-pos: Log all scrolling changes. + log-sensitive-keys: Log keypresses in passthrough modes. stack: Enable Chromium stack logging. chromium: Enable Chromium logging. wait-renderer-process: Wait for debugger in renderer process. @@ -181,7 +182,7 @@ def debug_flag_error(flag): """ valid_flags = ['debug-exit', 'pdb-postmortem', 'no-sql-history', 'no-scroll-filtering', 'log-requests', 'log-cookies', - 'log-scroll-pos', 'stack', 'chromium', + 'log-scroll-pos', 'log-sensitive-keys', 'stack', 'chromium', 'wait-renderer-process', 'avoid-chromium-init', 'werror'] if flag in valid_flags: -- cgit v1.2.3-54-g00ecf