added dev.c instead of kb.c
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
|  | ||||
| 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} | ||||
| MAN1 = dwm.1  | ||||
| BIN = dwm | ||||
|   | ||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							| @@ -37,4 +37,4 @@ This will start dwm on display :1 of the host foo.bar. | ||||
| Configuration | ||||
| ------------- | ||||
| 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. | ||||
|  */ | ||||
| 
 | ||||
| #include "wm.h" | ||||
| 
 | ||||
| #include <stdlib.h> | ||||
| #include <string.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 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; | ||||
| 		} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user