File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change 1515import json
1616import os
1717import selectors
18+ import signal
1819import sys
1920from codecs import getincrementaldecoder
2021from functools import partial
2122from threading import Event , Thread
2223
23- from .. import events , log
24+ from .. import events , log , messages
2425from .._xterm_parser import XTermParser
2526from ..app import App
2627from ..driver import Driver
@@ -88,6 +89,15 @@ def start_application_mode(self) -> None:
8889
8990 loop = asyncio .get_running_loop ()
9091
92+ def do_exit () -> None :
93+ """Callback to force exit."""
94+ asyncio .run_coroutine_threadsafe (
95+ self ._app ._post_message (messages .ExitApp ()), loop = loop
96+ )
97+
98+ for _signal in (signal .SIGINT , signal .SIGTERM ):
99+ loop .add_signal_handler (_signal , do_exit )
100+
91101 self .write ("\x1b [?1049h" ) # Alt screen
92102 self ._enable_mouse_support ()
93103
You can’t perform that action at this time.
0 commit comments