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