libghostty
Toggle main menu visibility
Loading...
Searching...
No Matches
modes.h
Go to the documentation of this file.
1
6
7
#ifndef GHOSTTY_VT_MODES_H
8
#define GHOSTTY_VT_MODES_H
9
34
35
#include <stdbool.h>
36
#include <stddef.h>
37
#include <stdint.h>
38
39
#include <
ghostty/vt/types.h
>
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
44
49
#define GHOSTTY_MODE_KAM (ghostty_mode_new(2, true))
50
#define GHOSTTY_MODE_INSERT (ghostty_mode_new(4, true))
51
#define GHOSTTY_MODE_SRM (ghostty_mode_new(12, true))
52
#define GHOSTTY_MODE_LINEFEED (ghostty_mode_new(20, true))
54
59
#define GHOSTTY_MODE_DECCKM (ghostty_mode_new(1, false))
60
#define GHOSTTY_MODE_132_COLUMN (ghostty_mode_new(3, false))
61
#define GHOSTTY_MODE_SLOW_SCROLL (ghostty_mode_new(4, false))
62
#define GHOSTTY_MODE_REVERSE_COLORS (ghostty_mode_new(5, false))
63
#define GHOSTTY_MODE_ORIGIN (ghostty_mode_new(6, false))
64
#define GHOSTTY_MODE_WRAPAROUND (ghostty_mode_new(7, false))
65
#define GHOSTTY_MODE_AUTOREPEAT (ghostty_mode_new(8, false))
66
#define GHOSTTY_MODE_X10_MOUSE (ghostty_mode_new(9, false))
67
#define GHOSTTY_MODE_CURSOR_BLINKING (ghostty_mode_new(12, false))
68
#define GHOSTTY_MODE_CURSOR_VISIBLE (ghostty_mode_new(25, false))
69
#define GHOSTTY_MODE_ENABLE_MODE_3 (ghostty_mode_new(40, false))
70
#define GHOSTTY_MODE_REVERSE_WRAP (ghostty_mode_new(45, false))
71
#define GHOSTTY_MODE_ALT_SCREEN_LEGACY (ghostty_mode_new(47, false))
72
#define GHOSTTY_MODE_KEYPAD_KEYS (ghostty_mode_new(66, false))
73
#define GHOSTTY_MODE_BACKARROW_KEY_MODE (ghostty_mode_new(67, false))
74
#define GHOSTTY_MODE_LEFT_RIGHT_MARGIN (ghostty_mode_new(69, false))
75
#define GHOSTTY_MODE_NORMAL_MOUSE (ghostty_mode_new(1000, false))
76
#define GHOSTTY_MODE_BUTTON_MOUSE (ghostty_mode_new(1002, false))
77
#define GHOSTTY_MODE_ANY_MOUSE (ghostty_mode_new(1003, false))
78
#define GHOSTTY_MODE_FOCUS_EVENT (ghostty_mode_new(1004, false))
79
#define GHOSTTY_MODE_UTF8_MOUSE (ghostty_mode_new(1005, false))
80
#define GHOSTTY_MODE_SGR_MOUSE (ghostty_mode_new(1006, false))
81
#define GHOSTTY_MODE_ALT_SCROLL (ghostty_mode_new(1007, false))
82
#define GHOSTTY_MODE_URXVT_MOUSE (ghostty_mode_new(1015, false))
83
#define GHOSTTY_MODE_SGR_PIXELS_MOUSE (ghostty_mode_new(1016, false))
84
#define GHOSTTY_MODE_NUMLOCK_KEYPAD (ghostty_mode_new(1035, false))
85
#define GHOSTTY_MODE_ALT_ESC_PREFIX (ghostty_mode_new(1036, false))
86
#define GHOSTTY_MODE_ALT_SENDS_ESC (ghostty_mode_new(1039, false))
87
#define GHOSTTY_MODE_REVERSE_WRAP_EXT (ghostty_mode_new(1045, false))
88
#define GHOSTTY_MODE_ALT_SCREEN (ghostty_mode_new(1047, false))
89
#define GHOSTTY_MODE_SAVE_CURSOR (ghostty_mode_new(1048, false))
90
#define GHOSTTY_MODE_ALT_SCREEN_SAVE (ghostty_mode_new(1049, false))
91
#define GHOSTTY_MODE_BRACKETED_PASTE (ghostty_mode_new(2004, false))
92
#define GHOSTTY_MODE_SYNC_OUTPUT (ghostty_mode_new(2026, false))
93
#define GHOSTTY_MODE_GRAPHEME_CLUSTER (ghostty_mode_new(2027, false))
94
#define GHOSTTY_MODE_COLOR_SCHEME_REPORT (ghostty_mode_new(2031, false))
95
#define GHOSTTY_MODE_VISIBILITY_REPORT (ghostty_mode_new(2033, false))
96
#define GHOSTTY_MODE_IN_BAND_RESIZE (ghostty_mode_new(2048, false))
97
#define GHOSTTY_MODE_PASTE_EVENTS (ghostty_mode_new(5522, false))
99
107
typedef
uint16_t
GhosttyMode
;
108
118
static
inline
GhosttyMode
ghostty_mode_new(uint16_t value,
bool
ansi) {
119
return
(
GhosttyMode
)((value & 0x7FFF) | ((uint16_t)ansi << 15));
120
}
121
130
static
inline
uint16_t ghostty_mode_value(
GhosttyMode
mode) {
131
return
mode & 0x7FFF;
132
}
133
142
static
inline
bool
ghostty_mode_ansi(
GhosttyMode
mode) {
143
return
(mode >> 15) != 0;
144
}
145
152
typedef
enum
GHOSTTY_ENUM_TYPED
{
154
GHOSTTY_MODE_REPORT_NOT_RECOGNIZED
= 0,
156
GHOSTTY_MODE_REPORT_SET
= 1,
158
GHOSTTY_MODE_REPORT_RESET
= 2,
160
GHOSTTY_MODE_REPORT_PERMANENTLY_SET
= 3,
162
GHOSTTY_MODE_REPORT_PERMANENTLY_RESET
= 4,
163
GHOSTTY_MODE_REPORT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE,
164
}
GhosttyModeReportState
;
165
187
GHOSTTY_API
GhosttyResult
ghostty_mode_report_encode
(
188
GhosttyMode
mode,
189
GhosttyModeReportState
state,
190
char
* buf,
191
size_t
buf_len,
192
size_t
* out_written);
193
194
#ifdef __cplusplus
195
}
196
#endif
197
199
200
#endif
/* GHOSTTY_VT_MODES_H */
ghostty_mode_report_encode
GHOSTTY_API GhosttyResult ghostty_mode_report_encode(GhosttyMode mode, GhosttyModeReportState state, char *buf, size_t buf_len, size_t *out_written)
GhosttyMode
uint16_t GhosttyMode
Definition
modes.h:107
GhosttyModeReportState
GhosttyModeReportState
Definition
modes.h:152
GHOSTTY_MODE_REPORT_PERMANENTLY_SET
@ GHOSTTY_MODE_REPORT_PERMANENTLY_SET
Definition
modes.h:160
GHOSTTY_MODE_REPORT_NOT_RECOGNIZED
@ GHOSTTY_MODE_REPORT_NOT_RECOGNIZED
Definition
modes.h:154
GHOSTTY_MODE_REPORT_RESET
@ GHOSTTY_MODE_REPORT_RESET
Definition
modes.h:158
GHOSTTY_MODE_REPORT_SET
@ GHOSTTY_MODE_REPORT_SET
Definition
modes.h:156
GHOSTTY_MODE_REPORT_PERMANENTLY_RESET
@ GHOSTTY_MODE_REPORT_PERMANENTLY_RESET
Definition
modes.h:162
types.h
GhosttyResult
GhosttyResult
Definition
types.h:88
GHOSTTY_ENUM_TYPED
#define GHOSTTY_ENUM_TYPED
Definition
types.h:81
include
ghostty
vt
modes.h
Generated by
1.18.0