Jon Parise
00fe956b3b
bash: always send "end of command" prompt sequence
...
I noticed that both wezterm[0] and the OSC 133 reference script[1] (upon
which wezterm and our bash integration appear to be based) always send
the "end of prompt" sequence in their precmd functions (except during
their first execution, when no previous command has been executed).
This is a subtle logical difference: `$_ghostty_executing=""` (first
run) versus `$_ghostty_executing="0"` (reentrancy check). I'm not sure
how much a difference it makes except in rare edge case scenarios, but I
think it makes sense to be consistent and always report the end of the
current command.
[0] https://github.com/wez/wezterm/blob/main/assets/shell-integration/wezterm.sh#L479
[1] https://gitlab.freedesktop.org/Per_Bothner/specifications/-/blob/master/proposals/prompts-data/shell-integration.bash
2024-07-18 10:31:41 -04:00
Mitchell Hashimoto
a2f0dbcecf
Merge pull request #1955 from ghostty-org/ibsr
...
terminal: implement in-band size reports (Mode 2048)
2024-07-17 19:54:24 -07:00
Mitchell Hashimoto
6ac13034fe
config: font-family CLI flags will clear font families set in files
...
This is a quality of life UX change. font-family is a repeatable
configuration where each subsequent value will be added as a fallback
font.
This introduces a UX gotcha where if a font was set in a config file,
the CLI args (which are loaded later) would _append_ to the font
families. This has never once been the behavior I've wanted. Previously,
you'd have to do `--font-family=""` which is clunky.
This change makes it so that CLI font-family flags will automatically
clear the families set in the configuration file.
2024-07-17 11:59:15 -07:00
Mitchell Hashimoto
306e9f8bb6
config: -e CLI flag automatically implies gtk-single-instance=false
...
`gtk-single-instance` should already be doing desktop-only detection and
in most cases it does. But there are some cases where it isn't and we
haven't quite tracked it down yet.
In any case, when `-e` is used from the CLI, we definitely do not want
to launch in single instance mode because `-e` is typically used in
scripts or for one-off instances. This forces gtk-single-instance to
false.
2024-07-17 11:17:15 -07:00
Mitchell Hashimoto
137ba66211
terminal: implement in-band size reports (Mode 2048)
...
https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83
2024-07-17 10:18:15 -07:00
Mitchell Hashimoto
360e4f690f
terminal/kitty: change graphics base64 decode to use simdutf
2024-07-16 20:21:09 -07:00
Mitchell Hashimoto
27acd71105
simd: add base64 functions from simdutf
2024-07-16 20:12:45 -07:00
karei
50c562bb47
gtk: fix terminal inspector menu button
2024-07-16 15:17:26 +03:00
Mitchell Hashimoto
2d7baaa7d7
apprt/gtk: toggle_window_decorations keybinding
...
Fixes #1943
2024-07-15 21:23:52 -07:00
Mitchell Hashimoto
524f24aaf5
termio: remove unused data
2024-07-15 15:23:39 -07:00
Mitchell Hashimoto
8cd901450a
remove unused derived config values
2024-07-15 10:53:01 -07:00
Mitchell Hashimoto
3867e20e72
termio: get rid of manual backend
2024-07-15 10:50:17 -07:00
Mitchell Hashimoto
8a5e43f3f1
termio: update docs
2024-07-15 10:30:00 -07:00
Mitchell Hashimoto
835d622baa
termio: writer => mailbox
2024-07-15 10:23:09 -07:00
Mitchell Hashimoto
001a6d2624
termio: reader => backend
2024-07-15 10:14:14 -07:00
Mitchell Hashimoto
dc6dc1d3d2
termio: remove more state
2024-07-15 10:02:02 -07:00
Mitchell Hashimoto
3625e1e58e
termio: take reader as option
2024-07-15 09:55:31 -07:00
Mitchell Hashimoto
4a4b9f2411
termio: trying to get Exec to not have access to full Opts
2024-07-15 09:45:58 -07:00
Mitchell Hashimoto
485346c694
termio: more windows fixes
2024-07-14 18:15:19 -07:00
Mitchell Hashimoto
f0d896e11d
termio: more windows fixes
2024-07-14 15:17:40 -07:00
Mitchell Hashimoto
b0cd40d1de
termio: fix windows build
2024-07-14 15:16:16 -07:00
Mitchell Hashimoto
08ed60ceec
termio: ReadData is gone!
2024-07-14 15:15:22 -07:00
Mitchell Hashimoto
89d407dd6a
termio: excessive cursor reset
2024-07-14 15:13:41 -07:00
Mitchell Hashimoto
6b0b840a81
termio: writer needs a mut pointer
2024-07-14 15:11:09 -07:00
Mitchell Hashimoto
a848a53d26
termio: remove a ton of state
2024-07-14 15:10:05 -07:00
Mitchell Hashimoto
af7adedb50
termio: writer abstraction
2024-07-14 14:48:48 -07:00
Mitchell Hashimoto
31144da845
termio: Thread doesn't need to hold termio pointer
2024-07-14 10:27:58 -07:00
Mitchell Hashimoto
f50c15c350
termio: ReadData doesn't need a loop
2024-07-14 09:40:53 -07:00
Mitchell Hashimoto
eec33f10e2
termio: remove more unused things
2024-07-13 19:27:17 -07:00
Mitchell Hashimoto
e30e635bed
termio: move all subprocess logic to termio.Exec
2024-07-13 19:24:10 -07:00
Mitchell Hashimoto
7c23d61379
termio: rename
2024-07-13 18:50:37 -07:00
Mitchell Hashimoto
faef40b769
termio: fix up rebase
2024-07-13 15:21:50 -07:00
Mitchell Hashimoto
16f5890724
termio: delete old impl
2024-07-13 15:20:39 -07:00
Mitchell Hashimoto
b3c2479f87
termio: move subprocess out to its own file
2024-07-13 15:20:38 -07:00
Mitchell Hashimoto
2e62e3354b
termio: cleanup more state
2024-07-13 15:19:39 -07:00
Mitchell Hashimoto
bfbbe1485e
termio: queueWrite no longer uses EventData
2024-07-13 15:19:38 -07:00
Mitchell Hashimoto
ffaf020576
termio: move stream handler to dedicated file, remove dep on EventData
2024-07-13 15:19:38 -07:00
Mitchell Hashimoto
e51180e4a9
termio: changeConfig on reader data
2024-07-13 15:19:38 -07:00
Mitchell Hashimoto
4e6e0f90c7
termio: remove data field
2024-07-13 15:19:38 -07:00
Mitchell Hashimoto
c4484938c5
termio: wip but it builds
2024-07-13 15:19:38 -07:00
Mitchell Hashimoto
49c92fd0e6
termio: rename Exec to Termio throughout
2024-07-13 15:19:37 -07:00
Mitchell Hashimoto
ef5491ed50
Merge pull request #1946 from ghostty-org/tmuxcc
...
Tmux Control Mode Parser (ONLY the parser)
2024-07-12 14:50:09 -07:00
Mitchell Hashimoto
9e5e7e6480
Merge pull request #1937 from rockorager/gtk-split-opacity
...
gtk: implement unfocused-split opacity and fill
2024-07-12 14:14:10 -07:00
Mitchell Hashimoto
df088c67f4
terminal/tmux: block output notifications
2024-07-12 14:04:56 -07:00
Mitchell Hashimoto
057dc32c71
terminal/tmux: many more notifications
2024-07-12 11:57:37 -07:00
Mitchell Hashimoto
bc7bc15120
terminal/tmux: parse session-changed notification
2024-07-12 10:22:59 -07:00
Mitchell Hashimoto
8c3559ecff
terminal: move tmux control mode parsing out to dedicated file
2024-07-12 09:49:59 -07:00
Mitchell Hashimoto
1ea25c5c64
terminal: tmux parsing handles begin/end blocks
2024-07-11 20:53:50 -07:00
Mitchell Hashimoto
f4db5009d6
terminal: dcs state cleanup in deinit
2024-07-11 19:09:55 -07:00
Mitchell Hashimoto
88d055452b
terminal: tmux enter/exit
2024-07-11 19:02:33 -07:00