fill3: Always put ctrl-c and ctrl-z in raw mode.

- Rename interactive context to raw.
- Explicitly handle ctrl-c.
- Ctrl-z for backgrounding is always disabled.
This commit is contained in:
Andrew Hamilton 2022-01-04 17:50:36 +10:00
parent dd5aa524a7
commit ae07f1cab3
3 changed files with 8 additions and 10 deletions

View file

@ -455,7 +455,7 @@ def signal_handler(loop, signal_, func):
loop.remove_signal_handler(signal_)
async def tui(title, screen_widget, raw_ctrl_c_and_z=True):
async def tui(title, screen_widget):
global APPEARANCE_CHANGED_EVENT
global SHUTDOWN_EVENT
APPEARANCE_CHANGED_EVENT = asyncio.Event()
@ -464,8 +464,7 @@ async def tui(title, screen_widget, raw_ctrl_c_and_z=True):
with (signal_handler(loop, signal.SIGWINCH, lambda: draw_screen(screen_widget)),
signal_handler(loop, signal.SIGINT, SHUTDOWN_EVENT.set),
signal_handler(loop, signal.SIGTERM, SHUTDOWN_EVENT.set), terminal.title(title),
terminal.alternate_buffer(), terminal.interactive(raw_ctrl_c_and_z=raw_ctrl_c_and_z),
terminal.mouse_tracking()):
terminal.alternate_buffer(), terminal.raw(), terminal.mouse_tracking()):
update_task = asyncio.create_task(update_screen(screen_widget))
try:
loop.add_reader(sys.stdin, on_terminal_input, screen_widget)