Add flags to refresh-client (-U -D -L -R and -c) to pan a window that

is larger than the client manually. Bound to S-Up, S-Down, S-Left,
S-Right and Delete manually.

Also add aliases for keys DC = Delete, IC = Insert, and make
refresh-client -C accept XxY as well as X,Y to match default-size.
This commit is contained in:
Nicholas Marriott
2018-08-21 09:27:19 +01:00
parent 314ee137a9
commit bfc9fb4b3b
6 changed files with 125 additions and 11 deletions

13
tty.c
View File

@ -738,12 +738,24 @@ tty_window_offset1(struct tty *tty, u_int *ox, u_int *oy, u_int *sx, u_int *sy)
*oy = 0;
*sx = w->sx;
*sy = w->sy;
c->pan_window = NULL;
return (0);
}
*sx = tty->sx;
*sy = tty->sy - lines;
if (c->pan_window == w) {
if (c->pan_ox + *sx > w->sx)
c->pan_ox = w->sx - *sx;
*ox = c->pan_ox;
if (c->pan_oy + *sy > w->sy)
c->pan_oy = w->sy - *sy;
*oy = c->pan_oy;
return (1);
}
if (~wp->screen->mode & MODE_CURSOR) {
*ox = 0;
*oy = 0;
@ -766,6 +778,7 @@ tty_window_offset1(struct tty *tty, u_int *ox, u_int *oy, u_int *sx, u_int *sy)
*oy = cy - *sy / 2;
}
c->pan_window = NULL;
return (1);
}