@@ -157,6 +157,47 @@ typedef struct
157157}
158158TermDef ;
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+
160201static 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