mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +00:00
Store xpixel/ypixel from TIOCGWINSZ and add formats.
This commit is contained in:
23
tty.c
23
tty.c
@ -127,29 +127,40 @@ tty_resize(struct tty *tty)
|
||||
{
|
||||
struct client *c = tty->client;
|
||||
struct winsize ws;
|
||||
u_int sx, sy;
|
||||
u_int sx, sy, xpixel, ypixel;
|
||||
|
||||
if (ioctl(tty->fd, TIOCGWINSZ, &ws) != -1) {
|
||||
sx = ws.ws_col;
|
||||
if (sx == 0)
|
||||
if (sx == 0) {
|
||||
sx = 80;
|
||||
xpixel = 0;
|
||||
} else
|
||||
xpixel = ws.ws_xpixel / sx;
|
||||
sy = ws.ws_row;
|
||||
if (sy == 0)
|
||||
if (sy == 0) {
|
||||
sy = 24;
|
||||
ypixel = 0;
|
||||
} else
|
||||
ypixel = ws.ws_ypixel / sy;
|
||||
} else {
|
||||
sx = 80;
|
||||
sy = 24;
|
||||
xpixel = 0;
|
||||
ypixel = 0;
|
||||
}
|
||||
log_debug("%s: %s now %ux%u", __func__, c->name, sx, sy);
|
||||
tty_set_size(tty, sx, sy);
|
||||
log_debug("%s: %s now %ux%u (%ux%u)", __func__, c->name, sx, sy,
|
||||
xpixel, ypixel);
|
||||
tty_set_size(tty, sx, sy, xpixel, ypixel);
|
||||
tty_invalidate(tty);
|
||||
}
|
||||
|
||||
void
|
||||
tty_set_size(struct tty *tty, u_int sx, u_int sy)
|
||||
tty_set_size(struct tty *tty, u_int sx, u_int sy, u_int xpixel, u_int ypixel)
|
||||
{
|
||||
tty->sx = sx;
|
||||
tty->sy = sy;
|
||||
tty->xpixel = xpixel;
|
||||
tty->ypixel = ypixel;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user