login

<     >

2015-03-30 13:05:19 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

Avoid flashing by not using wclear().

diff --git a/rover.c b/rover.c
index 280348b..c60c4cd 100644
--- a/rover.c
+++ b/rover.c
@@ -243,7 +243,6 @@ update_view()
     mvaddch(0, COLS-4, rover.tab + '0');
     color_set(DEFAULT, NULL);
     attr_off(A_BOLD, NULL);
-    wclear(rover.window);
     wcolor_set(rover.window, RVC_BORDER, NULL);
     wborder(rover.window, 0, 0, 0, 0, 0, 0, 0, 0);
     wcolor_set(rover.window, DEFAULT, NULL);
@@ -277,6 +276,8 @@ update_view()
         if (j == ESEL)
             wattr_off(rover.window, A_REVERSE, NULL);
     }
+    for (;i < HEIGHT; i++)
+        mvwhline(rover.window, i + 1, 1, ' ', COLS - 2);
     if (rover.nfiles > HEIGHT) {
         int center, height;
         center = (SCROLL + (HEIGHT >> 1)) * HEIGHT / rover.nfiles;
@@ -288,7 +289,6 @@ update_view()
         mvwvline(rover.window, center-(height>>1)+1, COLS-1, RVS_SCROLLBAR, height);
         wcolor_set(rover.window, DEFAULT, NULL);
     }
-    wnoutrefresh(rover.window);
     if (rover.marks.nentries) {
         sprintf(STATUS, "%7d)", rover.marks.nentries);
         *strrchr(STATUS, ' ') = '(';
@@ -307,7 +307,7 @@ update_view()
     color_set(RVC_STATUS, NULL);
     mvaddstr(LINES - 1, STATUSPOS, STATUS);
     color_set(DEFAULT, NULL);
-    doupdate();
+    wrefresh(rover.window);
 }
 
 /* SIGSEGV handler: clean up curses before exiting. */