Set the default colors and palette, then read effective and default values as an OSC 10 override layers on top.
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
}
const char* name,
printf(
" %-12s effective: #%02X%02X%02X", name, color.
r, color.
g, color.
b);
} else {
printf(" %-12s effective: (not set)", name);
}
printf(
" default: #%02X%02X%02X\n", color.
r, color.
g, color.
b);
} else {
printf(" default: (not set)\n");
}
}
printf("%s:\n", label);
print_color(terminal, "foreground",
print_color(terminal, "background",
print_color(terminal, "cursor",
printf(" %-12s effective: #%02X%02X%02X", "palette[0]",
palette[0].r, palette[0].g, palette[0].b);
palette);
printf(" default: #%02X%02X%02X\n", palette[0].r, palette[0].g, palette[0].b);
}
int main() {
fprintf(stderr, "Failed to create terminal\n");
return 1;
}
print_all_colors(terminal, "Before setting defaults");
set_color_theme(terminal);
print_all_colors(terminal, "\nAfter setting defaults");
const char* osc_fg = "\x1B]10;rgb:FF/00/00\x1B\\";
strlen(osc_fg));
print_all_colors(terminal, "\nAfter OSC foreground override");
print_all_colors(terminal, "\nAfter clearing foreground default");
return 0;
}
#define GHOSTTY_COLOR_NAMED_YELLOW
#define GHOSTTY_COLOR_NAMED_WHITE
#define GHOSTTY_COLOR_NAMED_CYAN
#define GHOSTTY_COLOR_NAMED_MAGENTA
#define GHOSTTY_COLOR_NAMED_RED
#define GHOSTTY_COLOR_NAMED_BLUE
#define GHOSTTY_COLOR_NAMED_BLACK
#define GHOSTTY_COLOR_NAMED_GREEN
GHOSTTY_API GhosttyResult ghostty_terminal_set(GhosttyTerminal terminal, GhosttyTerminalOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_terminal_get(GhosttyTerminal terminal, GhosttyTerminalData data, void *out)
struct GhosttyTerminalImpl * GhosttyTerminal
GHOSTTY_API void ghostty_terminal_free(GhosttyTerminal terminal)
GHOSTTY_API void ghostty_terminal_vt_write(GhosttyTerminal terminal, const uint8_t *data, size_t len)
GHOSTTY_API GhosttyResult ghostty_terminal_new(const GhosttyAllocator *allocator, GhosttyTerminal *terminal, uint16_t cols, uint16_t rows)
@ GHOSTTY_TERMINAL_DATA_COLOR_BACKGROUND_DEFAULT
@ GHOSTTY_TERMINAL_DATA_COLOR_BACKGROUND
@ GHOSTTY_TERMINAL_DATA_COLOR_PALETTE_DEFAULT
@ GHOSTTY_TERMINAL_DATA_COLOR_FOREGROUND_DEFAULT
@ GHOSTTY_TERMINAL_DATA_COLOR_CURSOR_DEFAULT
@ GHOSTTY_TERMINAL_DATA_COLOR_FOREGROUND
@ GHOSTTY_TERMINAL_DATA_COLOR_PALETTE
@ GHOSTTY_TERMINAL_DATA_COLOR_CURSOR
@ GHOSTTY_TERMINAL_OPT_COLOR_CURSOR
@ GHOSTTY_TERMINAL_OPT_COLOR_FOREGROUND
@ GHOSTTY_TERMINAL_OPT_COLOR_PALETTE
@ GHOSTTY_TERMINAL_OPT_COLOR_BACKGROUND