| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -200,11 +200,13 @@ kpress(XKeyEvent * e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_End: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!sel) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							while(next) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel = curr = next; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							while(sel->right) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							while(sel && sel->right) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel = sel->right; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Escape: | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -212,6 +214,8 @@ kpress(XKeyEvent * e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							running = False; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Home: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!item) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							sel = curr = item; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -225,16 +229,16 @@ kpress(XKeyEvent * e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Next: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(next) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel = curr = next; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!next) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							sel = curr = next; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Prior: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(prev) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								sel = curr = prev; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!prev) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							sel = curr = prev; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							calcoffsets(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						case XK_Return: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if((e->state & ShiftMask) && text) | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |