mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-10-26 15:13:22 +03:00
parent
194454715f
commit
3068846d8f
@ -11,6 +11,7 @@
|
|||||||
:sc_first_window: pass:quotes[`ctrl+shift+1`]
|
:sc_first_window: pass:quotes[`ctrl+shift+1`]
|
||||||
:sc_fourth_window: pass:quotes[`ctrl+shift+4`]
|
:sc_fourth_window: pass:quotes[`ctrl+shift+4`]
|
||||||
:sc_increase_font_size: pass:quotes[`ctrl+shift+equal`]
|
:sc_increase_font_size: pass:quotes[`ctrl+shift+equal`]
|
||||||
|
:sc_input_unicode_character: pass:quotes[`ctrl+shift+u`]
|
||||||
:sc_move_tab_backward: pass:quotes[`ctrl+shift+,`]
|
:sc_move_tab_backward: pass:quotes[`ctrl+shift+,`]
|
||||||
:sc_move_tab_forward: pass:quotes[`ctrl+shift+.`]
|
:sc_move_tab_forward: pass:quotes[`ctrl+shift+.`]
|
||||||
:sc_move_window_backward: pass:quotes[`ctrl+shift+b`]
|
:sc_move_window_backward: pass:quotes[`ctrl+shift+b`]
|
||||||
@ -226,6 +227,7 @@ windows are:
|
|||||||
|Decrease font size | {sc_decrease_font_size}
|
|Decrease font size | {sc_decrease_font_size}
|
||||||
|Restore font size | {sc_restore_font_size}
|
|Restore font size | {sc_restore_font_size}
|
||||||
|Toggle fullscreen | {sc_toggle_fullscreen}
|
|Toggle fullscreen | {sc_toggle_fullscreen}
|
||||||
|
|Input unicode character | {sc_input_unicode_character}
|
||||||
|Pass current selection to program | {sc_pass_selection_to_program}
|
|Pass current selection to program | {sc_pass_selection_to_program}
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -88,5 +88,5 @@ def main(args=sys.argv):
|
|||||||
handler = UnicodeInput()
|
handler = UnicodeInput()
|
||||||
loop.loop(handler)
|
loop.loop(handler)
|
||||||
if handler.current_char and loop.return_code == 0:
|
if handler.current_char and loop.return_code == 0:
|
||||||
print(hex(ord(handler.current_char))[2:])
|
print('OK:', hex(ord(handler.current_char))[2:])
|
||||||
raise SystemExit(loop.return_code)
|
raise SystemExit(loop.return_code)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
from functools import partial
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from weakref import WeakValueDictionary
|
from weakref import WeakValueDictionary
|
||||||
|
|
||||||
@ -196,6 +197,12 @@ def on_child_death(self, window_id):
|
|||||||
window = self.window_id_map.pop(window_id, None)
|
window = self.window_id_map.pop(window_id, None)
|
||||||
if window is None:
|
if window is None:
|
||||||
return
|
return
|
||||||
|
if window.action_on_close:
|
||||||
|
try:
|
||||||
|
window.action_on_close(window)
|
||||||
|
except Exception:
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
os_window_id = window.os_window_id
|
os_window_id = window.os_window_id
|
||||||
window.destroy()
|
window.destroy()
|
||||||
tm = self.os_window_map.get(os_window_id)
|
tm = self.os_window_map.get(os_window_id)
|
||||||
@ -366,6 +373,29 @@ def display_scrollback(self, window, data):
|
|||||||
SpecialWindow(
|
SpecialWindow(
|
||||||
self.opts.scrollback_pager, data, _('History'), overlay_for=window.id))
|
self.opts.scrollback_pager, data, _('History'), overlay_for=window.id))
|
||||||
|
|
||||||
|
def input_unicode_character(self):
|
||||||
|
w = self.active_window
|
||||||
|
tab = self.active_tab
|
||||||
|
if w is not None and tab is not None and w.overlay_for is None:
|
||||||
|
overlay_window = tab.new_special_window(
|
||||||
|
SpecialWindow(
|
||||||
|
['kitty', '+runpy', 'from kittens.unicode_input.main import main; main()'],
|
||||||
|
overlay_for=w.id))
|
||||||
|
overlay_window.action_on_close = partial(self.send_unicode_character, w.id)
|
||||||
|
|
||||||
|
def send_unicode_character(self, target_window_id, source_window):
|
||||||
|
w = self.window_id_map.get(target_window_id)
|
||||||
|
if w is not None:
|
||||||
|
output = str(source_window.screen.linebuf.line(0))
|
||||||
|
if output.startswith('OK: '):
|
||||||
|
try:
|
||||||
|
text = chr(int(output.partition(' ')[2], 16))
|
||||||
|
except Exception:
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
else:
|
||||||
|
w.paste(text)
|
||||||
|
|
||||||
def switch_focus_to(self, window_idx):
|
def switch_focus_to(self, window_idx):
|
||||||
tab = self.active_tab
|
tab = self.active_tab
|
||||||
tab.set_active_window_idx(window_idx)
|
tab.set_active_window_idx(window_idx)
|
||||||
@ -491,6 +521,8 @@ def new_window(self, *args):
|
|||||||
|
|
||||||
def new_window_with_cwd(self, *args):
|
def new_window_with_cwd(self, *args):
|
||||||
w = self.active_window
|
w = self.active_window
|
||||||
|
if w is None:
|
||||||
|
return self.new_window(*args)
|
||||||
cwd_from = w.child.pid if w is not None else None
|
cwd_from = w.child.pid if w is not None else None
|
||||||
self._new_window(args, cwd_from=cwd_from)
|
self._new_window(args, cwd_from=cwd_from)
|
||||||
|
|
||||||
|
@ -328,6 +328,7 @@ map ctrl+shift+equal increase_font_size
|
|||||||
map ctrl+shift+minus decrease_font_size
|
map ctrl+shift+minus decrease_font_size
|
||||||
map ctrl+shift+backspace restore_font_size
|
map ctrl+shift+backspace restore_font_size
|
||||||
map ctrl+shift+f11 toggle_fullscreen
|
map ctrl+shift+f11 toggle_fullscreen
|
||||||
|
map ctrl+shift+u input_unicode_character
|
||||||
|
|
||||||
# Sending arbitrary text on shortcut key presses
|
# Sending arbitrary text on shortcut key presses
|
||||||
# You can tell kitty to send arbitrary (UTF-8) encoded text to
|
# You can tell kitty to send arbitrary (UTF-8) encoded text to
|
||||||
|
@ -87,6 +87,7 @@ def setup_colors(screen, opts):
|
|||||||
class Window:
|
class Window:
|
||||||
|
|
||||||
def __init__(self, tab, child, opts, args, override_title=None):
|
def __init__(self, tab, child, opts, args, override_title=None):
|
||||||
|
self.action_on_close = None
|
||||||
self.override_title = override_title
|
self.override_title = override_title
|
||||||
self.overlay_window_id = None
|
self.overlay_window_id = None
|
||||||
self.overlay_for = None
|
self.overlay_for = None
|
||||||
|
Loading…
Reference in New Issue
Block a user