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

Cursor blinking within tmux stops after upgrade kitty to 0.22 #3906

Closed
laggardkernel opened this issue Aug 7, 2021 · 2 comments
Closed

Cursor blinking within tmux stops after upgrade kitty to 0.22 #3906

laggardkernel opened this issue Aug 7, 2021 · 2 comments
Labels

Comments

@laggardkernel
Copy link

Describe the bug

Formerly, the cursor blinks normally within tmux. After upgrading kitty to 0.22.x. It doesn't blink within tmux anymore.

Envi

To Reproduce

Environments

  • kitty with default config
  • tmux 3.2a with following minimal config
  • OS: macOS 10.14.6
# minimal tmux conf: test.conf
set-option -gs default-terminal "tmux-256color"
set-option -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[5 q'

Steps to reproduce the behavior:

  1. Open kitty with default config.
  2. Start tmux with tmux -f ./test.conf -S ./test.socket

Then the cursor stops blinking. Downgrading kitty back to 0.21. The problem disappears.

@kovidgoyal
Copy link
Owner

This is a bug in tmux that was masked by a bug in kitty. The bug in
kitty was fixed in 0.22.0 (see #3808)

Run

kitty --dump-commands tmux

In the list of commands tmux sends kitty you will see
screen_reset_mode 12 1

This is the escape code

CSI ? 12 l

which is supposed to stop the cursor blinking, as described
here: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
(search the page for Ps = 1 2)

I dont use tmux so I cant comment on why it is doing this or how to get
it to stop doing it.

@laggardkernel
Copy link
Author

@kovidgoyal Thanks for your reply. The clue you gave me did help.

To be frank, I know nothing about the source code of tmux. But searching 12l gives no result in the source code. One of the possible reason is that tmux is firing cnorm.

❯ infocmp xterm-kitty | grep '12l'
        clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M,

I tried to override cnorm within tmux and my cursor blinks now.

# tmux.conf
# change \E[?12l to \E[?12h
set-option -ga terminal-overrides ',xterm-kitty:cnorm=\E[?12h\E[?25h'

Ref

Clues lead me to the current solution

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants