#include #include #include #include #include #include #include "logger.c" #include "tui.c" #define CTRL(x) (x & 0x1f) enum { PAIR_HEADER = 1, }; // Globals bool g_exit; void ui_print(void) { int l = 1; tui_line(false, l++, PAIR_HEADER, A_BOLD, "SALIS DATA CLIENT"); } void ev_handle(void) { int ev = getch(); switch (ev) { case CTRL('c'): g_exit = true; break; case KEY_RESIZE: clear(); tui_line_buff_resize(); default: break; } } void init(void) { log_info("Initializing salis data client"); setlocale(LC_ALL, ""); initscr(); raw(); noecho(); curs_set(0); keypad(stdscr, TRUE); start_color(); init_color(COLOR_BLACK, 0, 0, 0); init_pair(PAIR_NORMAL, COLOR_WHITE, COLOR_BLACK); init_pair(PAIR_HEADER, COLOR_BLUE, COLOR_BLACK); tui_line_buff_resize(); } void exec(void) { while (!g_exit) { ui_print(); ev_handle(); } } void quit(void) { tui_line_buff_free(); endwin(); log_info("Shutting down salis data client"); } int main(void) { init(); exec(); quit(); return 0; }