Mitchell Hashimoto
6371af0d8e
config: need to apply window-theme for light/dark after loading theme
2024-11-22 11:52:34 -08:00
Mitchell Hashimoto
ddde68d1f4
macos: add NSAppearance.isDark
2024-11-22 10:31:31 -08:00
Mitchell Hashimoto
7bae9e1d20
Merge pull request #2768 from ghostty-org/push-pzzwlvwumwpq
...
config: fix invalid memory access on theme loading
2024-11-22 09:48:08 -08:00
Mitchell Hashimoto
048d4c80dc
Merge pull request #2765 from trag1c/doc-proxy-icon
...
docs: include valid values for `macos-titlebar-proxy-icon`
2024-11-22 09:46:01 -08:00
Mitchell Hashimoto
e53eb9bd6f
config: fix invalid memory access on theme loading
...
Fixes GHOSTTY-1X in Sentry
The comment explains.
2024-11-22 09:45:32 -08:00
Mitchell Hashimoto
49581ae8fc
Merge pull request #2766 from vprigent/fix-url-regex
...
Add two edge cases to the url regex
2024-11-22 09:17:39 -08:00
Vincent Prigent
96bda270a2
Add two edge cases to the url regex
2024-11-22 22:57:45 +13:00
trag1c
03f06431a7
docs: include valid values for macos-titlebar-proxy-icon
2024-11-22 01:07:56 +01:00
Mitchell Hashimoto
a733ea381b
macos: OSColor.hexString must be able to compile with UIKit
2024-11-21 14:50:03 -08:00
Mitchell Hashimoto
e17741aebd
Merge pull request #2762 from ghostty-org/config-update
...
apprt config change notification, macOS transparent titlebar works with theme change
2024-11-21 14:28:14 -08:00
Mitchell Hashimoto
1aa77837eb
macos: use correct title background if top surface
2024-11-21 14:20:31 -08:00
Mitchell Hashimoto
36a57826a6
macos: only color the titlebar of surfaces that border the top
2024-11-21 14:07:39 -08:00
Mitchell Hashimoto
7fb86a3c9c
macos: listen for color change property to update window appearance
2024-11-21 13:37:54 -08:00
Mitchell Hashimoto
f722e30bf5
macos: terminal controller reacts to surface config changes
2024-11-21 12:46:46 -08:00
Mitchell Hashimoto
35fcb1a29b
macos: change config access to evented, derived config like libghostty
...
Previously, we would access the `ghostty.config` object from anywhere.
The issue with this is that memory lifetime access to the underlying
`ghostty_config_t` was messy. It was easy when the apprt owned every
reference but since automatic theme changes were implemented, this isn't
always true anymore.
To fix this, we move to the same pattern we use internally in the core
of ghostty: whenever the config changes, we handle an event, derive our
desired values out of the config (copy them), and then let the caller
free the config if they want to. This way, we can be sure that any
information we need from the config is always owned by us.
2024-11-21 11:36:51 -08:00
Mitchell Hashimoto
037d4364e5
config: C API ghostty_config_clone
2024-11-21 10:41:48 -08:00
Mitchell Hashimoto
3afb9065f0
macos: listen for config change and post a notification
2024-11-21 10:30:27 -08:00
Mitchell Hashimoto
fadfb08efe
apprt: add config_change
action
2024-11-21 10:30:27 -08:00
Mitchell Hashimoto
3404816875
Merge pull request #2761 from ghostty-org/push-zspzyylxlsvr
...
input: Binding set clone must deep clone actions
2024-11-21 10:11: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
63bf16ff00
Merge pull request #2748 from ghostty-org/push-zzqzxrsnqrtn
...
cli: parseCLI for optionals should not be null in release modes
2024-11-20 19:18:31 -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
d3b2f33061
ci: set xcode 16 on zig builds or macOS
2024-11-20 15:02:22 -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
b65a0a4646
Merge pull request #2746 from ghostty-org/push-lyqwxytykwyx
...
apprt/gtk: set inherited working directory manually
2024-11-20 14:53:07 -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
1798fc67bf
ci: release job should set xcode version earlier
2024-11-20 14:14:53 -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
5f49ffad6a
Merge pull request #2736 from ghostty-org/push-sltwuokrztpt
...
macos: enable Metal shader logging
2024-11-20 06:37:29 -08:00
Mitchell Hashimoto
cc776fd78b
Merge pull request #2739 from AnthonyZhOon/main
...
Change oniguruma link target from `oniguruma` to `onig`
2024-11-20 06:36:13 -08:00
Anthony
daa0fe00b1
Change oniguruma link target from oniguruma
to onig
2024-11-20 18:34:21 +11: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
Mitchell Hashimoto
14f603e691
Merge pull request #2733 from jparise/path_sep
...
os: replace PATH_SEP with std.fs.path.delimiter
2024-11-19 10:12:27 -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