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

Use Synchronized Output sequences #731

Open
valpackett opened this issue Sep 9, 2021 · 10 comments
Open

Use Synchronized Output sequences #731

valpackett opened this issue Sep 9, 2021 · 10 comments
Assignees
Labels
A-helix-term Area: Helix term improvements C-enhancement Category: Improvements

Comments

@valpackett
Copy link
Contributor

Describe your feature request

To avoid any possible visual glitches like flickering, many modern terminal emulators (WezTerm, Kitty, iTerm2, foot, mintty, …) support DEC mode 2026 as described in:

https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036

to allow applications like text editors to mark complete frames with begin and end markers.

Helix should ensure these are used.

@valpackett valpackett added the C-enhancement Category: Improvements label Sep 9, 2021
@kirawi kirawi added the A-helix-term Area: Helix term improvements label Sep 9, 2021
@pickfire
Copy link
Contributor

pickfire commented Sep 9, 2021

I believe this is upstream library dependent, not sure if the upstream libraries support it.

@kirawi
Copy link
Member

kirawi commented Sep 11, 2021

It looks like termwiz supports it, but there's no available release yet for the commits that implemented it.

@kchibisov
Copy link

What kind of upstream library this should go for? I can try to implement it in some way when I have time? It's not like a complicated escape sequence as a whole and more of just a marker that could be sent in a right point of time?

@the-mikedavis
Copy link
Member

If it isn't already implemented in crossterm (https://github.com/crossterm-rs/crossterm) it might make a good contribution there. Currently we use crossterm for terminat manipulation. I think in the long run we want to switch to termwiz though which already supports it

@kirawi
Copy link
Member

kirawi commented Jul 8, 2022

There's #1847, but it looks like it's stalled.

@the-mikedavis
Copy link
Member

This was added to crossterm recently in crossterm-rs/crossterm#756 but we will need detection (similar to #4939). I'll post a patch upstream to add the detection function

@k4lizen
Copy link

k4lizen commented Sep 28, 2024

Any progress on this? When I move and resize my windows around in kitty I get flicker even worse than the one in this issue: kovidgoyal/kitty#4395

@k4lizen
Copy link

k4lizen commented Sep 28, 2024

flicker.mp4

@kirawi
Copy link
Member

kirawi commented Sep 28, 2024

Someone still needs to add detection upstream.

@k4lizen
Copy link

k4lizen commented Sep 29, 2024

Could someone who understands more about this than me open a feature request for the detection upstream so the people working on crossterm at least know it's keeping this issue open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-helix-term Area: Helix term improvements C-enhancement Category: Improvements
Projects
None yet
Development

No branches or pull requests

6 participants