diff options
author | Marc Jauvin <marc.jauvin@gmail.com> | 2018-02-12 18:10:22 -0500 |
---|---|---|
committer | Marc Jauvin <marc.jauvin@gmail.com> | 2018-02-12 18:10:22 -0500 |
commit | d04fc291632a50058e7bbfabe33390175176dac6 (patch) | |
tree | 4426fef121d24fe86fd7086af7ebf8496772b518 /qutebrowser/keyinput/modeman.py | |
parent | c736cdf87faff1dd3964b25f0abe4dfa48df8438 (diff) | |
download | qutebrowser-d04fc291632a50058e7bbfabe33390175176dac6.tar.gz qutebrowser-d04fc291632a50058e7bbfabe33390175176dac6.zip |
save input_mode when entering/leaving mode
instead of when changing tab
Diffstat (limited to 'qutebrowser/keyinput/modeman.py')
-rw-r--r-- | qutebrowser/keyinput/modeman.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index e32830f50..5204c8068 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -267,6 +267,11 @@ class ModeManager(QObject): raise cmdexc.CommandError( "Mode {} can't be entered manually!".format(mode)) + if (config.val.tabs.mode_on_change == 'restore' and + m.name in ['insert', 'passthrough']): + window = objreg.get('main-window', scope='window', + window=self._win_id) + window.tabbed_browser.currentWidget().data.input_mode = m self.enter(m, 'command') @pyqtSlot(usertypes.KeyMode, str, bool) @@ -301,6 +306,11 @@ class ModeManager(QObject): """Leave the mode we're currently in.""" if self.mode == usertypes.KeyMode.normal: raise ValueError("Can't leave normal mode!") + if config.val.tabs.mode_on_change == 'restore': + window = objreg.get('main-window', scope='window', + window=self._win_id) + tab = window.tabbed_browser.currentWidget() + tab.data.input_mode = usertypes.KeyMode.normal self.leave(self.mode, 'leave current') def eventFilter(self, event): |