2896 Commits

Author SHA1 Message Date
Mitchell Hashimoto
48f316ebd2 termio: support XDG data dirs greater than 4k for fish shell integration
Fixes #1228
2024-01-05 14:27:12 -08:00
Mitchell Hashimoto
095394e562 Merge pull request #1226 from mitchellh/boehs/1213
Fix #1213 (create dir if needed for settings)
2024-01-05 09:03:14 -08:00
Mitchell Hashimoto
cf18e23256 config: create the config dir recursively for edit 2024-01-05 09:01:30 -08:00
Mitchell Hashimoto
a62061aec6 config: use dirname so we don't have to alloc a new dir for edit 2024-01-05 07:54:20 -08:00
Gregory Anders
5fe2d03e96 cli: strip CR in line iterator 2024-01-05 09:37:55 -06:00
Evan Boehs
3a93831e39 Fix #1213 (create dir if needed for settings) 2024-01-05 10:36:26 -05:00
Mitchell Hashimoto
20300f46da Merge pull request #1220 from jcollie/gtk-open-config-menu
Add 'Open Config' menu to the GTK runtime and synchronize config-related keybindings across platforms.
2024-01-04 22:04:54 -08:00
Mitchell Hashimoto
be176bb8bd renderer: reload background, foreground, cursor-color at runtime
Fixes #1212
2024-01-04 21:47:12 -08:00
Jeffrey C. Ollie
698954031a Add 'Open Config' menu to the GTK runtime and synchronize config-related keybindings across platforms. 2024-01-04 23:30:22 -06:00
Mitchell Hashimoto
6c529c92f2 Merge pull request #1217 from widberg/main
Windows Fixes
2024-01-04 19:48:28 -08:00
Mitchell Hashimoto
38c5258d6e termio/exec: small change 2024-01-04 19:48:08 -08:00
widberg
2e79b5c63d Use cmd.exe instead of sh on Windows 2024-01-04 21:24:24 -05:00
Collin Dickert
8a2a849cc8 add CodeNewRoman Nerd Font to quirks 2024-01-04 21:15:12 -05:00
Krzysztof Wolicki
3297c3958c Merge branch 'main' of github.com:mitchellh/ghostty 2024-01-04 23:37:24 +01:00
Krzysztof Wolicki
0842e572df Update usage of testing.expectEqual 2024-01-04 13:30:34 +01:00
Troels Thomsen
d3a7f9baf5 Resolve path relative to base 2024-01-03 23:27:22 +01:00
Krzysztof Wolicki
1913243c35 WIP: Update to new build module API after Zig PR #18160
Temporarily change dependency sources to forks until they update
2024-01-03 21:50:32 +01:00
Mitchell Hashimoto
a57a32cdb3 config: clarify docs on resetting font-family 2024-01-03 09:43:24 -08:00
Mitchell Hashimoto
8dd8bae0cd config: empty value for RepeatableString resets the list 2024-01-03 09:35:03 -08:00
Mitchell Hashimoto
b4f403f152 font-family settings are repeatable to specify fallback 2024-01-03 09:30:12 -08:00
Mitchell Hashimoto
98237b112f config: RepeatableString is null-terminated now
This makes it easier for these values to interface with C APIs
2024-01-03 09:24:15 -08:00
Jeffrey C. Ollie
f4292bccfc replace deprecated std.mem.tokenize with std.mem.tokenizeScalar 2024-01-03 10:22:33 -06:00
Mitchell Hashimoto
5091655558 Merge pull request #1202 from gpanders/cell-color-refactor
terminal: track palette color in cell state
2024-01-02 20:58:32 -08:00
Gregory Anders
060bdff117 terminal: track palette color in cell state
Rather than immediately converting a color palette index into an RGB
value for a cell color, when a palette color is used track the palette
color directly in the cell state and convert to an RGB value in the
renderer.

This causes palette color changes to take effect immediately instead of
only for newly drawn cells.
2024-01-02 22:34:06 -06:00
Mitchell Hashimoto
797da2f737 termio/exec: avoid potential deadlock with surface message
Fixes #1198

This adds a fix similar to what we discovered with termio messages: we
attempt to send a surface message but if the queue is full we unlock the
terminal state and try again waiting forever.

