From 593a2fe4ec4a2791c961c3825695a189b656d912 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 23 Jun 2014 08:05:52 +0200 Subject: [PATCH] Make it configurable whether to leave insertmode on click --- qutebrowser/config/configdata.py | 4 ++++ qutebrowser/widgets/webview.py | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py index b03ea27f5..2177a67de 100644 --- a/qutebrowser/config/configdata.py +++ b/qutebrowser/config/configdata.py @@ -370,6 +370,10 @@ DATA = OrderedDict([ "Whether to switch to insert mode when clicking flash and other " "plugins."), + ('auto-leave-insert-mode', + SettingValue(types.Bool(), 'true'), + "Whether to leave insert mode if a non-editable element is clicked."), + ('auto-insert-mode', SettingValue(types.Bool(), 'true'), "Whether to automatically enter insert mode if an editable element " diff --git a/qutebrowser/widgets/webview.py b/qutebrowser/widgets/webview.py index 67d5bff14..c478f0f17 100644 --- a/qutebrowser/widgets/webview.py +++ b/qutebrowser/widgets/webview.py @@ -264,10 +264,9 @@ class WebView(QWebView): log.mouse.debug("Clicked editable element!") modeman.enter('insert', 'click') else: - # We don't leave the insert mode here as _is_editable is just an - # approximation, and the user will get annoyed if insertmode is - # left with every click. log.mouse.debug("Clicked non-editable element!") + if config.get('input', 'auto-leave-insert-mode'): + modeman.maybe_leave('insert', 'click') def _mousepress_opentarget(self, e): """Set the open target when something was clicked.