From ecad75a3b32323094a5e15969823bb51312b611e Mon Sep 17 00:00:00 2001 From: nedko Date: Fri, 25 Nov 2022 16:08:32 +0200 Subject: [PATCH] Added initial control sequences --- terminal_control.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 terminal_control.h diff --git a/terminal_control.h b/terminal_control.h new file mode 100644 index 0000000..e1433d0 --- /dev/null +++ b/terminal_control.h @@ -0,0 +1,57 @@ +#ifndef TERMINAL_CONTROL_H_ +#define TERMINAL_CONTROL_H_ + +/* Terminal Console Code Input + * ESC symbol "\x1b" | "\033" | "\e" + * Open Square bracket symbol "[" + * Console Code - see "man console_codes" + */ + +#define TERMINAL_RESET "\e[0m" + +#define TERMINAL_BOLD_ON "\e[1m" +#define TERMINAL_UNDERLINE_ON "\e[4m" +#define TERMINAL_BLINK_ON "\e[5m" +#define TERMINAL_INVERT_ON "\e[7m" + +#define TERMINAL_BOLD_OFF "\e[22m" +#define TERMINAL_UNDERLINE_OFF "\e[24m" +#define TERMINAL_BLINK_OFF "\e[25m" +#define TERMINAL_INVERT_OFF "\e[27m" + +#define TERMINAL_FG_BLACK "\e[30m" +#define TERMINAL_FG_RED "\e[31m" +#define TERMINAL_FG_GREEN "\e[32m" +#define TERMINAL_FG_BROWN "\e[33m" +#define TERMINAL_FG_BLUE "\e[34m" +#define TERMINAL_FG_MAGENTA "\e[35m" +#define TERMINAL_FG_CYAN "\e[36m" +#define TERMINAL_FG_WHITE "\e[35m" +#define TERMINAL_FG_DEFAULT "\e[39m" + +#define TERMINAL_BG_BLACK "\e[40m" +#define TERMINAL_BG_RED "\e[41m" +#define TERMINAL_BG_GREEN "\e[42m" +#define TERMINAL_BG_BROWN "\e[43m" +#define TERMINAL_BG_BLUE "\e[44m" +#define TERMINAL_BG_MAGENTA "\e[45m" +#define TERMINAL_BG_CYAN "\e[46m" +#define TERMINAL_BG_WHITE "\e[45m" +#define TERMINAL_BG_DEFAULT "\e[49m" + +#define TERMINAL_CUR_UP(x) "\e["#x"A" +#define TERMINAL_CUR_DOWN(x) "\e["#x"B" +#define TERMINAL_CUR_RIGHT(x) "\e["#x"C" +#define TERMINAL_CUR_LEFT(x) "\e["#x"D" +#define TERMINAL_CUR_DOWN_NL(x) "\e["#x"E" +#define TERMINAL_CUR_UP_NL(x) "\e["#x"F" +#define TERMINAL_CUR_SET_COL(x) "\e["#x"G" +#define TERMINAL_CUR_SET_POS(x,y) "\e["#x";"#y"H" +#define TERMINAL_ERASE_DOWN "\e[J" +#define TERMINAL_ERASE_UP "\e[1J" +#define TERMINAL_CLEAR "\e[2J" +#define TERMINAL_ERASE_LINE_RIGHT "\e[K" +#define TERMINAL_ERASE_LINE_LEFT "\e[1K" +#define TERMINAL_ERASE_LINE_ALL "\e[2K" + +#endif // TERMINAL_CONTROL_H_