Skip to content

Add feature flag for turning off keyboard protocols#11056

Merged
faho merged 1 commit into
fish-shell:Integration_4.0.0from
faho:protocols-feature-flag
Feb 11, 2025
Merged

Add feature flag for turning off keyboard protocols#11056
faho merged 1 commit into
fish-shell:Integration_4.0.0from
faho:protocols-feature-flag

Conversation

@faho

@faho faho commented Jan 16, 2025

Copy link
Copy Markdown
Member

To work around terminal bugs.

The flag "keyboard-protocols" defaults to "on" and enables keyboard protocols, but can be turned off by setting "no-keyboard-protocols".

This has downsides as a feature flag - if you use multiple terminals and one of them can't do it you'll have to disable it in all, but anything else would require us to hook this up to env-dispatch, and ensure that we turn the protocols off when the flag is disabled.

Since this is a temporary inconvenience, this would be okay to ask zellij and Jetbrains-with-WSL users.

TODOs:

  • Changes to fish usage are reflected in user documentation/manpages.
  • Tests have been added for regressions fixed
  • User-visible changes noted in CHANGELOG.rst

To work around terminal bugs.

The flag "keyboard-protocols" defaults to "on" and enables keyboard protocols,
but can be turned off by setting "no-keyboard-protocols".

This has downsides as a feature flag - if you use multiple terminals and
one of them can't do it you'll have to disable it in all,
but anything else would require us to hook this up to env-dispatch,
and ensure that we turn the protocols *off* when the flag is disabled.

Since this is a temporary inconvenience, this would be okay to ask
zellij and Jetbrains-with-WSL users.
@faho faho force-pushed the protocols-feature-flag branch from 9fba190 to 91274a6 Compare January 16, 2025 12:40
@zanchey

zanchey commented Jan 16, 2025

Copy link
Copy Markdown
Member

My only concern is that if the broken terminals get fixed, how do users know to turn the flag back off?

@faho

faho commented Jan 16, 2025

Copy link
Copy Markdown
Member Author

I guess they'll have to try regularly?

That's fundamental to anything that allows you to turn it off - even if this were a shell variable you'd have to remove it again if your terminal is fixed.

Tho at a certain point we'll phase this flag out again (as all feature flags should be), which would re-enable it.

And it's not like not having kitty keyboard is some horrible fate - we've not had it for decades, you can live without it for a bit longer. Sure, it's nicer to have it, but on the whole if the alternative is "my terminal is unusable" like with zellij? The choice is clear.

@faho faho modified the milestones: fish 4.0, fish 4.0-final Feb 5, 2025
@zanchey

zanchey commented Feb 11, 2025

Copy link
Copy Markdown
Member

OK, I think it's fine to include this as an escape hatch for 4.0.

@krobelus

Copy link
Copy Markdown
Contributor

For 4.0 sure but as of today it's not needed in master.
It's a shame we can't use fish | sed ... to filter out problematic sequences.

@faho faho merged commit 9c40f72 into fish-shell:Integration_4.0.0 Feb 11, 2025
@faho faho deleted the protocols-feature-flag branch March 20, 2025 08:39
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Mar 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants