Enter KeyMode.normal directly in ModeManager.
We used to enter KeyMode.none and then with a zero-time singleShot QTimer enter the normal mode. This doesn't really make sense, and caused an exception if a keypress was processed before the timer fired. Fixes #433.
This commit is contained in:
parent
a463038834
commit
ab121a98da
|
|
@ -154,7 +154,7 @@ class ModeManager(QObject):
|
|||
self._win_id = win_id
|
||||
self._handlers = {}
|
||||
self.passthrough = []
|
||||
self.mode = usertypes.KeyMode.none
|
||||
self.mode = usertypes.KeyMode.normal
|
||||
self._releaseevents_to_pass = []
|
||||
self._forward_unbound_keys = config.get(
|
||||
'input', 'forward-unbound-keys')
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
import binascii
|
||||
import base64
|
||||
import itertools
|
||||
import functools
|
||||
|
||||
from PyQt5.QtCore import pyqtSlot, QRect, QPoint, QTimer, Qt
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout
|
||||
|
|
@ -112,8 +111,6 @@ class MainWindow(QWidget):
|
|||
modeman.init(self.win_id, self)
|
||||
|
||||
self._connect_signals()
|
||||
QTimer.singleShot(0, functools.partial(
|
||||
modeman.enter, win_id, usertypes.KeyMode.normal, 'init'))
|
||||
|
||||
# When we're here the statusbar might not even really exist yet, so
|
||||
# resizing will fail. Therefore, we use singleShot QTimers to make sure
|
||||
|
|
|
|||
|
|
@ -230,8 +230,8 @@ ClickTarget = enum('ClickTarget', ['normal', 'tab', 'tab_bg', 'window'])
|
|||
|
||||
|
||||
# Key input modes
|
||||
KeyMode = enum('KeyMode', ['none', 'normal', 'hint', 'command', 'yesno',
|
||||
'prompt', 'insert', 'passthrough'])
|
||||
KeyMode = enum('KeyMode', ['normal', 'hint', 'command', 'yesno', 'prompt',
|
||||
'insert', 'passthrough'])
|
||||
|
||||
|
||||
# Available command completions
|
||||
|
|
|
|||
Loading…
Reference in New Issue