3eb170a9a5
The openurlonclick and scrollback patches are now working together, so links can be clicked in the scrollback buffer too. This update also adds url underlining and other improvements to the openurlonclick patch. The full list of changes in the openurlonclick patch: - Adds scrollback support - Adds modkey option - Better url detection - Underlines url when the mouse pointer is over a link - Opens a browser as a background process, so it won't lock the terminal anymore - Fixes a segmentation fault bug
56 lines
758 B
C
56 lines
758 B
C
void
|
|
kscrolldown(const Arg* a)
|
|
{
|
|
int n = a->i;
|
|
|
|
if (n < 0)
|
|
n = term.row + n;
|
|
|
|
if (n > term.scr)
|
|
n = term.scr;
|
|
|
|
if (term.scr > 0) {
|
|
term.scr -= n;
|
|
selscroll(0, -n);
|
|
tfulldirt();
|
|
}
|
|
|
|
#if SIXEL_PATCH
|
|
scroll_images(-1*n);
|
|
#endif // SIXEL_PATCH
|
|
|
|
#if OPENURLONCLICK_PATCH
|
|
if (n > 0)
|
|
restoremousecursor();
|
|
#endif // OPENURLONCLICK_PATCH
|
|
}
|
|
|
|
void
|
|
kscrollup(const Arg* a)
|
|
{
|
|
int n = a->i;
|
|
if (n < 0)
|
|
n = term.row + n;
|
|
|
|
if (term.scr + n > term.histn)
|
|
n = term.histn - term.scr;
|
|
|
|
if (!n)
|
|
return;
|
|
|
|
if (term.scr <= HISTSIZE-n) {
|
|
term.scr += n;
|
|
selscroll(0, n);
|
|
tfulldirt();
|
|
}
|
|
|
|
#if SIXEL_PATCH
|
|
scroll_images(n);
|
|
#endif // SIXEL_PATCH
|
|
|
|
#if OPENURLONCLICK_PATCH
|
|
if (n > 0)
|
|
restoremousecursor();
|
|
#endif // OPENURLONCLICK_PATCH
|
|
}
|