Rely on ttyresize to set tty size
This removes ttynew's dependency on cresize being called first, and then allows us to absorb the ttyresize call into cresize (which always precedes it). Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
This commit is contained in:
		
							parent
							
								
									8b564c1a3f
								
							
						
					
					
						commit
						d84f3f4bd1
					
				
							
								
								
									
										3
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								st.c
									
									
									
									
									
								
							| @ -670,7 +670,6 @@ void | |||||||
| ttynew(char *line, char *out, char **args) | ttynew(char *line, char *out, char **args) | ||||||
| { | { | ||||||
| 	int m, s; | 	int m, s; | ||||||
| 	struct winsize w = {term.row, term.col, 0, 0}; |  | ||||||
| 
 | 
 | ||||||
| 	if (out) { | 	if (out) { | ||||||
| 		term.mode |= MODE_PRINT; | 		term.mode |= MODE_PRINT; | ||||||
| @ -691,7 +690,7 @@ ttynew(char *line, char *out, char **args) | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* seems to work fine on linux, openbsd and freebsd */ | 	/* seems to work fine on linux, openbsd and freebsd */ | ||||||
| 	if (openpty(&m, &s, NULL, NULL, &w) < 0) | 	if (openpty(&m, &s, NULL, NULL, NULL) < 0) | ||||||
| 		die("openpty failed: %s\n", strerror(errno)); | 		die("openpty failed: %s\n", strerror(errno)); | ||||||
| 
 | 
 | ||||||
| 	switch (pid = fork()) { | 	switch (pid = fork()) { | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								x.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								x.c
									
									
									
									
									
								
							| @ -276,7 +276,6 @@ zoomabs(const Arg *arg) | |||||||
| 	xunloadfonts(); | 	xunloadfonts(); | ||||||
| 	xloadfonts(usedfont, arg->f); | 	xloadfonts(usedfont, arg->f); | ||||||
| 	cresize(0, 0); | 	cresize(0, 0); | ||||||
| 	ttyresize(win.tw, win.th); |  | ||||||
| 	redraw(); | 	redraw(); | ||||||
| 	xhints(); | 	xhints(); | ||||||
| } | } | ||||||
| @ -695,6 +694,7 @@ cresize(int width, int height) | |||||||
| 
 | 
 | ||||||
| 	tresize(col, row); | 	tresize(col, row); | ||||||
| 	xresize(col, row); | 	xresize(col, row); | ||||||
|  | 	ttyresize(win.tw, win.th); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| @ -1794,7 +1794,6 @@ resize(XEvent *e) | |||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	cresize(e->xconfigure.width, e->xconfigure.height); | 	cresize(e->xconfigure.width, e->xconfigure.height); | ||||||
| 	ttyresize(win.tw, win.th); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| @ -1823,9 +1822,8 @@ run(void) | |||||||
| 		} | 		} | ||||||
| 	} while (ev.type != MapNotify); | 	} while (ev.type != MapNotify); | ||||||
| 
 | 
 | ||||||
| 	cresize(w, h); |  | ||||||
| 	ttynew(opt_line, opt_io, opt_cmd); | 	ttynew(opt_line, opt_io, opt_cmd); | ||||||
| 	ttyresize(win.tw, win.th); | 	cresize(w, h); | ||||||
| 
 | 
 | ||||||
| 	clock_gettime(CLOCK_MONOTONIC, &last); | 	clock_gettime(CLOCK_MONOTONIC, &last); | ||||||
| 	lastblink = last; | 	lastblink = last; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user