In all cases, its safe to unlock the mutex while sending the message, no
scenario we send a surface message requires this lock to be held.
2024-01-02 15:34:20 -08:00
Mitchell Hashimoto
acba69a4ce Merge pull request #1193 from vancluever/vancluever/gtk-x11-modifier-state
apprt/gtk: ensure modifier state matches current keypress under X11
2024-01-01 08:35:14 -08:00
Mitchell Hashimoto
732063375a apprt/gtk: stylistic changes 2024-01-01 08:34:19 -08:00
Chris Marchesi
d235554606 apprt/gtk: Move Xkb state to App, remove un-needed fields, style changes 2023-12-31 12:10:25 -08:00
Mitchell Hashimoto
a3ce446fee apprt/gtk: use some comptime to load X11 functions 2023-12-31 08:00:43 -08:00
Mitchell Hashimoto
3b7e83150f apprt/gtk: stylistic changes 2023-12-31 07:50:36 -08:00
Chris Marchesi
fc4fdbb643 apprt/gtk: ensure modifier state matches current keypress under X11
This fixes an issue in that when running under X11, when a modifier key
is pressed, the modifier state will "lag" behind what should be current.
This is due to how X11 sends modifiers in events, i.e. it sends the
state from right before the key press, and does not include the effects
of the key press itself.

This is corrected by checking the X event queue directly for a pending
XkbStateNotify event (we mask this on modifiers), and setting the
modifiers off of that if we find one. If not, we fall back to the GDK
call.
2023-12-30 22:58:33 -08:00
Mitchell Hashimoto
0eee66f21b termio/exec: stylistic change on abnormal exit 2023-12-30 21:47:34 -08:00
Mitchell Hashimoto
134327c1a3 termio/exec: reorder member since we like alloc on top 2023-12-30 21:46:27 -08:00
Mitchell Hashimoto
aef93a5420 config: make abnormal runtime threshold a u32 2023-12-30 21:45:16 -08:00
Jeffrey C. Ollie
4ef8d099a7 Make the abnormal runtime threshold configurable. 2023-12-30 22:52:47 -06:00
Jeffrey C. Ollie
792284fb69 Add exit code and runtime to abnormal exit error message. 2023-12-30 22:24:25 -06:00
Mitchell Hashimoto
730343c600 termio/exec: pass code and runtime to error but don't show it yet 2023-12-30 19:37:38 -08:00
Mitchell Hashimoto
53dffc8e18 termio/exec: style the exec failure error better 2023-12-30 19:34:45 -08:00
Mitchell Hashimoto
f3aaa884c6 termio/exec: use message to writer thread so we can output failed cmd 2023-12-30 17:51:34 -08:00
Mitchell Hashimoto
aaded1f311 termio/exec: use arraylist to build up message for error 2023-12-30 15:52:26 -08:00
Mitchell Hashimoto
fc963064c6 termio/exec: abnormal exit can use exit code on linux 2023-12-30 15:43:50 -08:00
Mitchell Hashimoto
3ee842e1b7 config: remove command validation
Abnormal exit detection is more robust, and this validation always had
issues for example we didn't parse shell escapes and so on.
2023-12-30 15:36:13 -08:00
Mitchell Hashimoto
3fae05e2dc termio/exec: detect abnormally short runtime and show an error message 2023-12-30 15:35:35 -08:00
Mitchell Hashimoto
2ed75d47b5 termio/exec: detect exec failure and show an error message 2023-12-30 15:07:23 -08:00
Mitchell Hashimoto
8c5e8c504e config: skip command validation if it has a space
See comment
2023-12-30 14:46:05 -08:00
Mitchell Hashimoto
85c386f45d termio: remove old warning log statement used for debugging 2023-12-29 21:25:07 -08:00
Mitchell Hashimoto
a159eafc18 Merge pull request #1180 from mitchellh/change-macos-launch
Modify the way the login shell is launched on macOS to reduce nesting
2023-12-29 15:50:18 -08:00
Mitchell Hashimoto
a69ec2127e termio/exec: use bash instead of zsh for shell launching 2023-12-29 15:41:11 -08:00
Mitchell Hashimoto
3e9a4ea234 terminal: cub with reverse wrap consumes pending wrap state as one
Related to #1184

See the updated website page and associated test.
2023-12-29 12:45:57 -08:00
Mitchell Hashimoto
fdd519f73b terminal: cursor back should not reduce by one with pending wrap
Fixes #1183

I'm not sure why the original logic was there. When I translated the
original test cases to shell and ran them in xterm, they did NOT match
what Ghostty expected. This updates the tests to match xterm and removes
this case. We can add back in more tests if/when we figure out under
what scenario this original logic was correct (if it ever was).
2023-12-29 12:34:33 -08:00