From 008b6623f662ec43a5320491f21c47f424169101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 21 Sep 2026 19:25:04 -0400 Subject: [PATCH] docs(tui): correct the VTE and WezTerm notes around the Shift+Enter hint --- crates/codegen/kigi-pager-render/src/terminal/mod.rs | 5 +++++ crates/codegen/kigi-pager-render/src/terminal/test.rs | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/crates/codegen/kigi-pager-render/src/terminal/mod.rs b/crates/codegen/kigi-pager-render/src/terminal/mod.rs index d3f53ee..b6b7e9d 100644 --- a/crates/codegen/kigi-pager-render/src/terminal/mod.rs +++ b/crates/codegen/kigi-pager-render/src/terminal/mod.rs @@ -438,6 +438,11 @@ impl TerminalContext { /// release carries the protocol). Two skips still deliver it — Apple /// Terminal drops the flags but `route_enter` polls CoreGraphics, and /// Windows console key records carry SHIFT with no protocol at all. + /// + /// KNOWN GAP: WezTerm inside screen or an old tmux gets Alt+Enter as the + /// advice while its own default binding spends that chord on + /// ToggleFullScreen. Neither chord reaches kigi there; the multiplexer + /// warning carries the real fix, and `\`+Enter still inserts a newline. pub fn shift_enter_unavailable(&self) -> bool { match self.kitty_skip_reason() { None | Some("apple_terminal") => false, diff --git a/crates/codegen/kigi-pager-render/src/terminal/test.rs b/crates/codegen/kigi-pager-render/src/terminal/test.rs index e483e6e..10b86eb 100644 --- a/crates/codegen/kigi-pager-render/src/terminal/test.rs +++ b/crates/codegen/kigi-pager-render/src/terminal/test.rs @@ -1443,7 +1443,7 @@ fn kitty_skip_vscode_over_tmux() { #[test] fn kitty_skip_vte_version() { - // VTE below 0.82 has no Kitty keyboard protocol and crossterm's probe + // No VTE release has the Kitty keyboard protocol and crossterm's probe // can false-positive on it. https://gitlab.gnome.org/GNOME/vte/-/issues/2601 let ctx = TerminalContext { vte_version: Some("7402".to_owned()), @@ -1486,7 +1486,8 @@ fn shift_enter_unavailable_on_every_vte() { fn shift_enter_unavailable_follows_every_kitty_skip() { // A skipped protocol means the modifier never arrives, whatever the // reason — JediTerm, screen and a multiplexer that eats extended keys - // included. Apple Terminal is the one skip with another way in. + // included. Apple Terminal and Windows Terminal are the two skips with + // another way in. for ctx in [ TerminalContext { brand: TerminalName::JetBrains, @@ -1506,7 +1507,7 @@ fn shift_enter_unavailable_follows_every_kitty_skip() { tmux_version: Some("3.2".to_owned()), ..Default::default() }, - // A VTE that speaks the protocol still loses it to the multiplexer. + // A VTE carrying a recent VTE_VERSION is no different. TerminalContext { brand: TerminalName::Vte, env_brand: TerminalName::Vte,