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

Entire screen flickers when rebasing a screen full of commits #425

Closed
SuperSandro2000 opened this issue Feb 17, 2021 · 5 comments
Closed

Comments

@SuperSandro2000
Copy link

When I rebase ~50 commits the entire screen flickers every time I move the cursor.

@MitMaro
Copy link
Owner

MitMaro commented Feb 17, 2021

Thanks for the report! What terminal and OS are you using?

@SuperSandro2000
Copy link
Author

SuperSandro2000 commented Feb 17, 2021

bash version 5.0.17(1)-release in tmux over ssh in a Windows Terminal Preview.

I suspect that it redraws the entire screen every time I move my cursor instead of only the relevant parts.

@MitMaro
Copy link
Owner

MitMaro commented Feb 18, 2021

Thanks for the info. There isn't much that can be done here. Windows Terminal is fairly new and support for it is still not great. Hopefully, the team behind that project can improve the performance of the terminal.

I suspect that it redraws the entire screen every time I move my cursor instead of only the relevant parts.

This is tricky to do in a cross-platform way. Some terminals allow partial redraws, some do not. This may be something I decide to investigate and handle in the future.

I am also hoping that once crossterm-rs/crossterm#167 is addressed, I can do a proper double-buffer on render and the flicker should disappear.

@MitMaro MitMaro closed this as completed Feb 18, 2021
@SuperSandro2000
Copy link
Author

Windows Terminal is fairly new and support for it is still not great.

Not really. It supports almost everything a terminal should support. For example I can scroll all day in htop without anything flickering.

This is tricky to do in a cross-platform way. Some terminals allow partial redraws, some do not. This may be something I decide to investigate and handle in the future.

It should just work if you treat it like a normal Linux terminal. I am not using cmd I am using WSL in Windows Terminal which so far did support everything I threw it at like Konsole.

@nickolay
Copy link
Contributor

I also see flickering in WezTerm on Windows 10. Per their advice I recorded the session and see that the "clear" command is flushed for some reason:

[44.986176,"o","\u001b[2J"]
[45.001392,"o","\u001b[4m\u001b[HGit Interactive Rebase Tool           

I'm not sure how to debug it, since the escape codes printed are very much different when running in VSCode's debugger.

Anyway there's a new feature in cross-term crossterm-rs/crossterm#756, which should help here.

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

No branches or pull requests

3 participants