applied Sanders patches (numlock2)
This commit is contained in:
		
							parent
							
								
									57871415c1
								
							
						
					
					
						commit
						3af6434085
					
				| @ -3,9 +3,7 @@ | |||||||
|  * See LICENSE file for license details. |  * See LICENSE file for license details. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; |  | ||||||
| #define DEFMODE			dotile /* dofloat */ | #define DEFMODE			dotile /* dofloat */ | ||||||
| #define DEFTAG			Tdev |  | ||||||
| #define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*" | #define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*" | ||||||
| #define BGCOLOR			"#0a2c2d" | #define BGCOLOR			"#0a2c2d" | ||||||
| #define FGCOLOR			"#ddeeee" | #define FGCOLOR			"#ddeeee" | ||||||
| @ -14,6 +12,7 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | |||||||
| #define NUMLOCKMASK		Mod2Mask | #define NUMLOCKMASK		Mod2Mask | ||||||
| #define MASTERW			52 /* percent */ | #define MASTERW			52 /* percent */ | ||||||
| 
 | 
 | ||||||
|  | enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | ||||||
| #define TAGS \ | #define TAGS \ | ||||||
| char *tags[TLast] = { \ | char *tags[TLast] = { \ | ||||||
| 	[Tfnord] = "fnord", \ | 	[Tfnord] = "fnord", \ | ||||||
| @ -22,6 +21,7 @@ char *tags[TLast] = { \ | |||||||
| 	[Twork] = "work", \ | 	[Twork] = "work", \ | ||||||
| 	[Tmisc] = "misc", \ | 	[Tmisc] = "misc", \ | ||||||
| }; | }; | ||||||
|  | #define DEFTAG			Tdev | ||||||
| 
 | 
 | ||||||
| #define KEYS \ | #define KEYS \ | ||||||
| 	const char *browse[] = { "firefox", NULL }; \ | 	const char *browse[] = { "firefox", NULL }; \ | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								config.h
									
									
									
									
									
								
							| @ -3,9 +3,7 @@ | |||||||
|  * See LICENSE file for license details. |  * See LICENSE file for license details. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; |  | ||||||
| #define DEFMODE			dotile /* dofloat */ | #define DEFMODE			dotile /* dofloat */ | ||||||
| #define DEFTAG			Tdev |  | ||||||
| #define FONT			"fixed" | #define FONT			"fixed" | ||||||
| #define BGCOLOR			"#666699" | #define BGCOLOR			"#666699" | ||||||
| #define FGCOLOR			"#eeeeee" | #define FGCOLOR			"#eeeeee" | ||||||
| @ -14,6 +12,7 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | |||||||
| #define NUMLOCKMASK		Mod2Mask | #define NUMLOCKMASK		Mod2Mask | ||||||
| #define MASTERW			52 /* percent */ | #define MASTERW			52 /* percent */ | ||||||
| 
 | 
 | ||||||
|  | enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | ||||||
| #define TAGS \ | #define TAGS \ | ||||||
| char *tags[TLast] = { \ | char *tags[TLast] = { \ | ||||||
| 	[Tfnord] = "fnord", \ | 	[Tfnord] = "fnord", \ | ||||||
| @ -22,6 +21,7 @@ char *tags[TLast] = { \ | |||||||
| 	[Twork] = "work", \ | 	[Twork] = "work", \ | ||||||
| 	[Tmisc] = "misc", \ | 	[Tmisc] = "misc", \ | ||||||
| }; | }; | ||||||
|  | #define DEFTAG			Tdev | ||||||
| 
 | 
 | ||||||
| #define KEYS \ | #define KEYS \ | ||||||
| 	const char *term[] = { "xterm", NULL }; \ | 	const char *term[] = { "xterm", NULL }; \ | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								config.mk
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								config.mk
									
									
									
									
									
								
							| @ -1,4 +1,10 @@ | |||||||
| # Customize to fit your system
 | # dwm version
 | ||||||
|  | VERSION = 0.6 | ||||||
|  | 
 | ||||||
|  | # Customize below to fit your system
 | ||||||
|  | 
 | ||||||
|  | # configheader
 | ||||||
|  | CONFIG = config.h | ||||||
| 
 | 
 | ||||||
| # paths
 | # paths
 | ||||||
| PREFIX = /usr/local | PREFIX = /usr/local | ||||||
| @ -11,12 +17,6 @@ X11LIB = /usr/X11R6/lib | |||||||
| INCS = -I/usr/lib -I${X11INC} | INCS = -I/usr/lib -I${X11INC} | ||||||
| LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 | LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 | ||||||
| 
 | 
 | ||||||
| # dwm version
 |  | ||||||
| VERSION = 0.6 |  | ||||||
| 
 |  | ||||||
| # default config.h
 |  | ||||||
| CONFIG = config.h |  | ||||||
| 
 |  | ||||||
| # flags
 | # flags
 | ||||||
| CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\" -DCONFIG=\"${CONFIG}\" | CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\" -DCONFIG=\"${CONFIG}\" | ||||||
| LDFLAGS = ${LIBS} | LDFLAGS = ${LIBS} | ||||||
|  | |||||||
							
								
								
									
										27
									
								
								dwm.1
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								dwm.1
									
									
									
									
									
								
							| @ -38,22 +38,29 @@ to the | |||||||
| .B master | .B master | ||||||
| column | column | ||||||
| .TP | .TP | ||||||
| .B Mod1-k | .B Mod1-h | ||||||
| Focus previous | Focus previous | ||||||
| .B window | .B tag | ||||||
| .TP | .TP | ||||||
| .B Mod1-j | .B Mod1-j | ||||||
| Focus next | Focus next | ||||||
| .B window | .B window | ||||||
| .TP | .TP | ||||||
|  | .B Mod1-k | ||||||
|  | Focus previous | ||||||
|  | .B window | ||||||
|  | .TP | ||||||
|  | .B Mod1-l | ||||||
|  | Focus next | ||||||
|  | .B tag | ||||||
|  | .TP | ||||||
| .B Mod1-m | .B Mod1-m | ||||||
| Maximize current | Maximize current | ||||||
| .B window | .B window | ||||||
| .TP | .TP | ||||||
| .B Mod1-[0..n] | .B Mod1-[0..n] | ||||||
| Focus | Focus | ||||||
| .B nth | .B nth tag | ||||||
| tag |  | ||||||
| .TP | .TP | ||||||
| .B Mod1-space | .B Mod1-space | ||||||
| Toggle between | Toggle between | ||||||
| @ -65,8 +72,8 @@ mode (affects | |||||||
| .TP | .TP | ||||||
| .B Mod1-Shift-[0..n] | .B Mod1-Shift-[0..n] | ||||||
| Apply | Apply | ||||||
| .B nth | .B nth tag | ||||||
| tag to current | to current | ||||||
| .B window | .B window | ||||||
| .TP | .TP | ||||||
| .B Mod1-Shift-q | .B Mod1-Shift-q | ||||||
| @ -79,8 +86,8 @@ Start | |||||||
| .TP | .TP | ||||||
| .B Mod1-Control-[0..n] | .B Mod1-Control-[0..n] | ||||||
| Append | Append | ||||||
| .B nth | .B nth tag | ||||||
| tag to current | to current | ||||||
| .B window | .B window | ||||||
| .TP | .TP | ||||||
| .B Mod1-Button1 | .B Mod1-Button1 | ||||||
| @ -98,5 +105,5 @@ Resizes current | |||||||
| while dragging | while dragging | ||||||
| .SH CUSTOMIZATION | .SH CUSTOMIZATION | ||||||
| .B dwm | .B dwm | ||||||
| is customized through editing config.h of the source code.  This keeps it fast, | is customized by editing the file config.h of the source code. | ||||||
| secure and simple. | This keeps it fast, secure and simple. | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								event.c
									
									
									
									
									
								
							| @ -19,7 +19,7 @@ typedef struct { | |||||||
| 
 | 
 | ||||||
| KEYS | KEYS | ||||||
| 
 | 
 | ||||||
| static unsigned int valid_mask =  255 &  ~(NUMLOCKMASK | LockMask); | #define CLEANMASK(mask) (mask & ~(NUMLOCKMASK | LockMask)) | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
| movemouse(Client *c) | movemouse(Client *c) | ||||||
| @ -229,11 +229,11 @@ keypress(XEvent *e) | |||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
| 	KeySym keysym; | 	KeySym keysym; | ||||||
| 	XKeyEvent *ev = &e->xkey; | 	XKeyEvent *ev = &e->xkey; | ||||||
| 	ev->state &= valid_mask; |  | ||||||
| 
 | 
 | ||||||
| 	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 == key[i].keysym) && ((key[i].mod & valid_mask) == ev->state)) { | 		if(keysym == key[i].keysym && | ||||||
|  | 				CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) { | ||||||
| 			if(key[i].func) | 			if(key[i].func) | ||||||
| 				key[i].func(&key[i].arg); | 				key[i].func(&key[i].arg); | ||||||
| 			return; | 			return; | ||||||
| @ -335,13 +335,20 @@ grabkeys() | |||||||
| 
 | 
 | ||||||
| 	for(i = 0; i < len; i++) { | 	for(i = 0; i < len; i++) { | ||||||
| 		code = XKeysymToKeycode(dpy, key[i].keysym); | 		code = XKeysymToKeycode(dpy, key[i].keysym); | ||||||
|  | 		/* normal */ | ||||||
| 		XUngrabKey(dpy, code, key[i].mod, root); | 		XUngrabKey(dpy, code, key[i].mod, root); | ||||||
| 		XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root); |  | ||||||
| 		XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root); |  | ||||||
| 		XGrabKey(dpy, code, key[i].mod, root, True, | 		XGrabKey(dpy, code, key[i].mod, root, True, | ||||||
| 				GrabModeAsync, GrabModeAsync); | 				GrabModeAsync, GrabModeAsync); | ||||||
|  | 		/* capslock */ | ||||||
|  | 		XUngrabKey(dpy, code, key[i].mod | LockMask, root); | ||||||
|  | 		XGrabKey(dpy, code, key[i].mod | LockMask, root, True, | ||||||
|  | 				GrabModeAsync, GrabModeAsync); | ||||||
|  | 		/* numlock */ | ||||||
|  | 		XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root); | ||||||
| 		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True, | 		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True, | ||||||
| 				GrabModeAsync, GrabModeAsync); | 				GrabModeAsync, GrabModeAsync); | ||||||
|  | 		/* capslock & numlock */ | ||||||
|  | 		XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root); | ||||||
| 		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, | 		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, | ||||||
| 				GrabModeAsync, GrabModeAsync); | 				GrabModeAsync, GrabModeAsync); | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 arg@10ksloc.org
						arg@10ksloc.org