Ctrl-Tab and Ctrl-Shift-Tab are actually valid keybindings. Teach keybindings.py that some items may have more than one keybinding by supporting optional tuples in defaults.
This commit is contained in:
parent
f37324303b
commit
0a6acc19dc
|
@ -105,8 +105,8 @@ Defaults = {
|
||||||
'zoom_normal' : '<Ctrl>0',
|
'zoom_normal' : '<Ctrl>0',
|
||||||
'new_root_tab' : '<Ctrl><Shift><Alt>T',
|
'new_root_tab' : '<Ctrl><Shift><Alt>T',
|
||||||
'new_tab' : '<Ctrl><Shift>T',
|
'new_tab' : '<Ctrl><Shift>T',
|
||||||
'go_next' : '<Ctrl><Shift>N',
|
'go_next' : ('<Ctrl><Shift>N','<Ctrl>Tab'),
|
||||||
'go_prev' : '<Ctrl><Shift>P',
|
'go_prev' : ('<Ctrl><Shift>P','<Ctrl><Shift>Tab'),
|
||||||
'split_horiz' : '<Ctrl><Shift>O',
|
'split_horiz' : '<Ctrl><Shift>O',
|
||||||
'split_vert' : '<Ctrl><Shift>E',
|
'split_vert' : '<Ctrl><Shift>E',
|
||||||
'close_term' : '<Ctrl><Shift>W',
|
'close_term' : '<Ctrl><Shift>W',
|
||||||
|
|
|
@ -32,11 +32,15 @@ class TerminatorKeybindings:
|
||||||
def reload(self):
|
def reload(self):
|
||||||
self._lookup = {}
|
self._lookup = {}
|
||||||
self._masks = 0
|
self._masks = 0
|
||||||
for action, binding in self.keys.items():
|
for action, bindings in self.keys.items():
|
||||||
|
if not isinstance(bindings, tuple):
|
||||||
|
bindings = (bindings,)
|
||||||
|
|
||||||
|
for binding in bindings:
|
||||||
try:
|
try:
|
||||||
keyval, mask = self._parsebinding(binding)
|
keyval, mask = self._parsebinding(binding)
|
||||||
|
# Does much the same, but with poorer error handling.
|
||||||
#keyval, mask = gtk.accelerator_parse(binding)
|
#keyval, mask = gtk.accelerator_parse(binding)
|
||||||
#mask = int(mask)
|
|
||||||
except KeymapError, e:
|
except KeymapError, e:
|
||||||
e.action = action
|
e.action = action
|
||||||
raise e
|
raise e
|
||||||
|
|
Loading…
Reference in New Issue