added dev.c instead of kb.c
This commit is contained in:
		
							parent
							
								
									3f942f9e79
								
							
						
					
					
						commit
						44f2e8b952
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -3,7 +3,7 @@ | |||||||
| 
 | 
 | ||||||
| include config.mk | include config.mk | ||||||
| 
 | 
 | ||||||
| SRC = client.c draw.c event.c kb.c mouse.c util.c wm.c | SRC = client.c dev.c draw.c event.c util.c wm.c | ||||||
| OBJ = ${SRC:.c=.o} | OBJ = ${SRC:.c=.o} | ||||||
| MAN1 = dwm.1  | MAN1 = dwm.1  | ||||||
| BIN = dwm | BIN = dwm | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							| @ -37,4 +37,4 @@ This will start dwm on display :1 of the host foo.bar. | |||||||
| Configuration | Configuration | ||||||
| ------------- | ------------- | ||||||
| The configuration of dwm is done by customizing the wm.h source file. To | The configuration of dwm is done by customizing the wm.h source file. To | ||||||
| customize the key bindings edit kb.c. | customize the key bindings edit dev.c. | ||||||
|  | |||||||
| @ -3,11 +3,64 @@ | |||||||
|  * See LICENSE file for license details. |  * See LICENSE file for license details. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | #include "wm.h" | ||||||
|  | 
 | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
|  | #include <X11/keysym.h> | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | /********** CUSTOMIZE **********/ | ||||||
|  | 
 | ||||||
|  | const char *term[] = {  | ||||||
|  | 	"aterm", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn", | ||||||
|  | 	"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL | ||||||
|  | }; | ||||||
|  | const char *browse[] = { "firefox", NULL }; | ||||||
|  | 
 | ||||||
