- wrefresh(screen->scr.sub_ncw);
-}
-
-static void sysinfo_screen_scroll(struct sysinfo_screen *screen, int key)
-{
- int win_lines = getmaxy(screen->scr.sub_ncw);
- int delta;
-
- if (key == KEY_UP)
- delta = -1;
- else if (key == KEY_DOWN)
- delta = 1;
- else
- return;
-
- if (screen->scroll_y + delta < 0)
- return;
- if (screen->scroll_y + delta + win_lines > screen->n_lines - 1)
- return;
-
- screen->scroll_y += delta;
- wscrl(screen->scr.sub_ncw, delta);
-
- if (delta > 0) {
- mvwaddstr(screen->scr.sub_ncw, win_lines - 1, 1,
- screen->lines[screen->scroll_y+win_lines-1]);
- } else if (delta < 0) {
- mvwaddstr(screen->scr.sub_ncw, 0, 1,
- screen->lines[screen->scroll_y]);
- }
-
- wrefresh(screen->scr.sub_ncw);
-}
-
-static void sysinfo_clear(struct sysinfo_screen *screen)
-{
- talloc_free(screen->lines);
- screen->n_lines = 0;
- screen->n_alloc_lines = 16;
- screen->lines = talloc_array(screen, char *, screen->n_alloc_lines);
-}
-
-static __attribute__((format(printf, 2, 3))) void sysinfo_screen_append_line(
- struct sysinfo_screen *screen, const char *fmt, ...)