Skip to content

Commit 69eebf8

Browse files
improve ctrl-Z suspend behavior
don't rerender all history automatic refresh on resume
1 parent 78f5304 commit 69eebf8

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

bpython/curtsies.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ def mainloop(config, locals_, banner, interp=None, paste=None, interactive=True)
7979

8080
request_refresh = input_generator.event_trigger(bpythonevents.RefreshRequestEvent)
8181
schedule_refresh = input_generator.scheduled_event_trigger(bpythonevents.ScheduledRefreshRequestEvent)
82-
request_reload = input_generator.threadsafe_event_trigger(bpythonevents.ReloadEvent)
82+
request_reload = input_generator.threadsafe_event_trigger(bpythonevents.ReloadEvent)
83+
interrupting_refresh = input_generator.threadsafe_event_trigger(lambda: None)
8384

8485
def on_suspend():
8586
window.__exit__(None, None, None)
@@ -88,6 +89,7 @@ def on_suspend():
8889
def after_suspend():
8990
input_generator.__enter__()
9091
window.__enter__()
92+
interrupting_refresh()
9193

9294
global repl # global for easy introspection `from bpython.curtsies import repl`
9395
with Repl(config=config,

bpython/curtsiesfrontend/repl.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ def sigwinch_handler(self, signum, frame):
399399
logger.info('decreasing scroll offset by %d to %d', cursor_dy, self.scroll_offset)
400400

401401
def sigtstp_handler(self, signum, frame):
402+
self.scroll_offset = len(self.lines_for_display)
402403
self.__exit__()
403404
self.on_suspend()
404405
os.kill(os.getpid(), signal.SIGTSTP)

0 commit comments

Comments
 (0)