|  | static Key key[] = { | ||||||
|  | 	{ Mod1Mask, XK_Return, (void (*)(void *))spawn, term }, | ||||||
|  | 	{ Mod1Mask, XK_w, (void (*)(void *))spawn, browse }, | ||||||
|  | 	{ Mod1Mask, XK_k, sel, "prev" },  | ||||||
|  | 	{ Mod1Mask, XK_j, sel, "next" },  | ||||||
|  | 	{ Mod1Mask, XK_space, toggle, NULL },  | ||||||
|  | 	{ Mod1Mask, XK_m, max, NULL },  | ||||||
|  | 	{ Mod1Mask | ShiftMask, XK_c, ckill, NULL },  | ||||||
|  | 	{ Mod1Mask | ShiftMask, XK_q, quit, NULL }, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | /********** CUSTOMIZE **********/ | ||||||
|  | 
 | ||||||
|  | void | ||||||
|  | update_keys(void) | ||||||
|  | { | ||||||
|  | 	unsigned int i, len; | ||||||
|  | 	KeyCode code; | ||||||
|  | 
 | ||||||
|  | 	len = sizeof(key) / sizeof(key[0]); | ||||||
|  | 	for(i = 0; i < len; i++) { | ||||||
|  | 		code = XKeysymToKeycode(dpy, key[i].keysym); | ||||||
|  | 		XUngrabKey(dpy, code, key[i].mod, root); | ||||||
|  | 		XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void | ||||||
|  | keypress(XEvent *e) | ||||||
|  | { | ||||||
|  | 	XKeyEvent *ev = &e->xkey; | ||||||
|  | 	unsigned int i, len; | ||||||
|  | 	KeySym keysym; | ||||||
|  | 
 | ||||||
|  | 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | ||||||
|  | 	len = sizeof(key) / sizeof(key[0]); | ||||||
|  | 	for(i = 0; i < len; i++) | ||||||
|  | 		if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { | ||||||
|  | 			if(key[i].func) | ||||||
|  | 				key[i].func(key[i].aux); | ||||||
|  | 			return; | ||||||
|  | 		} | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| #define ButtonMask      (ButtonPressMask | ButtonReleaseMask) | #define ButtonMask      (ButtonPressMask | ButtonReleaseMask) | ||||||
| #define MouseMask       (ButtonMask | PointerMotionMask) | #define MouseMask       (ButtonMask | PointerMotionMask) | ||||||
							
								
								
									
										60
									
								
								kb.c
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								kb.c
									
									
									
									
									
								
							| @ -1,60 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |  | ||||||
|  * See LICENSE file for license details. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include "wm.h" |  | ||||||
| 
 |  | ||||||
| #include <X11/keysym.h> |  | ||||||
| 
 |  | ||||||
| /********** CUSTOMIZE **********/ |  | ||||||
| 
 |  | ||||||
| const char *term[] = {  |  | ||||||
| 	"aterm", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn", |  | ||||||
| 	"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL |  | ||||||
| }; |  | ||||||
| const char *browse[] = { "firefox", NULL }; |  | ||||||
| 
 |  | ||||||
| static Key key[] = { |  | ||||||
| 	{ Mod1Mask, XK_Return, (void (*)(void *))spawn, term }, |  | ||||||
| 	{ Mod1Mask, XK_w, (void (*)(void *))spawn, browse }, |  | ||||||
| 	{ Mod1Mask, XK_k, sel, "prev" },  |  | ||||||
| 	{ Mod1Mask, XK_j, sel, "next" },  |  | ||||||
| 	{ Mod1Mask, XK_space, toggle, NULL },  |  | ||||||
| 	{ Mod1Mask, XK_m, max, NULL },  |  | ||||||
| 	{ Mod1Mask | ShiftMask, XK_c, ckill, NULL },  |  | ||||||
| 	{ Mod1Mask | ShiftMask, XK_q, quit, NULL }, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /********** CUSTOMIZE **********/ |  | ||||||
| 
 |  | ||||||
| void |  | ||||||
| update_keys(void) |  | ||||||
| { |  | ||||||
| 	unsigned int i, len; |  | ||||||
| 	KeyCode code; |  | ||||||
| 
 |  | ||||||
| 	len = sizeof(key) / sizeof(key[0]); |  | ||||||
| 	for(i = 0; i < len; i++) { |  | ||||||
| 		code = XKeysymToKeycode(dpy, key[i].keysym); |  | ||||||
| 		XUngrabKey(dpy, code, key[i].mod, root); |  | ||||||
| 		XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void |  | ||||||
| keypress(XEvent *e) |  | ||||||
| { |  | ||||||
| 	XKeyEvent *ev = &e->xkey; |  | ||||||
| 	unsigned int i, len; |  | ||||||
| 	KeySym keysym; |  | ||||||
| 
 |  | ||||||
| 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); |  | ||||||
| 	len = sizeof(key) / sizeof(key[0]); |  | ||||||
| 	for(i = 0; i < len; i++) |  | ||||||
| 		if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { |  | ||||||
| 			if(key[i].func) |  | ||||||
| 				key[i].func(key[i].aux); |  | ||||||
| 			return; |  | ||||||
| 		} |  | ||||||
| } |  | ||||||
							
								
								
									
										4
									
								
								wm.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								wm.h
									
									
									
									
									
								
							| @ -115,11 +115,9 @@ extern unsigned int texth(Fnt *font); | |||||||
| /* event.c */ | /* event.c */ | ||||||
| extern void discard_events(long even_mask); | extern void discard_events(long even_mask); | ||||||
| 
 | 
 | ||||||
| /* kb.c */ | /* dev.c */ | ||||||
| extern void update_keys(void); | extern void update_keys(void); | ||||||
| extern void keypress(XEvent *e); | extern void keypress(XEvent *e); | ||||||
| 
 |  | ||||||
| /* mouse.c */ |  | ||||||
| extern void mresize(Client *c); | extern void mresize(Client *c); | ||||||
| extern void mmove(Client *c); | extern void mmove(Client *c); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R. Garbe
						Anselm R. Garbe