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

Support DECSLRM (SMGLR, SMGLP, SMGRP) - Set Left and Right Margins for better scrolling performance in multi-pane TUIs #4285

Open
aktau opened this issue Dec 2, 2022 · 3 comments
Labels
area/parser help wanted type/enhancement Features or improvements to existing features

Comments

@aktau
Copy link

aktau commented Dec 2, 2022

Ref. #2358

Also known as Set Left and Right Margins. This feature is used by terminal applications like tmux and (neo)vim to optimize pane scrolling. Real xterm supports it, many not-real-xterms don't, so Neovim patches out this functionality for xterm pretenders (which it tries to detect via the XTERM_VERSION environment variable).

Right now, forcing Neovim to use the smglr results in this: https://asciinema.org/a/Qcgm1znQy3nE8DnCc0jnrjXMi (versus not using them).

@aktau aktau changed the title Support DECSLRM (SMGLR, SMGLP, SMGRP) Support DECSLRM (SMGLR, SMGLP, SMGRP) - Set Left and Right Margins for better scrolling performance in multi-pane TUIs Dec 2, 2022
@jerch jerch added help wanted type/enhancement Features or improvements to existing features area/parser labels Dec 2, 2022
@jerch
Copy link
Member

jerch commented Dec 2, 2022

@aktau Yepp, left-right scroll margin support is quite important for any more modern TUI-like terminal interaction with partial screen updates. I wanted to implement this for quite some time, but kinda never got down to it.

If anyone feels ready to implement this in the near future - plz go for it. I'll mark the issue as "help wanted", but plz note that it involves quite some changes in several sequence functions and needs some knowledge of terminal mechs, so it is not a "good first issue".

If no one picks it up - I'll see if and when I can get down it myself, as it is still on my long-term todo list.

@aktau
Copy link
Author

aktau commented Dec 2, 2022

Thanks! Looking forward to anyone having a shot at this.

@jerch
Copy link
Member

jerch commented Dec 3, 2022

Did I really write modern? 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/parser help wanted type/enhancement Features or improvements to existing features
Projects
None yet
Development

No branches or pull requests

2 participants