| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1421,7 +1421,8 @@ tsetattr(int *attr, int l) { | 
															
														
														
													
														
															
																 | 
																 | 
																		case 4: | 
																 | 
																 | 
																		case 4: | 
															
														
														
													
														
															
																 | 
																 | 
																			term.c.attr.mode |= ATTR_UNDERLINE; | 
																 | 
																 | 
																			term.c.attr.mode |= ATTR_UNDERLINE; | 
															
														
														
													
														
															
																 | 
																 | 
																			break; | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case 5: | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 5: /* slow blink */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 6: /* rapid blink */ | 
															
														
														
													
														
															
																 | 
																 | 
																			term.c.attr.mode |= ATTR_BLINK; | 
																 | 
																 | 
																			term.c.attr.mode |= ATTR_BLINK; | 
															
														
														
													
														
															
																 | 
																 | 
																			break; | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case 7: | 
																 | 
																 | 
																		case 7: | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1438,6 +1439,7 @@ tsetattr(int *attr, int l) { | 
															
														
														
													
														
															
																 | 
																 | 
																			term.c.attr.mode &= ~ATTR_UNDERLINE; | 
																 | 
																 | 
																			term.c.attr.mode &= ~ATTR_UNDERLINE; | 
															
														
														
													
														
															
																 | 
																 | 
																			break; | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case 25: | 
																 | 
																 | 
																		case 25: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		case 26: | 
															
														
														
													
														
															
																 | 
																 | 
																			term.c.attr.mode &= ~ATTR_BLINK; | 
																 | 
																 | 
																			term.c.attr.mode &= ~ATTR_BLINK; | 
															
														
														
													
														
															
																 | 
																 | 
																			break; | 
																 | 
																 | 
																			break; | 
															
														
														
													
														
															
																 | 
																 | 
																		case 27: | 
																 | 
																 | 
																		case 27: | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1744,7 +1746,7 @@ csihandle(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	case 'X': /* ECH -- Erase <n> char */ | 
																 | 
																 | 
																	case 'X': /* ECH -- Erase <n> char */ | 
															
														
														
													
														
															
																 | 
																 | 
																		DEFAULT(csiescseq.arg[0], 1); | 
																 | 
																 | 
																		DEFAULT(csiescseq.arg[0], 1); | 
															
														
														
													
														
															
																 | 
																 | 
																		tclearregion(term.c.x, term.c.y, term.c.x + csiescseq.arg[0], | 
																 | 
																 | 
																		tclearregion(term.c.x, term.c.y, term.c.x + csiescseq.arg[0], | 
															
														
														
													
														
															
																 | 
																 | 
																				term.c.y, 0); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				term.c.y, 1); | 
															
														
														
													
														
															
																 | 
																 | 
																		break; | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																	case 'P': /* DCH -- Delete <n> char */ | 
																 | 
																 | 
																	case 'P': /* DCH -- Delete <n> char */ | 
															
														
														
													
														
															
																 | 
																 | 
																		DEFAULT(csiescseq.arg[0], 1); | 
																 | 
																 | 
																		DEFAULT(csiescseq.arg[0], 1); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2206,9 +2208,11 @@ tresize(int col, int row) { | 
															
														
														
													
														
															
																 | 
																 | 
																	/* free unneeded rows */ | 
																 | 
																 | 
																	/* free unneeded rows */ | 
															
														
														
													
														
															
																 | 
																 | 
																	i = 0; | 
																 | 
																 | 
																	i = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																	if(slide > 0) { | 
																 | 
																 | 
																	if(slide > 0) { | 
															
														
														
													
														
															
																 | 
																 | 
																		/* slide screen to keep cursor where we expect it - | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		/* | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		 * slide screen to keep cursor where we expect it - | 
															
														
														
													
														
															
																 | 
																 | 
																		 * tscrollup would work here, but we can optimize to | 
																 | 
																 | 
																		 * tscrollup would work here, but we can optimize to | 
															
														
														
													
														
															
																 | 
																 | 
																		 * memmove because we're freeing the earlier lines */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		 * memmove because we're freeing the earlier lines | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		 */ | 
															
														
														
													
														
															
																 | 
																 | 
																		for(/* i = 0 */; i < slide; i++) { | 
																 | 
																 | 
																		for(/* i = 0 */; i < slide; i++) { | 
															
														
														
													
														
															
																 | 
																 | 
																			free(term.line[i]); | 
																 | 
																 | 
																			free(term.line[i]); | 
															
														
														
													
														
															
																 | 
																 | 
																			free(term.alt[i]); | 
																 | 
																 | 
																			free(term.alt[i]); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2456,8 +2460,7 @@ xloadfonts(char *fontstr, int fontsize) { | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																xunloadfonts(void) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																xunloadfonts(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	int i, ip; | 
																 | 
																 | 
																	int i, ip; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* | 
																 | 
																 | 
																	/* | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2487,8 +2490,7 @@ xunloadfonts(void) | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																xzoom(const Arg *arg) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																xzoom(const Arg *arg) { | 
															
														
														
													
														
															
																 | 
																 | 
																	xunloadfonts(); | 
																 | 
																 | 
																	xunloadfonts(); | 
															
														
														
													
														
															
																 | 
																 | 
																	xloadfonts(usedfont, usedfontsize + arg->i); | 
																 | 
																 | 
																	xloadfonts(usedfont, usedfontsize + arg->i); | 
															
														
														
													
														
															
																 | 
																 | 
																	cresize(0, 0); | 
																 | 
																 | 
																	cresize(0, 0); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -3109,8 +3111,10 @@ kpress(XEvent *ev) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																cmessage(XEvent *e) { | 
																 | 
																 | 
																cmessage(XEvent *e) { | 
															
														
														
													
														
															
																 | 
																 | 
																	/* See xembed specs | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	   http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	/* | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * See xembed specs | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 *  http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 */ | 
															
														
														
													
														
															
																 | 
																 | 
																	if(e->xclient.message_type == xw.xembed && e->xclient.format == 32) { | 
																 | 
																 | 
																	if(e->xclient.message_type == xw.xembed && e->xclient.format == 32) { | 
															
														
														
													
														
															
																 | 
																 | 
																		if(e->xclient.data.l[1] == XEMBED_FOCUS_IN) { | 
																 | 
																 | 
																		if(e->xclient.data.l[1] == XEMBED_FOCUS_IN) { | 
															
														
														
													
														
															
																 | 
																 | 
																			xw.state |= WIN_FOCUSED; | 
																 | 
																 | 
																			xw.state |= WIN_FOCUSED; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -3126,8 +3130,7 @@ cmessage(XEvent *e) { | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																cresize(int width, int height) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																cresize(int width, int height) { | 
															
														
														
													
														
															
																 | 
																 | 
																	int col, row; | 
																 | 
																 | 
																	int col, row; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	if(width != 0) | 
																 | 
																 | 
																	if(width != 0) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |