Skip to content

fix: keep quit-confirmation dialog visible on idle frames#1685

Closed
cantona wants to merge 1 commit into
raphamorim:mainfrom
cantona:fix/quit-dialog-always-present
Closed

fix: keep quit-confirmation dialog visible on idle frames#1685
cantona wants to merge 1 commit into
raphamorim:mainfrom
cantona:fix/quit-dialog-always-present

Conversation

@cantona

@cantona cantona commented Jun 25, 2026

Copy link
Copy Markdown

The ConfirmQuit dialog is drawn into sugarloaf before screen.render(), but render() calls discard_frame() whenever should_present is false — i.e. no panel damage and no animation, which is exactly the case while the dialog is up over an idle terminal. The dialog draws were discarded and only reached the screen on frames a cursor blink (or other animation) happened to force, so the prompt flickered in and out ('sometimes I can't see it').

Add a force_present flag to render(), set while the route is ConfirmQuit, so the dialog frame is always presented.

Standalone, based on main.

The ConfirmQuit dialog is drawn into sugarloaf before screen.render(),
but render() calls discard_frame() whenever should_present is false
(no panel damage and no animation) -- which is exactly the case while
the dialog is up on an idle terminal. The dialog was thrown away and
only appeared on frames a cursor blink happened to force, so it
flickered in and out ('sometimes cannot see it'). Add a force_present
flag to render(), set while in ConfirmQuit, so the dialog frame is
always presented.
@cantona cantona closed this Jun 29, 2026
@cantona

cantona commented Jun 29, 2026

Copy link
Copy Markdown
Author

no needed. 89c5744 fixed it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant