login

<     >

2014-11-08 13:53:46 (UTC-02:00)

Marcel Rodrigues <marcelgmr@gmail.com>

Add scroll bar.

diff --git a/rover.c b/rover.c
index a7b2220..56ccf96 100644
--- a/rover.c
+++ b/rover.c
@@ -169,12 +169,22 @@ update_browser()
                     COLS - strlen(FNAME(j)) - 2, (int) FSIZE(j));
         else
             strcpy(ROW, FNAME(j));
-        (void) mvwhline(rover.window, i + 1, 1, ' ', COLS - 2);
-        (void) mvwaddnstr(rover.window, i + 1, 1, ROW, COLS - 2);
+        mvwhline(rover.window, i + 1, 1, ' ', COLS - 2);
+        mvwaddnstr(rover.window, i + 1, 1, ROW, COLS - 2);
         wcolor_set(rover.window, DEFAULT, NULL);
         if (j == rover.fsel)
             wattr_off(rover.window, A_REVERSE, NULL);
     }
+    if (rover.nfiles > HEIGHT) {
+        int center, height;
+        center = (rover.scroll + (HEIGHT >> 1)) * HEIGHT / rover.nfiles;
+        height = (HEIGHT-1) * HEIGHT / rover.nfiles;
+        if (!height) height = 1;
+        wcolor_set(rover.window, RVC_BORDER, NULL);
+        wborder(rover.window, 0, 0, 0, 0, 0, 0, 0, 0);
+        mvwvline(rover.window, center-(height>>1)+1, COLS-1, ACS_CKBOARD, height);
+        wcolor_set(rover.window, DEFAULT, NULL);
+    }
     wrefresh(rover.window);
     STATUS[0] = rover.flags & SHOW_FILES  ? 'F' : ' ';
     STATUS[1] = rover.flags & SHOW_DIRS   ? 'D' : ' ';