macos: support configuration via CLI arguments

This makes it so `zig build run` can take arguments such as
`--config-default-files=false` or any other configuration. Previously,
it only accepted commands such as `+version`.

Incidentally, this also makes it so that the app in general can now take
configuration arguments via the CLI if it is launched as a new instance
via `open`. For example:

    open -n Ghostty.app --args --config-default-files=false

This previously didn't work. This is kind of cool.

To make this work, the libghostty C API was modified so that
initialization requires the CLI args, and there is a new C API to try to
execute an action if it was set.
This commit is contained in:
Mitchell Hashimoto
2025-07-05 21:04:59 -07:00
parent 82cad3cf33
commit 984d123fe4
11 changed files with 70 additions and 42 deletions

View File

@@ -778,8 +778,8 @@ typedef struct {
//-------------------------------------------------------------------
// Published API
int ghostty_init(void);
void ghostty_cli_main(uintptr_t, char**);
int ghostty_init(uintptr_t, char**);
void ghostty_cli_try_action(void);
ghostty_info_s ghostty_info(void);
const char* ghostty_translate(const char*);