Commit Diff


commit - 222db952e27fd2058999f79b82e9c0f8db00ee46
commit + a81852bf162468a37fcc272dfe430669ef26d274
blob - a7b22207bbe1bb28297d6b5e7543c67ba53cb5af
blob + 56ccf9619b732edc8abd0435d3c1add776e6efa9
--- rover.c
+++ rover.c
@@ -169,11 +169,21 @@ 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' : ' ';