removed grabkeys, not necessary
							parent
							
								
									0235a84ef2
								
							
						
					
					
						commit
						2d7bb8d7c9
					
				
							
								
								
									
										45
									
								
								dwm.c
								
								
								
								
							
							
						
						
									
										45
									
								
								dwm.c
								
								
								
								
							|  | @ -129,7 +129,6 @@ static void mappingnotify(XEvent *e); | ||||||
| static void maprequest(XEvent *e); | static void maprequest(XEvent *e); | ||||||
| static void propertynotify(XEvent *e); | static void propertynotify(XEvent *e); | ||||||
| static void unmapnotify(XEvent *e); | static void unmapnotify(XEvent *e); | ||||||
| static void grabkeys(void); |  | ||||||
| static unsigned int idxoftag(const char *tag); | static unsigned int idxoftag(const char *tag); | ||||||
| static void floating(void); /* default floating layout */ | static void floating(void); /* default floating layout */ | ||||||
| static void applyrules(Client *c); | static void applyrules(Client *c); | ||||||
|  | @ -1070,9 +1069,26 @@ keypress(XEvent *e) { | ||||||
| 	KEYS | 	KEYS | ||||||
| 	unsigned int len = sizeof keys / sizeof keys[0]; | 	unsigned int len = sizeof keys / sizeof keys[0]; | ||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
|  | 	KeyCode code; | ||||||
| 	KeySym keysym; | 	KeySym keysym; | ||||||
| 	XKeyEvent *ev = &e->xkey; | 	XKeyEvent *ev; | ||||||
| 
 | 
 | ||||||
|  | 	if(!e) { /* grabkeys */ | ||||||
|  | 		XUngrabKey(dpy, AnyKey, AnyModifier, root); | ||||||
|  | 		for(i = 0; i < len; i++) { | ||||||
|  | 			code = XKeysymToKeycode(dpy, keys[i].keysym); | ||||||
|  | 			XGrabKey(dpy, code, keys[i].mod, root, True, | ||||||
|  | 					GrabModeAsync, GrabModeAsync); | ||||||
|  | 			XGrabKey(dpy, code, keys[i].mod | LockMask, root, True, | ||||||
|  | 					GrabModeAsync, GrabModeAsync); | ||||||
|  | 			XGrabKey(dpy, code, keys[i].mod | numlockmask, root, True, | ||||||
|  | 					GrabModeAsync, GrabModeAsync); | ||||||
|  | 			XGrabKey(dpy, code, keys[i].mod | numlockmask | LockMask, root, True, | ||||||
|  | 					GrabModeAsync, GrabModeAsync); | ||||||
|  | 		} | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  | 	ev = &e->xkey; | ||||||
| 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | ||||||
| 	for(i = 0; i < len; i++) | 	for(i = 0; i < len; i++) | ||||||
| 		if(keysym == keys[i].keysym | 		if(keysym == keys[i].keysym | ||||||
|  | @ -1099,7 +1115,7 @@ mappingnotify(XEvent *e) { | ||||||
| 
 | 
 | ||||||
| 	XRefreshKeyboardMapping(ev); | 	XRefreshKeyboardMapping(ev); | ||||||
| 	if(ev->request == MappingKeyboard) | 	if(ev->request == MappingKeyboard) | ||||||
| 		grabkeys(); | 		keypress(NULL); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
|  | @ -1152,27 +1168,6 @@ unmapnotify(XEvent *e) { | ||||||
| 		unmanage(c); | 		unmanage(c); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void |  | ||||||
| grabkeys(void) { |  | ||||||
| 	KEYS |  | ||||||
| 	unsigned int len = sizeof keys / sizeof keys[0]; |  | ||||||
| 	unsigned int i; |  | ||||||
| 	KeyCode code; |  | ||||||
| 
 |  | ||||||
| 	XUngrabKey(dpy, AnyKey, AnyModifier, root); |  | ||||||
| 	for(i = 0; i < len; i++) { |  | ||||||
| 		code = XKeysymToKeycode(dpy, keys[i].keysym); |  | ||||||
| 		XGrabKey(dpy, code, keys[i].mod, root, True, |  | ||||||
| 				GrabModeAsync, GrabModeAsync); |  | ||||||
| 		XGrabKey(dpy, code, keys[i].mod | LockMask, root, True, |  | ||||||
| 				GrabModeAsync, GrabModeAsync); |  | ||||||
| 		XGrabKey(dpy, code, keys[i].mod | numlockmask, root, True, |  | ||||||
| 				GrabModeAsync, GrabModeAsync); |  | ||||||
| 		XGrabKey(dpy, code, keys[i].mod | numlockmask | LockMask, root, True, |  | ||||||
| 				GrabModeAsync, GrabModeAsync); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static unsigned int | static unsigned int | ||||||
| idxoftag(const char *tag) { | idxoftag(const char *tag) { | ||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
|  | @ -1546,7 +1541,7 @@ setup(void) { | ||||||
| 	wa.cursor = cursor[CurNormal]; | 	wa.cursor = cursor[CurNormal]; | ||||||
| 	XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa); | 	XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa); | ||||||
| 	XSelectInput(dpy, root, wa.event_mask); | 	XSelectInput(dpy, root, wa.event_mask); | ||||||
| 	grabkeys(); | 	keypress(NULL); /* grabkeys */ | ||||||
| 	compileregs(); | 	compileregs(); | ||||||
| 	for(ntags = 0; tags[ntags]; ntags++); | 	for(ntags = 0; tags[ntags]; ntags++); | ||||||
| 	seltags = emallocz(sizeof(Bool) * ntags); | 	seltags = emallocz(sizeof(Bool) * ntags); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue