-
-
Notifications
You must be signed in to change notification settings - Fork 667
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
Terminfo/tmux sync feature does not work #999
Comments
wezterm nightly builds implement this spec: https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036 For tmux to have flicker free updates then tmux itself needs to support using that sequence for its output. I'm not sure if tmux supports that for input (so tmux itself knows when the embedded application is sync'd), for its output, or for both input and output. The terminfo option you mentioned doesn't match the synchronized output spec that wezterm implements; I think you probably want |
@wez I compiled with Here's what I had:
Nothing changed with `Sync=\E[?2026%?%p1%{1}%-%tl%eh`` Do you think I am missing something? @nicm could comment your question regarding tmux #999 (comment) For Alacritty, I have set term to be xterm-256color, and it seems to have implemented it things better than every other terminal I have tried this on. Even multiple |
Also, I just updated kitty term (had not used it since installing a 6 months ago), and without doing anything manually to its terminfo, it just worked. The previous version had the same flickering issue reported here. |
Adding |
@nicm I tried these settings in my tmux conf file:
At this point all of my terminfos too have this setting Am I missing something?? or is the syntax incorrect? |
Logs? |
If you have |
It looks like this terminal supports |
@nicm I tried with your patch, it slows down wezterm even more with I have tried the inbuilt paning-windowing system of wezterm, and it does not have any of these problems. So seems there is some missing link between wezterm and tmux. I moved completely to tmux for paning-windowing given its more portable way to do that among other benefits for my workflow. |
A terminal managing multiple panes/windows itself is always likely to be faster than with tmux because they do not need to feed two input streams into one output stream, limited by the tty buffer size (which on macOS is small) and using one cursor. But there is no reason it should necessarily be slower than other terminals. If you are running with any Are you splitting panes left-right or top-bottom? If the terminal does not support margins, the former will be slower than the latter. If you do |
@nicm I have attached screencasts comparing wezterm and alacritty for same setup (even same session).
wezterm.mp4
alacritty.mp4I think your patch might be still good, if I have some more reasonable log printing instead of atrocious Not sure if the difference in behavior of alacritty and wezterm is because of their own performance numbers (where tmux might not be able to help). For example read the commit message of from alacritty repo alacritty/alacritty@3c61e07
|
This could be a performance/tuning issue in wezterm; there's a lot that's in flux in the nightly builds at the moment. |
@wez Setting |
I also observed the lag with flickering of the cursor in the tmux pane when running |
Based on your comments in #1102 (comment) it sounds like this is actually working for you now, so I'm closing this! |
For whatever reason, using alacritty-xtermlike does not work even if we install the terminfo entries. This is a semi-broken workaround for now (24-bit colors don't actually work). If we don't do this, we run into an odd issue where the panes get littered with text like =2s which appears to be a tmux thing (it is observable in tmux server logs). This issue might be relevant: wez/wezterm#999.
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
Describe the bug
Cursor flickers in a tmux pane when there is activity in another tmux pane. Tmux has a new sync feature that syncs the updates before rendering a frame (afaik I understand). This is made possible by some new sync feature in terminfo.
From
man tmux
's TERMINFO EXTENSIONS section:Here's a video show the problem:
syncwez.mp4
Environment (please complete the following information):
To Reproduce
Open tmux, create a few panes, run
>>yes test
in one pane, open nvim/vim in another and try typing something.I tried adding
Sync=\EP=%p1%ds\E\\,
to wezterm.ti and recompiling it, it didn't change anything with that.Also, I tried with my modified xterm-256color. It didn't work with that either...
This used to be a problem on alacritty, iTerm2, etc. But not since I have followed the steps here alacritty/alacritty#4904 (comment), and since alacritty implemented the feature: alacritty/alacritty#4768
P.S. entire TERMINFO EXTENSIONS section from
man tmux
:The text was updated successfully, but these errors were encountered: