aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authoruser <user@clank>2026-09-09 20:14:03 +0200
committeruser <user@clank>2026-09-09 20:14:03 +0200
commita1e2c1817ac8d967519cd978742f6a59591ff959 (patch)
treeeca5b858d7c60a18d261d5c64fbc3a45ffcce255 /include
parentsearch: a scrollback search bar on /, matches highlighted (diff)
downloadslosh-a1e2c1817ac8d967519cd978742f6a59591ff959.tar.gz
slosh-a1e2c1817ac8d967519cd978742f6a59591ff959.tar.xz
slosh-a1e2c1817ac8d967519cd978742f6a59591ff959.zip
pane: shift consumed by the character is consumed, tell the encoder
935fb7e9 taught the legacy decoder to read the shift out of shifted punctuation, so / and ? could be two keys. But pane_send_key never set the consumed mods on the re-encoded event, and libghostty's kitty path only passes text through as text when no unconsumed modifier remains: a kitty-protocol pane (nvim) received : as CSI 59;2u -- shift+semicolon, no text -- and the command line never opened. :wq! was unreachable. Mark shift consumed when the event carries text, shift is held, and the text is not the unshifted character -- the same call a real terminal makes. Text the shift produced goes through as text; chords whose shift is real (shift+up, ctrl+shift+a, back-tab) keep their escapes, and a legacy pane sees no change.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions