X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=gui.c;h=6928e0b3c23d7de1019eb81758c9f9cc894cdb05;hb=c103b1631056eea2e63adfc8261c316c8a16928b;hp=e41977efa9b90a3afc95b72434de935125c95685;hpb=4b22b42cd97e269118e6d4f6e0f4442f098a843f;p=paraslash.git diff --git a/gui.c b/gui.c index e41977ef..6928e0b3 100644 --- a/gui.c +++ b/gui.c @@ -53,7 +53,7 @@ static struct ringbuffer *bot_win_rb; static unsigned scroll_position; -static int curses_active; +static bool curses_active; static pid_t cmd_pid; static int command_fds[2] = {-1, -1}; @@ -63,15 +63,23 @@ static struct gui_args_info conf; enum {GETCH_MODE, COMMAND_MODE, EXTERNAL_MODE}; -#define COLOR_STATUSBAR 52 -#define COLOR_COMMAND 53 -#define COLOR_OUTPUT 54 -#define COLOR_MSG 55 -#define COLOR_ERRMSG 56 -#define COLOR_WELCOME 57 -#define COLOR_SEPARATOR 58 -#define COLOR_TOP 59 -#define COLOR_BOT 60 +/** + * Codes for various colors. + * + * Each status item has its own color pair. The ones defined here start at a + * higher number so that they do not overlap with these. + */ +enum gui_color_pair { + COLOR_STATUSBAR = NUM_STAT_ITEMS + 1, + COLOR_COMMAND, + COLOR_OUTPUT, + COLOR_MSG, + COLOR_ERRMSG, + COLOR_WELCOME, + COLOR_SEPARATOR, + COLOR_TOP, + COLOR_BOT, +}; struct gui_command { const char *key; @@ -564,7 +572,7 @@ static void shutdown_curses(void) if (!curses_active) return; def_prog_mode(); - curses_active = 0; + curses_active = false; endwin(); } @@ -823,7 +831,7 @@ static void init_colors_or_die(void) /* (Re-)initialize the curses library. */ static void init_curses(void) { - curses_active = 1; + curses_active = true; if (top.win && refresh() == ERR) /* refresh is really needed */ msg_n_exit(EXIT_FAILURE, "refresh() failed\n"); if (LINES < theme.lines_min || COLS < theme.cols_min) @@ -1071,14 +1079,6 @@ check_return: case COMMAND_MODE: ret = wgetch(top.win); if (ret != ERR && ret != KEY_RESIZE) { - if (command_fds[0] >= 0) { - close(command_fds[0]); - command_fds[0] = -1; - } - if (command_fds[1] >= 0) { - close(command_fds[1]); - command_fds[1] = -1; - } if (cmd_pid) kill(cmd_pid, SIGTERM); return -1; @@ -1553,7 +1553,6 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } init_theme_or_die(conf.theme_arg, &theme); - top.lines = theme.top_lines_default; setup_signal_handling(); bot_win_rb = ringbuffer_new(RINGBUFFER_SIZE); setlocale(LC_CTYPE, "");