5888 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f722e30bf5 macos: terminal controller reacts to surface config changes 2024-11-21 12:46:46 -08:00
Mitchell Hashimoto
037d4364e5 config: C API ghostty_config_clone 2024-11-21 10:41:48 -08:00
Mitchell Hashimoto
fadfb08efe apprt: add config_change action 2024-11-21 10:30:27 -08:00
Mitchell Hashimoto
e187a412fa input: Binding set clone must deep clone actions
Fixes a crash found in Discord.

Cloning the keybinding set previously shallow copied the actions, but
actions may contain pointers. These pointer values must be deep copied
to avoid dangling references when the underlying memory is freed.
2024-11-21 10:07:44 -08:00
Mitchell Hashimoto
4ef2240618 cli: parseCLI for optionals should not be null in release modes
Fixes #2747

I admit I don't fully understand this. But somehow, doing `var x: ?T =
undefined` in release fast mode makes `x` act as if its unset. I am
guessing since undefined does nothing to the memory, the memory layout
is such that it looks null for zeroed stack memory. This is a guess.

To fix this, I now initialize the type `T` and set it onto the optional
later. This commit also fixes an issue where calling `parseCLI` multiple
times on an optional would not modify the previous value if set.
2024-11-20 19:05:52 -08:00
Mitchell Hashimoto
3392659e1f Revert "macos: enable Metal shader logging"
This reverts commit aad101565abff3368af76e8c2e93cbe7c278a89f.
2024-11-20 15:01:27 -08:00
Mitchell Hashimoto
7aeee06471 apprt/gtk: set inherited working directory manually
Fixes #2745

GTK uses a delayed surface initialization since we initialize on
GTKGLArea realize not on the actual callback. Because of that, our
inherited directory doesn't always work since that depends on a
previously focused widget.

This copies our desired inherited directory to an allocation so that we
can set it during realize.
2024-11-20 14:49:01 -08:00
Mitchell Hashimoto
53dba182bf Merge pull request #2735 from ghostty-org/theme
Configuration to specify separate light/dark mode theme
2024-11-20 14:12:36 -08:00
Mitchell Hashimoto
f8a8b0464c renderer/opengl: fix memory leak when copying font features 2024-11-20 14:08:00 -08:00
Mitchell Hashimoto
aad101565a macos: enable Metal shader logging
This enables the compile options and Xcode configuration so that logging
in Metal shaders shows up in our Xcode debug console. This doesn't add
any log messages, but makes it so that when we iterate on the shaders in
the future, we can add and see logs to help us out.
2024-11-19 18:59:41 -08:00
Mitchell Hashimoto
03b60ab2ef apprt/gtk: support light/dark mode change on the fly 2024-11-19 16:12:11 -08:00
Mitchell Hashimoto
67d5eaa6af config: update some docs 2024-11-19 16:06:39 -08:00
Mitchell Hashimoto
243b6f8c8d config: macos-titlebar-style transparent disabled with light/dark mode 2024-11-19 16:00:30 -08:00
Mitchell Hashimoto
0e006dbd8d config: disable window-theme=auto if light/dark mode theme is configured 2024-11-19 15:51:35 -08:00
Mitchell Hashimoto
b7f1eaa145 apprt: action to change conditional state, implement for embedded 2024-11-19 15:36:31 -08:00
Mitchell Hashimoto
d2566287e9 config: load dark/light theme based on conditional state 2024-11-19 13:34:22 -08:00
Mitchell Hashimoto
13d5f37e50 config: theme parses light/dark but only loads light for now 2024-11-19 11:16:47 -08:00
Mitchell Hashimoto
7d2dee2bc3 cli: parseCLI form works with optionals 2024-11-19 11:05:20 -08:00
Mitchell Hashimoto
d2cdc4f717 cli: parse auto structs 2024-11-19 10:46:25 -08:00
Mitchell Hashimoto
df4e616e71 config: theme loading unit tests 2024-11-19 10:17:03 -08:00
Mitchell Hashimoto
04a61e753a config: some docs updates 2024-11-19 10:17:03 -08:00
Mitchell Hashimoto
234e3986f9 config: function to change conditional state 2024-11-19 10:17:03 -08:00
Mitchell Hashimoto
f016c5028c config: Replay.Step supports a conditional arg 2024-11-19 10:17:03 -08:00
Mitchell Hashimoto
712da4288f config: add basic conditional system core logic (no syntax yet)
Note: this doesn't have any syntax the user can use in a configuration
yet. This just implements a core, tested system.
2024-11-19 10:17:03 -08:00
Jon Parise
433b6b4fe2 os: replace PATH_SEP with std.fs.path.delimiter
This standard library symbol is equivalent.
2024-11-19 10:51:02 -05:00
Mitchell Hashimoto
29c3a52e96 config: clarify config-file behavior
No one has actually ever complained about this but I wanted to
explicitly call it out.
2024-11-18 15:14:57 -08:00
Gregory Anders
bc6cd631e5 vim: fix comment syntax pattern
Only lines which contain (optional) whitespace followed by a # character
are comments. We should not treat lines like "foreground = #aaa" as
containing a comment.
2024-11-18 16:11:44 -06:00
Mitchell Hashimoto
e747345b03 Merge pull request #2712 from notcancername/set-xdg-data-dirs-default
Append the default value of XDG_DATA_DIRS when setting up shell integration
2024-11-18 06:24:35 -08:00
Mitchell Hashimoto
3e971f2837 termio: tweaks to xdg data dir handling (no logic changes) 2024-11-17 09:48:42 -08:00
notcancername
8e736aa4eb Append the default value of XDG_DATA_DIRS when setting up shell integration 2024-11-17 15:28:41 +01:00
Tristan Partin
9c25811576 apprt/gtk: handle pwd action
Use it as a tooltip for the tab.

Signed-off-by: Tristan Partin <tristan@partin.io>
2024-11-16 15:20:53 -06:00
Mitchell Hashimoto
002832deb5 Merge pull request #2703 from furtidev/port-to-latest-vaxis
cli: update to latest libvaxis and fix `+list-themes` bugs
2024-11-16 08:49:02 -08:00
furtidev
8901027e6d fix: theme search ranking is now case insensitive 2024-11-16 20:05:11 +06:00
furtidev
fb2510c2ed fix: +list-themes crashing when there's search result is empty 2024-11-16 20:03:58 +06:00
furtidev
a6bdd2f201 port +list-themes to latest libvaxis 2024-11-16 20:02:35 +06:00
furtidev
e7b9a2ac95 port +list-keybinds to latest libvaxis 2024-11-16 19:39:48 +06:00
Mitchell Hashimoto
954c4d7b56 macos: swap out pointerVisible with NSCursor.setHiddenUntilMouseMoves
Fixes #2695

We had various issues with the pointerVisible property on macOS,
including the pointer not being hidden when it should be. Our only use
case today is mouse hide while typing so
NSCursor.setHiddenUntilMouseMoves is a better fit!
2024-11-15 19:05:51 -08:00
Mitchell Hashimoto
7605472922 Balance padding uses the explicit padding value for grid calculations
This fixes window resize not working properly when
`window-padding-balance` is set to true.
2024-11-15 15:16:00 -08:00
Mark Peek
ea3d997f3e Include font copyright information into OFL.txt and add MIT license 2024-11-15 12:35:29 -08:00
Mitchell Hashimoto
f16af9de81 termio: need to update cached size on resize 2024-11-15 10:44:02 -08:00
Kevin
900f0efb75 add accompanying README with license details 2024-11-15 13:29:50 -05:00
Kevin
9cce09a36b add OFL.txt 2024-11-15 12:45:42 -05:00
Mitchell Hashimoto
e8ee92e369 Merge pull request #2676 from ghostty-org/coordinate-space
Refactor how we pass around sizes
2024-11-15 07:43:59 -08:00
AnthonyZhOon
d4d8cbd153 Remove shebang from non-executable script 2024-11-15 19:23:20 +11:00
Mitchell Hashimoto
1792ddfff1 remove some unused structs 2024-11-14 14:25:42 -08:00
Mitchell Hashimoto
72a3d22e69 apprt/gtk: use new size structs 2024-11-14 14:04:20 -08:00
Mitchell Hashimoto
bdf3d1cb5f apprt/embedded: fix new size struct 2024-11-14 13:58:15 -08:00
Mitchell Hashimoto
3b856f6269 renderer/opengl: update to new size struct 2024-11-14 13:49:49 -08:00
Mitchell Hashimoto
b3b5e15e96 renderer/metal: use new size struct 2024-11-14 13:44:05 -08:00
Mitchell Hashimoto
6f62944b9c renderer: message uses new size struct 2024-11-14 13:34:36 -08:00