Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove redraw flashing #123

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

Tired-Fox
Copy link
Contributor

All instances of redrawing will now call \x1b[H to go to home position and then draw over all characters on the screen. This removed screen flickering for many if not most of terminal emulators. When a full redraw is needed, when the terminal resizes, the redraw is set to full and will fully clear the screen instead of going to home.

@bczsalba
Copy link
Owner

bczsalba commented Jul 6, 2023

Hey! Sorry about the delay.

Unfortunately it seems this is gonna be a bit more complicated. When windows are drawn we only draw their current state, and as a result not doing a full clear is causing a whole lot of ghosting to happen.

I remember dealing with this a long time ago; there are ways to get around it. We could, for example keep track of windows that changed sizes and draw a "blank" that fills up their previous space, or we could also make the whole "home clear" an optional feature of the WindowManager, so people who rely on windows getting resized/moved around don't run into this problem.

I'll try to think of things we could do to get around it, but it's probably gonna involve having a new look at the compositor. As I mentioned in the Discord I do have a solution to this, but unfortunately it isn't compatible with practically any of PTG's underbelly.

Thank you!

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.

None yet

2 participants