Skip to content

Commit 6f4ff07

Browse files
committed
ChafaTermDb: Add basic support for GNU/Hurd console
1 parent fba0c09 commit 6f4ff07

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

chafa/chafa-term-db.c

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,47 @@ typedef struct
157157
}
158158
TermDef;
159159

160+
static const SeqStr vt100_seqs [] =
161+
{
162+
{ CHAFA_TERM_SEQ_RESET_TERMINAL_SOFT, "\033[!p" },
163+
{ CHAFA_TERM_SEQ_RESET_TERMINAL_HARD, "\033c" },
164+
{ CHAFA_TERM_SEQ_RESET_ATTRIBUTES, "\033[0m" },
165+
{ CHAFA_TERM_SEQ_CLEAR, "\033[2J" },
166+
{ CHAFA_TERM_SEQ_ENABLE_BOLD, "\033[1m" },
167+
{ CHAFA_TERM_SEQ_INVERT_COLORS, "\033[7m" },
168+
{ CHAFA_TERM_SEQ_CURSOR_TO_TOP_LEFT, "\033[0H" },
169+
{ CHAFA_TERM_SEQ_CURSOR_TO_BOTTOM_LEFT, "\033[9999;1H" },
170+
{ CHAFA_TERM_SEQ_CURSOR_TO_POS, "\033[%2;%1H" },
171+
{ CHAFA_TERM_SEQ_CURSOR_UP, "\033[%1A" },
172+
{ CHAFA_TERM_SEQ_CURSOR_UP_1, "\033[A" },
173+
{ CHAFA_TERM_SEQ_CURSOR_DOWN, "\033[%1B" },
174+
{ CHAFA_TERM_SEQ_CURSOR_DOWN_1, "\033[B" },
175+
{ CHAFA_TERM_SEQ_CURSOR_LEFT, "\033[%1D" },
176+
{ CHAFA_TERM_SEQ_CURSOR_LEFT_1, "\033[D" },
177+
{ CHAFA_TERM_SEQ_CURSOR_RIGHT, "\033[%1C" },
178+
{ CHAFA_TERM_SEQ_CURSOR_RIGHT_1, "\033[C" },
179+
{ CHAFA_TERM_SEQ_CURSOR_UP_SCROLL, "\033M" },
180+
{ CHAFA_TERM_SEQ_CURSOR_DOWN_SCROLL, "\033D" },
181+
{ CHAFA_TERM_SEQ_INSERT_CELLS, "\033[%1@" },
182+
{ CHAFA_TERM_SEQ_DELETE_CELLS, "\033[%1P" },
183+
{ CHAFA_TERM_SEQ_INSERT_ROWS, "\033[%1L" },
184+
{ CHAFA_TERM_SEQ_DELETE_ROWS, "\033[%1M" },
185+
{ CHAFA_TERM_SEQ_SET_SCROLLING_ROWS, "\033[%1;%2r" },
186+
{ CHAFA_TERM_SEQ_ENABLE_INSERT, "\033[4h" },
187+
{ CHAFA_TERM_SEQ_DISABLE_INSERT,"\033[4l" },
188+
{ CHAFA_TERM_SEQ_ENABLE_CURSOR, "\033[?25h" },
189+
{ CHAFA_TERM_SEQ_DISABLE_CURSOR, "\033[?25l" },
190+
{ CHAFA_TERM_SEQ_ENABLE_ECHO, "\033[12l" },
191+
{ CHAFA_TERM_SEQ_DISABLE_ECHO, "\033[12h" },
192+
{ CHAFA_TERM_SEQ_ENABLE_WRAP, "\033[?7h" },
193+
{ CHAFA_TERM_SEQ_DISABLE_WRAP, "\033[?7l" },
194+
{ CHAFA_TERM_SEQ_RESET_SCROLLING_ROWS, "\033[r" },
195+
{ CHAFA_TERM_SEQ_SAVE_CURSOR_POS, "\033[s" },
196+
{ CHAFA_TERM_SEQ_RESTORE_CURSOR_POS, "\033[u" },
197+
198+
{ CHAFA_TERM_SEQ_MAX, NULL }
199+
};
200+
160201
static const SeqStr vt220_seqs [] =
161202
{
162203
{ CHAFA_TERM_SEQ_RESET_TERMINAL_SOFT, "\033[!p" },
@@ -626,6 +667,13 @@ static const TermDef term_def [] =
626667
kitty_seqs, kitty_virt_seqs }, INHERIT_NONE, CHAFA_PASSTHROUGH_NONE,
627668
PIXEL_PT_NONE, QUIRKS_NONE, LINUX_DESKTOP_SYMS },
628669

670+
/* GNU/Hurd console */
671+
{ TERM_TYPE_TERM, "hurd", VARIANT_NONE, VERSION_NONE,
672+
{ { ENV_OP_INCL, ENV_CMP_EXACT, "TERM", "hurd", 10 } },
673+
{ vt100_seqs, color_8_seqs },
674+
INHERIT_NONE, CHAFA_PASSTHROUGH_NONE, PIXEL_PT_NONE,
675+
QUIRKS_NONE, LINUX_CONSOLE_SYMS },
676+
629677
{ TERM_TYPE_TERM, "iterm", VARIANT_NONE, VERSION_NONE,
630678
{ { ENV_OP_INCL, ENV_CMP_EXACT, "LC_TERMINAL", "iTerm2", 0 },
631679
{ ENV_OP_INCL, ENV_CMP_EXACT, "TERM_PROGRAM", "iTerm.app", 0 } },

0 commit comments

Comments
 (0)