#define FONT "Verdana:size=10"
#define LNSPACE 0
#else
- #define FONT "Liberation Mono:size=11"
+ #define FONT "Verdana:size=11"
#define LNSPACE 1
#endif
LineSpacing = LNSPACE,
Timeout = 50,
TabWidth = 4,
- ScrollBy = 4,
+ ScrollBy = 1,
ClickTime = 500,
MaxScanDist = 0,
Syntax = ON,
}
static void scroll_up(View* view) {
+ if (view->index > 0)
+ view->index--;
+ else if (view->rows[0]->off > 0)
+ resize(view, view->width, view->nrows, (view->rows[0]->off - 1));
}
static void scroll_dn(View* view) {
} else {
view->index++;
}
+
+ printf("%ld <= %ld\n", view->nvisible, (view->nrows - view->index));
+ assert(view->nvisible <= (view->nrows - view->index));
}
void view_scroll(View* view, int move) {
case MouseLeft: mouse_left(Focused, pressed, row, col); break;
case MouseMiddle: mouse_middle(Focused, pressed, row, col); break;
case MouseRight: mouse_right(Focused, pressed, row, col); break;
- case MouseWheelUp: view_scroll(win_view(Focused), -ScrollBy); break;
- case MouseWheelDn: view_scroll(win_view(Focused), +ScrollBy); break;
+ case MouseWheelUp:
+ if (!pressed) return;
+ view_scroll(win_view(Focused), -ScrollBy);
+ break;
+ case MouseWheelDn:
+ if (!pressed) return;
+ view_scroll(win_view(Focused), +ScrollBy);
+ break;
}
}