diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2020-02-07 18:19:27 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2020-02-07 18:19:27 -0800 |
| commit | 2d9eac4237b23280fa9f10639bb74367f33729c6 (patch) | |
| tree | 716f30700c80d0f95e9a5e5f40b3a83a88f1a82f /bb.c | |
| parent | 0d5803047b9bfbbe9bc3892be50140509c611d1e (diff) | |
Added a scrollbar.
Diffstat (limited to 'bb.c')
| -rw-r--r-- | bb.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -907,6 +907,17 @@ void render(bb_t *bb) fputs(" \033[K\033[0m", tty_out); // Reset color and attributes } + // Scrollbar: + if (bb->nfiles > ONSCREEN) { + int height = (ONSCREEN*ONSCREEN + (bb->nfiles-1))/bb->nfiles; + int start = 2 + (bb->scroll*ONSCREEN)/bb->nfiles; + for (int i = 2; i < 2 + ONSCREEN; i++) { + move_cursor(tty_out, winsize.ws_col-1, i); + fprintf(tty_out, "%s\033[0m", + (i >= start && i < start + height) ? SCROLLBAR_FG : SCROLLBAR_BG); + } + } + move_cursor(tty_out, winsize.ws_col/2, winsize.ws_row - 1); fputs("\033[0m\033[K", tty_out); int x = winsize.ws_col; |
