Skip to content

Conversation

2asoft
Copy link
Contributor

@2asoft 2asoft commented Aug 3, 2025

The CSI > u sequence (push) should default omitted flags to 0 per the Kitty keyboard protocol specification. Previously, omitted flags incorrectly defaulted to 1, causing progressive enhancements to be enabled when they should remain disabled.

This fix ensures push with no flags (printf "\e[>u") correctly sets flags to 0, matching the protocol specification and making push behavior consistent with the existing CSI = u implementation introduced in #3942.

Fixes #4333.

…equence

The CSI > u sequence (push) should default omitted flags to 0 per the Kitty
keyboard protocol specification. Previously, omitted flags incorrectly
defaulted to 1, causing progressive enhancements to be enabled when they
should remain disabled.

This fix ensures push with no flags (printf "\e[>u") correctly sets flags
to 0, matching the protocol specification and making push behavior
consistent with the existing CSI = u implementation.

Author:    Anton Afanasyev <[email protected]>
@2asoft
Copy link
Contributor Author

2asoft commented Aug 3, 2025

I think some basic tests for this functionality would be useful, but I am not sure of a good way to write them. Open to suggestions there.

@aymanbagabas
Copy link

Hi there! I've encountered this working on Bubble Tea v2 and had to make it use the CSI = notation to work around this and make Kitty keyboard work properly in Bubble Tea applications within Zellij.

CC/ @imsnif

@imsnif
Copy link
Member

imsnif commented Aug 8, 2025

Good catch, thank you!

@imsnif imsnif merged commit f4e22a2 into zellij-org:main Aug 8, 2025
7 checks passed
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

Successfully merging this pull request may close these issues.

Kitty keyboard protocol: CSI > u with omitted flags fails to set flags to 0

3 participants