|  |  | @ -24,7 +24,6 @@ Client *client = NULL; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | char *bartext, tag[256]; | 
			
		
	
		
			
				
					|  |  |  | int screen, sel_screen; | 
			
		
	
		
			
				
					|  |  |  | unsigned int lock_mask, numlock_mask; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* draw structs */ | 
			
		
	
		
			
				
					|  |  |  | Brush brush = {0}; | 
			
		
	
	
		
			
				
					|  |  | @ -143,32 +142,6 @@ startup_error_handler(Display *dpy, XErrorEvent *error) | 
			
		
	
		
			
				
					|  |  |  | return -1; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | static void | 
			
		
	
		
			
				
					|  |  |  | init_lock_keys() | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
		
			
				
					|  |  |  | XModifierKeymap *modmap; | 
			
		
	
		
			
				
					|  |  |  | KeyCode numlock; | 
			
		
	
		
			
				
					|  |  |  | int i; | 
			
		
	
		
			
				
					|  |  |  | static int masks[] = { | 
			
		
	
		
			
				
					|  |  |  | ShiftMask, LockMask, ControlMask, Mod1Mask, | 
			
		
	
		
			
				
					|  |  |  | Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | numlock_mask = 0; | 
			
		
	
		
			
				
					|  |  |  | modmap = XGetModifierMapping(dpy); | 
			
		
	
		
			
				
					|  |  |  | numlock = XKeysymToKeycode(dpy, XStringToKeysym("Num_Lock")); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | if(modmap && modmap->max_keypermod > 0) { | 
			
		
	
		
			
				
					|  |  |  | int max = (sizeof(masks) / sizeof(int)) * modmap->max_keypermod; | 
			
		
	
		
			
				
					|  |  |  | for(i = 0; i < max; i++) | 
			
		
	
		
			
				
					|  |  |  | if(numlock && (modmap->modifiermap[i] == numlock)) | 
			
		
	
		
			
				
					|  |  |  | numlock_mask = masks[i / modmap->max_keypermod]; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | XFreeModifiermap(modmap); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | lock_mask = 255 & ~(numlock_mask | LockMask); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | static void | 
			
		
	
		
			
				
					|  |  |  | cleanup() | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
	
		
			
				
					|  |  | @ -243,7 +216,7 @@ main(int argc, char *argv[]) | 
			
		
	
		
			
				
					|  |  |  | cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing); | 
			
		
	
		
			
				
					|  |  |  | cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | init_lock_keys(); | 
			
		
	
		
			
				
					|  |  |  | update_keys(); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | brush.drawable = XCreatePixmap(dpy, root, rect.width, rect.height, | 
			
		
	
		
			
				
					|  |  |  | DefaultDepth(dpy, screen)); | 
			
		
	
	
		
			
				
					|  |  | 
 |