Coding style.
- The fill3.context can create the screen update task.
This commit is contained in:
parent
09d6dffce6
commit
f994d773d8
2 changed files with 13 additions and 18 deletions
|
|
@ -1139,14 +1139,9 @@ def main(root_path, loop, worker_count=None, editor_command=None, theme=None,
|
|||
for worker in screen.workers:
|
||||
loop.create_task(worker.future)
|
||||
if sys.stdout.isatty():
|
||||
update_task = loop.create_task(
|
||||
fill3.update_screen(screen, appearance_changed_event))
|
||||
try:
|
||||
with fill3.context(loop, appearance_changed_event, screen,
|
||||
exit_loop=exit_loop):
|
||||
loop.run_forever()
|
||||
finally:
|
||||
update_task.cancel()
|
||||
with fill3.context(loop, appearance_changed_event, screen,
|
||||
exit_loop=exit_loop):
|
||||
loop.run_forever()
|
||||
log.log_message("Program stopped.")
|
||||
else:
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -499,11 +499,16 @@ def context(loop, appearance_changed_event, screen_widget, exit_loop=None):
|
|||
signal_handler(loop, signal.SIGTERM, exit_loop), \
|
||||
terminal.alternate_buffer(), terminal.interactive(), \
|
||||
terminal.mouse_tracking():
|
||||
loop.add_reader(sys.stdin, on_terminal_input, screen_widget)
|
||||
update_task = loop.create_task(
|
||||
update_screen(screen_widget, appearance_changed_event))
|
||||
try:
|
||||
yield
|
||||
loop.add_reader(sys.stdin, on_terminal_input, screen_widget)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
loop.remove_reader(sys.stdin)
|
||||
finally:
|
||||
loop.remove_reader(sys.stdin)
|
||||
update_task.cancel()
|
||||
|
||||
|
||||
##########################
|
||||
|
|
@ -535,13 +540,8 @@ def _main():
|
|||
loop = asyncio.get_event_loop()
|
||||
appearance_changed_event = asyncio.Event()
|
||||
screen = _Screen(appearance_changed_event)
|
||||
update_task = loop.create_task(
|
||||
update_screen(screen, appearance_changed_event))
|
||||
try:
|
||||
with context(loop, appearance_changed_event, screen):
|
||||
loop.run_forever()
|
||||
finally:
|
||||
update_task.cancel()
|
||||
with context(loop, appearance_changed_event, screen):
|
||||
loop.run_forever()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue