mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-04-06 07:38:21 +00:00
vt: pass pointer options directly to terminal_set
Previously ghostty_terminal_set required all values to be passed as pointers to the value, even when the value itself was already a pointer (userdata, function pointer callbacks). This forced callers into awkward patterns like compound literals or intermediate variables just to take the address of a pointer. Now pointer-typed options (userdata and all callbacks) are passed directly as the value parameter. Only non-pointer types like GhosttyString still require a pointer to the value. This simplifies InType to return the actual stored type for each option and lets setTyped work with those types directly.
This commit is contained in:
@@ -55,18 +55,15 @@ int main() {
|
||||
|
||||
// Set up userdata — a simple bell counter
|
||||
int bell_count = 0;
|
||||
void* ud = &bell_count;
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_USERDATA, &ud);
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_USERDATA, &bell_count);
|
||||
|
||||
// Register effect callbacks
|
||||
GhosttyTerminalWritePtyFn write_fn = on_write_pty;
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_WRITE_PTY, &write_fn);
|
||||
|
||||
GhosttyTerminalBellFn bell_fn = on_bell;
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_BELL, &bell_fn);
|
||||
|
||||
GhosttyTerminalTitleChangedFn title_fn = on_title_changed;
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_TITLE_CHANGED, &title_fn);
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_WRITE_PTY,
|
||||
(const void *)on_write_pty);
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_BELL,
|
||||
(const void *)on_bell);
|
||||
ghostty_terminal_set(terminal, GHOSTTY_TERMINAL_OPT_TITLE_CHANGED,
|
||||
(const void *)on_title_changed);
|
||||
|
||||
// Feed VT data that triggers effects:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user