7#ifndef GHOSTTY_VT_TERMINAL_H
8#define GHOSTTY_VT_TERMINAL_H
272 GHOSTTY_TERMINAL_COMPRESSION_MODE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
289 GHOSTTY_TERMINAL_COMPRESSION_RESULT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
333 GHOSTTY_SCROLL_VIEWPORT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
378 GHOSTTY_TERMINAL_SCREEN_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
398 GHOSTTY_TERMINAL_CURSOR_STYLE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
555 GHOSTTY_TERMINAL_UNKNOWN_SEQUENCE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
699 GHOSTTY_CLIPBOARD_LOCATION_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
745 GHOSTTY_CLIPBOARD_WRITE_RESULT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
903 GHOSTTY_CLIPBOARD_READ_RESULT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1133 GHOSTTY_TERMINAL_PROGRESS_STATE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1201 GHOSTTY_PROGRAM_STATUS_STATE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1223 GHOSTTY_PROGRAM_STATUS_KIND_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1422 GHOSTTY_SEMANTIC_PROMPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1452 GHOSTTY_SEMANTIC_PROMPT_PROMPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1588 GHOSTTY_TERMINAL_RESIZE_WINDOW_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
1902 const uint8_t* data,
2538 GHOSTTY_TERMINAL_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
2968 GHOSTTY_TERMINAL_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
3047 uint32_t cell_width_px,
3048 uint32_t cell_height_px);
3098 const uint8_t* data,
3129 const uint8_t* data,
3131 size_t* out_consumed);
3192 size_t* out_written);
3267 uint64_t* out_activity);
3352 size_t* out_written);
struct GhosttyTrackedGridRefImpl * GhosttyTrackedGridRef
GHOSTTY_API GhosttyResult ghostty_terminal_set(GhosttyTerminal terminal, GhosttyTerminalOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_terminal_point_from_grid_ref(GhosttyTerminal terminal, const GhosttyGridRef *ref, GhosttyPointTag tag, GhosttyPointCoordinate *out)
GHOSTTY_API GhosttyResult ghostty_terminal_compression_activity(GhosttyTerminal terminal, uint64_t *out_activity)
GHOSTTY_API GhosttyResult ghostty_terminal_get(GhosttyTerminal terminal, GhosttyTerminalData data, void *out)
GHOSTTY_API void ghostty_terminal_reset(GhosttyTerminal terminal)
GhosttyTerminalCompressionMode
GhosttyClipboardReadResult
void(*) GhosttyTerminalSemanticPromptFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalSemanticPrompt *event)
void(*) GhosttyTerminalRenderHoldFn(GhosttyTerminal terminal, void *userdata, bool held)
GHOSTTY_API GhosttyResult ghostty_terminal_grid_ref_track(GhosttyTerminal terminal, GhosttyPoint point, GhosttyTrackedGridRef *out_ref)
GHOSTTY_API void ghostty_terminal_scroll_viewport(GhosttyTerminal terminal, GhosttyTerminalScrollViewport behavior)
GHOSTTY_API GhosttyResult ghostty_terminal_get_multi(GhosttyTerminal terminal, size_t count, const GhosttyTerminalData *keys, void **values, size_t *out_written)
void(*) GhosttyTerminalPwdChangedFn(GhosttyTerminal terminal, void *userdata)
GhosttySemanticPromptPromptKind
bool(*) GhosttyTerminalColorSchemeFn(GhosttyTerminal terminal, void *userdata, GhosttyColorScheme *out_scheme)
GhosttyString(*) GhosttyTerminalEnquiryFn(GhosttyTerminal terminal, void *userdata)
bool(*) GhosttyTerminalSizeFn(GhosttyTerminal terminal, void *userdata, GhosttySizeReportSize *out_size)
GhosttyTerminalResizeWindowTag
void(*) GhosttyTerminalClipboardReadFn(GhosttyTerminal terminal, void *userdata, const GhosttyClipboardRead *read)
GhosttyTerminalCompressionResult
void(*) GhosttyTerminalUnknownSequenceFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalUnknownSequence *sequence)
struct GhosttyTerminalImpl * GhosttyTerminal
GhosttyString(*) GhosttyTerminalXtversionFn(GhosttyTerminal terminal, void *userdata)
GhosttyTerminalScrollViewportTag
GHOSTTY_API GhosttyResult ghostty_terminal_continuation_buf(GhosttyTerminal terminal, uint8_t *buf, size_t buf_len, size_t *out_written)
GHOSTTY_API void ghostty_terminal_free(GhosttyTerminal terminal)
GhosttySemanticPromptKind
void(*) GhosttyClipboardWriteReplyFn(const GhosttyClipboardWrite *write, const GhosttyClipboardWriteReply *reply)
void(*) GhosttyTerminalBellFn(GhosttyTerminal terminal, void *userdata)
void(*) GhosttyTerminalTitleChangedFn(GhosttyTerminal terminal, void *userdata)
void(*) GhosttyTerminalResetFn(GhosttyTerminal terminal, void *userdata)
void(*) GhosttyTerminalClipboardWriteFn(GhosttyTerminal terminal, void *userdata, const GhosttyClipboardWrite *write)
void(*) GhosttyTerminalWritePtyFn(GhosttyTerminal terminal, void *userdata, const uint8_t *data, size_t len)
void(*) GhosttyTerminalDesktopNotificationFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalDesktopNotification *notification)
GhosttyTerminalProgressState
GHOSTTY_API GhosttyResult ghostty_terminal_vt_write_until_ground(GhosttyTerminal terminal, const uint8_t *data, size_t len, size_t *out_consumed)
GHOSTTY_API GhosttyResult ghostty_terminal_continuation_alloc(GhosttyTerminal terminal, const GhosttyAllocator *allocator, uint8_t **out_ptr, size_t *out_len)
GHOSTTY_API void ghostty_terminal_vt_write(GhosttyTerminal terminal, const uint8_t *data, size_t len)
GHOSTTY_API GhosttyResult ghostty_terminal_grid_ref(GhosttyTerminal terminal, GhosttyPoint point, GhosttyGridRef *out_ref)
void(*) GhosttyTerminalProgressReportFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalProgressReport *report)
GHOSTTY_API GhosttyResult ghostty_terminal_resize(GhosttyTerminal terminal, uint16_t cols, uint16_t rows, uint32_t cell_width_px, uint32_t cell_height_px)
GHOSTTY_API GhosttyResult ghostty_terminal_continuation_write(GhosttyTerminal terminal, GhosttyWriter writer)
GHOSTTY_API GhosttyResult ghostty_terminal_new(const GhosttyAllocator *allocator, GhosttyTerminal *terminal, uint16_t cols, uint16_t rows)
void(*) GhosttyTerminalResizeWindowFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalResizeWindow *request)
GhosttyProgramStatusState
GhosttyClipboardWriteResult
void(*) GhosttyTerminalProgramStatusFn(GhosttyTerminal terminal, void *userdata, const GhosttyTerminalProgramStatus *report)
GhosttyTerminalCursorStyle
void(*) GhosttyClipboardReadReplyFn(const GhosttyClipboardRead *read, const GhosttyClipboardReadReply *reply)
GhosttyTerminalUnknownSequenceTag
bool(*) GhosttyTerminalDeviceAttributesFn(GhosttyTerminal terminal, void *userdata, GhosttyDeviceAttributes *out_attrs)
GHOSTTY_API GhosttyResult ghostty_terminal_compress(GhosttyTerminal terminal, GhosttyTerminalCompressionMode mode, GhosttyTerminalCompressionResult *out_result)
@ GHOSTTY_TERMINAL_COMPRESSION_MODE_INCREMENTAL
@ GHOSTTY_TERMINAL_COMPRESSION_MODE_FULL
@ GHOSTTY_CLIPBOARD_READ_RESULT_BUSY
@ GHOSTTY_CLIPBOARD_READ_RESULT_DENIED
@ GHOSTTY_CLIPBOARD_READ_RESULT_IO_ERROR
@ GHOSTTY_CLIPBOARD_READ_RESULT_SUCCESS
@ GHOSTTY_CLIPBOARD_READ_RESULT_UNSUPPORTED
@ GHOSTTY_SEMANTIC_PROMPT_PROMPT_CONTINUATION
@ GHOSTTY_SEMANTIC_PROMPT_PROMPT_SECONDARY
@ GHOSTTY_SEMANTIC_PROMPT_PROMPT_RIGHT
@ GHOSTTY_SEMANTIC_PROMPT_PROMPT_PRIMARY
@ GHOSTTY_TERMINAL_RESIZE_WINDOW_GRID
@ GHOSTTY_TERMINAL_COMPRESSION_RESULT_UNSUPPORTED
@ GHOSTTY_TERMINAL_COMPRESSION_RESULT_COMPLETE
@ GHOSTTY_TERMINAL_COMPRESSION_RESULT_PENDING
@ GHOSTTY_SCROLL_VIEWPORT_BOTTOM
@ GHOSTTY_SCROLL_VIEWPORT_DELTA_PROMPT
@ GHOSTTY_SCROLL_VIEWPORT_ROW
@ GHOSTTY_SCROLL_VIEWPORT_DELTA
@ GHOSTTY_SCROLL_VIEWPORT_TOP
@ GHOSTTY_CLIPBOARD_LOCATION_PRIMARY
@ GHOSTTY_CLIPBOARD_LOCATION_STANDARD
@ GHOSTTY_CLIPBOARD_LOCATION_SELECTION
@ GHOSTTY_PROGRAM_STATUS_KIND_QUESTION
@ GHOSTTY_PROGRAM_STATUS_KIND_PERMISSION
@ GHOSTTY_PROGRAM_STATUS_KIND_AUTH
@ GHOSTTY_PROGRAM_STATUS_KIND_NONE
@ GHOSTTY_SEMANTIC_PROMPT_OUTPUT_START
@ GHOSTTY_SEMANTIC_PROMPT_INVALID
@ GHOSTTY_SEMANTIC_PROMPT_COMMAND_END
@ GHOSTTY_SEMANTIC_PROMPT_INPUT_START
@ GHOSTTY_SEMANTIC_PROMPT_PROMPT_START
@ GHOSTTY_TERMINAL_PROGRESS_STATE_ERROR
@ GHOSTTY_TERMINAL_PROGRESS_STATE_SET
@ GHOSTTY_TERMINAL_PROGRESS_STATE_PAUSE
@ GHOSTTY_TERMINAL_PROGRESS_STATE_REMOVE
@ GHOSTTY_TERMINAL_PROGRESS_STATE_INDETERMINATE
@ GHOSTTY_TERMINAL_SCREEN_ALTERNATE
@ GHOSTTY_TERMINAL_SCREEN_PRIMARY
@ GHOSTTY_TERMINAL_DATA_COLOR_BACKGROUND_DEFAULT
@ GHOSTTY_TERMINAL_DATA_WIDTH_PX
@ GHOSTTY_TERMINAL_DATA_MEMORY_USAGE
@ GHOSTTY_TERMINAL_DATA_VIEWPORT_ACTIVE
@ GHOSTTY_TERMINAL_DATA_SCROLLBACK_MAX_LINES
@ GHOSTTY_TERMINAL_DATA_COLOR_BACKGROUND
@ GHOSTTY_TERMINAL_DATA_CURSOR_AT_PROMPT
@ GHOSTTY_TERMINAL_DATA_COLOR_PALETTE_DEFAULT
@ GHOSTTY_TERMINAL_DATA_MOUSE_SHAPE
@ GHOSTTY_TERMINAL_DATA_COLS
@ GHOSTTY_TERMINAL_DATA_KITTY_IMAGE_MEDIUM_FILE
@ GHOSTTY_TERMINAL_DATA_MODE
@ GHOSTTY_TERMINAL_DATA_TITLE
@ GHOSTTY_TERMINAL_DATA_CURSOR_VISIBLE
@ GHOSTTY_TERMINAL_DATA_KITTY_IMAGE_MEDIUM_TEMP_FILE
@ GHOSTTY_TERMINAL_DATA_KITTY_IMAGE_STORAGE_LIMIT
@ GHOSTTY_TERMINAL_DATA_CLIPBOARD_WRITE_MAX_BYTES
@ GHOSTTY_TERMINAL_DATA_SCROLLBACK_MAX_BYTES
@ GHOSTTY_TERMINAL_DATA_ROWS
@ GHOSTTY_TERMINAL_DATA_SCROLLBACK_ROWS
@ GHOSTTY_TERMINAL_DATA_TOTAL_ROWS
@ GHOSTTY_TERMINAL_DATA_CURSOR_PENDING_WRAP
@ GHOSTTY_TERMINAL_DATA_KITTY_IMAGE_MEDIUM_SHARED_MEM
@ GHOSTTY_TERMINAL_DATA_SELECTION
@ GHOSTTY_TERMINAL_DATA_INVALID
@ GHOSTTY_TERMINAL_DATA_COLOR_FOREGROUND_DEFAULT
@ GHOSTTY_TERMINAL_DATA_KITTY_KEYBOARD_FLAGS
@ GHOSTTY_TERMINAL_DATA_COLOR_CURSOR_DEFAULT
@ GHOSTTY_TERMINAL_DATA_COLOR_FOREGROUND
@ GHOSTTY_TERMINAL_DATA_SCROLLBAR
@ GHOSTTY_TERMINAL_DATA_CURSOR_Y
@ GHOSTTY_TERMINAL_DATA_ACTIVE_SCREEN
@ GHOSTTY_TERMINAL_DATA_VT_GROUND
@ GHOSTTY_TERMINAL_DATA_CONTINUATION_MAX_BYTES
@ GHOSTTY_TERMINAL_DATA_VT_PROCESSING_ERROR
@ GHOSTTY_TERMINAL_DATA_CURSOR_X
@ GHOSTTY_TERMINAL_DATA_MOUSE_TRACKING
@ GHOSTTY_TERMINAL_DATA_PWD
@ GHOSTTY_TERMINAL_DATA_COLOR_PALETTE
@ GHOSTTY_TERMINAL_DATA_KITTY_GRAPHICS
@ GHOSTTY_TERMINAL_DATA_CURSOR_STYLE
@ GHOSTTY_TERMINAL_DATA_HEIGHT_PX
@ GHOSTTY_TERMINAL_DATA_COLOR_CURSOR
@ GHOSTTY_PROGRAM_STATUS_STATE_IDLE
@ GHOSTTY_PROGRAM_STATUS_STATE_ERROR
@ GHOSTTY_PROGRAM_STATUS_STATE_CLEAR
@ GHOSTTY_PROGRAM_STATUS_STATE_WORKING
@ GHOSTTY_PROGRAM_STATUS_STATE_DONE
@ GHOSTTY_PROGRAM_STATUS_STATE_BLOCKED
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_SUCCESS
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_IO_ERROR
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_DENIED
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_UNSUPPORTED
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_INVALID_DATA
@ GHOSTTY_CLIPBOARD_WRITE_RESULT_BUSY
@ GHOSTTY_TERMINAL_CURSOR_STYLE_BAR
@ GHOSTTY_TERMINAL_CURSOR_STYLE_BLOCK
@ GHOSTTY_TERMINAL_CURSOR_STYLE_UNDERLINE
@ GHOSTTY_TERMINAL_CURSOR_STYLE_BLOCK_HOLLOW
@ GHOSTTY_TERMINAL_UNKNOWN_SEQUENCE_OSC
@ GHOSTTY_TERMINAL_UNKNOWN_SEQUENCE_APC
@ GHOSTTY_TERMINAL_OPT_SCROLLBACK_MAX_BYTES
@ GHOSTTY_TERMINAL_OPT_ENQUIRY
@ GHOSTTY_TERMINAL_OPT_XT_CHECKSUM_REPORT
@ GHOSTTY_TERMINAL_OPT_SCROLLBACK_MAX_LINES
@ GHOSTTY_TERMINAL_OPT_TITLE_CHANGED
@ GHOSTTY_TERMINAL_OPT_GLYPH_PROTOCOL
@ GHOSTTY_TERMINAL_OPT_DEFAULT_CURSOR_STYLE
@ GHOSTTY_TERMINAL_OPT_KITTY_IMAGE_STORAGE_LIMIT
@ GHOSTTY_TERMINAL_OPT_KITTY_IMAGE_MEDIUM_SHARED_MEM
@ GHOSTTY_TERMINAL_OPT_APC_MAX_BYTES_KITTY
@ GHOSTTY_TERMINAL_OPT_RESET
@ GHOSTTY_TERMINAL_OPT_PWD_CHANGED
@ GHOSTTY_TERMINAL_OPT_UNKNOWN_MAX_BYTES
@ GHOSTTY_TERMINAL_OPT_COLOR_CURSOR
@ GHOSTTY_TERMINAL_OPT_TERMINFO_NAME
@ GHOSTTY_TERMINAL_OPT_CONTINUATION_MAX_BYTES
@ GHOSTTY_TERMINAL_OPT_COLOR_FOREGROUND
@ GHOSTTY_TERMINAL_OPT_SIZE
@ GHOSTTY_TERMINAL_OPT_USERDATA
@ GHOSTTY_TERMINAL_OPT_COLOR_PALETTE
@ GHOSTTY_TERMINAL_OPT_TITLE_REPORT
@ GHOSTTY_TERMINAL_OPT_DESKTOP_NOTIFICATION
@ GHOSTTY_TERMINAL_OPT_XT_CHECKSUM_EXTENSION
@ GHOSTTY_TERMINAL_OPT_COLOR_SCHEME
@ GHOSTTY_TERMINAL_OPT_XTVERSION
@ GHOSTTY_TERMINAL_OPT_CLIPBOARD_WRITE
@ GHOSTTY_TERMINAL_OPT_DEVICE_ATTRIBUTES
@ GHOSTTY_TERMINAL_OPT_RESIZE_PULL_SCROLLBACK
@ GHOSTTY_TERMINAL_OPT_RENDER_HOLD
@ GHOSTTY_TERMINAL_OPT_SELECTION
@ GHOSTTY_TERMINAL_OPT_PWD
@ GHOSTTY_TERMINAL_OPT_KITTY_IMAGE_MEDIUM_TEMP_FILE
@ GHOSTTY_TERMINAL_OPT_WRITE_PTY
@ GHOSTTY_TERMINAL_OPT_SEMANTIC_PROMPT
@ GHOSTTY_TERMINAL_OPT_MODE
@ GHOSTTY_TERMINAL_OPT_BELL
@ GHOSTTY_TERMINAL_OPT_MODE_DEFAULT
@ GHOSTTY_TERMINAL_OPT_COLOR_BACKGROUND
@ GHOSTTY_TERMINAL_OPT_TITLE
@ GHOSTTY_TERMINAL_OPT_RESIZE_WINDOW
@ GHOSTTY_TERMINAL_OPT_PROGRAM_STATUS
@ GHOSTTY_TERMINAL_OPT_DEFAULT_CURSOR_BLINK
@ GHOSTTY_TERMINAL_OPT_KITTY_IMAGE_MEDIUM_FILE
@ GHOSTTY_TERMINAL_OPT_PROGRESS_REPORT
@ GHOSTTY_TERMINAL_OPT_CLIPBOARD_WRITE_MAX_BYTES
@ GHOSTTY_TERMINAL_OPT_UNKNOWN_SEQUENCE
@ GHOSTTY_TERMINAL_OPT_APC_MAX_BYTES
@ GHOSTTY_TERMINAL_OPT_CLIPBOARD_READ
GhosttyClipboardReadResult result
const GhosttyClipboardContent * contents
const GhosttyString * available
GhosttyClipboardReadReplyFn reply
GhosttyClipboardLocation location
const GhosttyString * mimes
GhosttyClipboardWriteResult result
GhosttyClipboardWriteReplyFn reply
const GhosttyClipboardContent * contents
GhosttyClipboardLocation location
uint64_t primary_virtual_bytes
uint64_t primary_compressed_bytes
uint64_t primary_resident_bytes
uint64_t primary_compressed_pages
uint64_t alternate_virtual_bytes
uint64_t primary_image_bytes
uint64_t alternate_image_bytes
uint64_t alternate_compressed_pages
uint64_t alternate_compressed_bytes
bool compression_supported
uint64_t alternate_resident_bytes
GhosttyProgramStatusState state
GhosttyProgramStatusKind kind
GhosttyTerminalProgressState state
GhosttySemanticPromptKind kind
GhosttySemanticPromptPromptKind prompt_kind
GhosttyOscTerminator terminator
#define GHOSTTY_ENUM_TYPED
GhosttyTerminalResizeWindowGrid grid
GhosttyTerminalUnknownOscSequence osc
GhosttyTerminalUnknownStringSequence apc