aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--thumbs.c6
-rw-r--r--thumbs.h3
2 files changed, 4 insertions, 5 deletions
diff --git a/thumbs.c b/thumbs.c
index 3f187fc..ae12614 100644
--- a/thumbs.c
+++ b/thumbs.c
@@ -32,7 +32,7 @@ void tns_init(tns_t *tns, int cnt) {
if (!tns)
return;
- tns->cnt = tns->first = tns->sel = 0;
+ tns->cnt = tns->first = tns->sel = tns->vis = 0;
tns->thumbs = (thumb_t*) s_malloc(cnt * sizeof(thumb_t));
}
@@ -115,8 +115,8 @@ void tns_render(tns_t *tns, win_t *win) {
x += thumb_dim;
}
}
+ tns->vis = i - tns->first;
- printf("%d, %d\n", tns->sel, tns->cnt);
tns_highlight(tns, win, -1);
}
@@ -166,7 +166,7 @@ void tns_move_selection(tns_t *tns, win_t *win, movedir_t dir) {
}
break;
case MOVE_DOWN:
- if (sel / tns->cols < tns->rows - 1 && sel + tns->cols < tns->cnt) {
+ if (sel / tns->cols < tns->rows - 1 && sel + tns->cols < tns->vis) {
tns->sel += tns->cols;
tns_highlight(tns, win, sel);
}
diff --git a/thumbs.h b/thumbs.h
index 157173d..9c3c7d0 100644
--- a/thumbs.h
+++ b/thumbs.h
@@ -45,10 +45,9 @@ typedef struct tns_s {
int rows;
int first;
int sel;
+ int vis;
} tns_t;
-extern const int thumb_dim;
-
void tns_init(tns_t*, int);
void tns_free(tns_t*, win_t*);