gui: Move call to print_all_items() into init_wins().
authorAndre Noll <maan@systemlinux.org>
Sun, 26 Jan 2014 19:08:05 +0000 (20:08 +0100)
committerAndre Noll <maan@systemlinux.org>
Sun, 4 May 2014 13:48:54 +0000 (15:48 +0200)
All three callers of init_wins() called print_all_items() directly
thereafter. init_wins() had to be moved below print_all_items().

gui.c

diff --git a/gui.c b/gui.c
index ead7520..57cfe63 100644 (file)
--- a/gui.c
+++ b/gui.c
@@ -564,75 +564,6 @@ __noreturn __printf_2_3 static void die(int exit_code, const char* fmt, ...)
        exit(exit_code);
 }
 
-/*
- * init all windows
- */
-static void init_wins(int top_lines)
-{
-       int top_y = 0, bot_y = top_lines + 1, sb_y = LINES - 2,
-               in_y = LINES - 1, sep_y = top_lines;
-
-       top.lines = top_lines;
-       bot.lines = LINES - top.lines - 3;
-       sb.lines = in.lines = sep.lines = 1;
-
-       top.cols = bot.cols = sb.cols = in.cols = sep.cols = COLS;
-
-       assume_default_colors(theme.default_fg, theme.default_bg);
-       if (top.win) {
-               wresize(top.win, top.lines, top.cols);
-               mvwin(top.win, top_y, 0);
-
-               wresize(sb.win, sb.lines, sb.cols);
-               mvwin(sb.win, sb_y, 0);
-
-               wresize(sep.win, sep.lines, sep.cols);
-               mvwin(sep.win, sep_y, 0);
-
-               wresize(bot.win, bot.lines, bot.cols);
-               mvwin(bot.win, bot_y, 0);
-
-               wresize(in.win, in.lines, in.cols);
-               mvwin(in.win, in_y, 0);
-       } else {
-               sep.win = newwin(sep.lines, sep.cols, sep_y, 0);
-               top.win = newwin(top.lines, top.cols, top_y, 0);
-               bot.win = newwin(bot.lines, bot.cols, bot_y, 0);
-               sb.win = newwin(sb.lines, sb.cols, sb_y, 0);
-               in.win = newwin(in.lines, in.cols, in_y, 0);
-               if (!top.win || !bot.win || !sb.win || !in.win || !sep.win)
-                       die(EXIT_FAILURE, "Error: Cannot create curses windows\n");
-               wclear(bot.win);
-               wclear(sb.win);
-               wclear(in.win);
-               scrollok(bot.win, 1);
-               wattron(sb.win, COLOR_PAIR(COLOR_STATUSBAR));
-               wattron(sep.win, COLOR_PAIR(COLOR_SEPARATOR));
-               wattron(bot.win, COLOR_PAIR(COLOR_BOT));
-               wattron(top.win, COLOR_PAIR(COLOR_TOP));
-               nodelay(top.win, 1);
-               nodelay(bot.win, 1);
-               nodelay(sb.win, 1);
-               nodelay(in.win, 0);
-
-               keypad(top.win, 1);
-               keypad(bot.win, 1);
-               keypad(sb.win, 1);
-               keypad(in.win, 1);
-       }
-       wmove(sep.win, 0, 0);
-       whline(sep.win, theme.sep_char, COLS);
-       wclear(top.win);
-       //wclear(bot.win);
-       wnoutrefresh(top.win);
-       wnoutrefresh(bot.win);
-       print_status_bar();
-       wnoutrefresh(sb.win);
-       wnoutrefresh(in.win);
-       wnoutrefresh(sep.win);
-       doupdate();
-}
-
 /*
  * Print stat item #i to curses window
  */
@@ -737,6 +668,76 @@ static void clear_all_items(void)
        }
 }
 
+/*
+ * init all windows
+ */
+static void init_wins(int top_lines)
+{
+       int top_y = 0, bot_y = top_lines + 1, sb_y = LINES - 2,
+               in_y = LINES - 1, sep_y = top_lines;
+
+       top.lines = top_lines;
+       bot.lines = LINES - top.lines - 3;
+       sb.lines = in.lines = sep.lines = 1;
+
+       top.cols = bot.cols = sb.cols = in.cols = sep.cols = COLS;
+
+       assume_default_colors(theme.default_fg, theme.default_bg);
+       if (top.win) {
+               wresize(top.win, top.lines, top.cols);
+               mvwin(top.win, top_y, 0);
+
+               wresize(sb.win, sb.lines, sb.cols);
+               mvwin(sb.win, sb_y, 0);
+
+               wresize(sep.win, sep.lines, sep.cols);
+               mvwin(sep.win, sep_y, 0);
+
+               wresize(bot.win, bot.lines, bot.cols);
+               mvwin(bot.win, bot_y, 0);
+
+               wresize(in.win, in.lines, in.cols);
+               mvwin(in.win, in_y, 0);
+       } else {
+               sep.win = newwin(sep.lines, sep.cols, sep_y, 0);
+               top.win = newwin(top.lines, top.cols, top_y, 0);
+               bot.win = newwin(bot.lines, bot.cols, bot_y, 0);
+               sb.win = newwin(sb.lines, sb.cols, sb_y, 0);
+               in.win = newwin(in.lines, in.cols, in_y, 0);
+               if (!top.win || !bot.win || !sb.win || !in.win || !sep.win)
+                       die(EXIT_FAILURE, "Error: Cannot create curses windows\n");
+               wclear(bot.win);
+               wclear(sb.win);
+               wclear(in.win);
+               scrollok(bot.win, 1);
+               wattron(sb.win, COLOR_PAIR(COLOR_STATUSBAR));
+               wattron(sep.win, COLOR_PAIR(COLOR_SEPARATOR));
+               wattron(bot.win, COLOR_PAIR(COLOR_BOT));
+               wattron(top.win, COLOR_PAIR(COLOR_TOP));
+               nodelay(top.win, 1);
+               nodelay(bot.win, 1);
+               nodelay(sb.win, 1);
+               nodelay(in.win, 0);
+
+               keypad(top.win, 1);
+               keypad(bot.win, 1);
+               keypad(sb.win, 1);
+               keypad(in.win, 1);
+       }
+       wmove(sep.win, 0, 0);
+       whline(sep.win, theme.sep_char, COLS);
+       wclear(top.win);
+       print_all_items();
+       //wclear(bot.win);
+       wnoutrefresh(top.win);
+       wnoutrefresh(bot.win);
+       print_status_bar();
+       wnoutrefresh(sb.win);
+       wnoutrefresh(in.win);
+       wnoutrefresh(sep.win);
+       doupdate();
+}
+
 static void init_pair_or_die(short pair, short f, short b)
 {
        if (init_pair(pair, f, b) == ERR)
@@ -787,7 +788,6 @@ static void init_curses(void)
        init_colors_or_die();
        clear(); /* ignore non-fatal errors */
        init_wins(theme.top_lines_default);
-       print_all_items();
        // noecho(); /* don't echo input */
 }
 
@@ -1328,7 +1328,6 @@ static void com_shrink_top_win(void)
                return;
        }
        init_wins(top.lines - 1);
-       print_all_items();
        print_in_bar(COLOR_MSG, "%s", "decreased top window");
 }
 
@@ -1339,7 +1338,6 @@ static void com_enlarge_top_win(void)
                return;
        }
        init_wins(top.lines + 1);
-       print_all_items();
        print_in_bar(COLOR_MSG, "increased top window");
 }