}
size_t view_limitrows(View* view, size_t maxrows, size_t ncols) {
- return 1;
+ size_t nrows = 0, bend = buf_end(&(view->buffer));
+ for (size_t i = 0; i < view->nrows; nrows++, i++) {
+ Row* crow = view->rows[view->index + i];
+ size_t last = (crow->len ? crow->off : crow->cols[crow->len-1].off);
+ if (last >= bend)
+ break;
+ }
+ printf("%lu %lu\n", nrows, bend);
+ view_resize(view, view->width, nrows);
+ view_update(view, 0, 0);
+ return nrows;
}
size_t rune_width(int c, size_t xpos, size_t width) {
View* view = win_view(i);
view_resize(view, (csr->w - csr->x), nrows);
view_update(view, &csrx, &csry);
+ if (i == TAGS)
+ nrows = view_limitrows(view, nrows);
draw_rect(bg, csr->x, csr->y, csr->w, (nrows * fheight) + 9);
for (size_t i = 0; i < nrows; i++) {
Row* row = view_getrow(view, i + view->index);
}
/* determine the size of the regions */
drawcsr csr = { .w = X.width, .h = X.height };
- size_t maxtagrows = ((X.height - 2) / 4) / fheight;
- size_t tagrows = 1;
- size_t editrows = ((X.height - 7) / fheight) - tagrows;
/* draw the regions to the window */
+ size_t tagrows = ((X.height - 2) / 4) / fheight;
draw_view(TAGS, tagrows, &csr, TagsBg, TagsFg, TagsSel);
draw_hrule(&csr);
+ size_t editrows = ((X.height - csr.x) / fheight);
draw_view(EDIT, editrows, &csr, EditBg, EditFg, EditSel);
draw_scroll(&csr);
/* flush to the server */