| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -42,11 +42,6 @@ enum { SCupdate, SCredraw }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					typedef int Color; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					typedef struct { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						KeySym k; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char s[ESCSIZ]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} Key; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					typedef struct { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char c;     /* character code  */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char mode;  /* attribute flags */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -125,7 +120,6 @@ static void tcpos(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tcursor(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tdeletechar(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tdeleteline(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tdump(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tinsertblank(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tinsertblankline(int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void tmoveto(int, int); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -170,6 +164,26 @@ static int cmdfd; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static pid_t pid; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int running; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#ifdef DEBUG | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tdump(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int row, col; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Glyph c; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(row = 0; row < term.row; row++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for(col = 0; col < term.col; col++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(col == term.c.x && row == term.c.y) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									putchar('#'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c = term.line[row][col]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									putchar(c.state & CRset ? c.c : '.'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							putchar('\n'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#endif | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					die(const char *errstr, ...) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						va_list ap; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -797,24 +811,6 @@ tputs(char *s, int len) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							tputc(*s++); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tdump(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int row, col; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Glyph c; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(row = 0; row < term.row; row++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for(col = 0; col < term.col; col++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(col == term.c.x && row == term.c.y) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									putchar('#'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c = term.line[row][col]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									putchar(c.state & CRset ? c.c : '.'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							putchar('\n'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tresize(int col, int row) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int i; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |