mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-06-25 10:27:24 +00:00
Port visual_window_select to use a keyboard mode
This commit is contained in:
parent
9e815212dc
commit
c064a2e559
1 changed files with 5 additions and 4 deletions
|
|
@ -1438,7 +1438,8 @@ class Boss:
|
|||
w = self.select_window_in_tab_using_overlay(tab, choose_msg, only_window_ids)
|
||||
self.current_visual_select.window_used_for_selection_id = 0 if w is None else w.id
|
||||
return
|
||||
pending_sequences: SubSequenceMap = {}
|
||||
km = KeyboardMode('__visual_select__')
|
||||
km.end_on_action = True
|
||||
fmap = get_name_to_functional_number_map()
|
||||
alphanumerics = get_options().visual_window_select_characters
|
||||
for idx, window in tab.windows.iter_windows_with_number(only_visible=True):
|
||||
|
|
@ -1451,11 +1452,11 @@ class Boss:
|
|||
window.screen.set_window_char(ch)
|
||||
self.current_visual_select.window_ids.append(window.id)
|
||||
for mods in (0, GLFW_MOD_CONTROL, GLFW_MOD_CONTROL | GLFW_MOD_SHIFT, GLFW_MOD_SUPER, GLFW_MOD_ALT, GLFW_MOD_SHIFT):
|
||||
pending_sequences[(SingleKey(mods=mods, key=ord(ch.lower())),)] = [ac]
|
||||
km.keymap[SingleKey(mods=mods, key=ord(ch.lower()))].append(ac)
|
||||
if ch in string.digits:
|
||||
pending_sequences[(SingleKey(mods=mods, key=fmap[f'KP_{ch}']),)] = [ac]
|
||||
km.keymap[SingleKey(mods=mods, key=fmap[f'KP_{ch}'])].append(ac)
|
||||
if len(self.current_visual_select.window_ids) > 1:
|
||||
self.set_pending_sequences(pending_sequences, default_pending_action='visual_window_select_action_trigger 0')
|
||||
self._push_keyboard_mode(km)
|
||||
redirect_mouse_handling(True)
|
||||
self.mouse_handler = self.visual_window_select_mouse_handler
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue