mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +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