commit 9eed830
delthas
·
2025-12-23 11:22:03 +0000 UTC
parent 333c27f
Fix broken Compose input on ghostty See: https://github.com/ghostty-org/ghostty/discussions/10026
1 files changed,
+16,
-10
M
ui/ui.go
M
ui/ui.go
+16,
-10
1@@ -124,24 +124,30 @@ func New(config Config) (ui *UI, colors ConfigColors, err error) {
2 }
3 }
4 var vx *vaxis.Vaxis
5- vx, err = vaxis.New(vaxis.Options{
6+ opts := vaxis.Options{
7 DisableMouse: !config.Mouse,
8- CSIuBitMask: vaxis.CSIuDisambiguate | vaxis.CSIuReportEvents | vaxis.CSIuAlternateKeys | vaxis.CSIuAllKeys | vaxis.CSIuAssociatedText,
9+ CSIuBitMask: vaxis.CSIuDisambiguate | vaxis.CSIuReportEvents | vaxis.CSIuAlternateKeys | vaxis.CSIuAssociatedText, // | vaxis.CSIuAllKeys, // ,
10 WithTTY: config.WithTTY,
11 WithConsole: config.WithConsole,
12- })
13+ }
14+ vx, err = vaxis.New(opts)
15 if err != nil {
16 return
17 }
18- if strings.HasPrefix(vx.TerminalID(), "iTerm2") {
19+ restart := true
20+ switch {
21+ case strings.HasPrefix(vx.TerminalID(), "iTerm2"):
22 // see: https://gitlab.com/gnachman/iterm2/-/issues/12177
23+ opts.CSIuBitMask = vaxis.CSIuDisambiguate | vaxis.CSIuReportEvents | vaxis.CSIuAlternateKeys
24+ case strings.HasPrefix(vx.TerminalID(), "ghostty"):
25+ // see: https://github.com/ghostty-org/ghostty/discussions/10026
26+ opts.CSIuBitMask = vaxis.CSIuDisambiguate | vaxis.CSIuReportEvents | vaxis.CSIuAlternateKeys | vaxis.CSIuAssociatedText
27+ default:
28+ restart = false
29+ }
30+ if restart {
31 vx.Close()
32- vx, err = vaxis.New(vaxis.Options{
33- DisableMouse: !config.Mouse,
34- CSIuBitMask: vaxis.CSIuDisambiguate | vaxis.CSIuReportEvents | vaxis.CSIuAlternateKeys,
35- WithTTY: config.WithTTY,
36- WithConsole: config.WithConsole,
37- })
38+ vx, err = vaxis.New(opts)
39 if err != nil {
40 return
41 }