| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -8,7 +8,7 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																#include <X11/keysym.h> | 
																 | 
																 | 
																#include <X11/keysym.h> | 
															
														
														
													
														
															
																 | 
																 | 
																#include <X11/Xatom.h> | 
																 | 
																 | 
																#include <X11/Xatom.h> | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																/* CUSTOMIZE */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																/* static */ | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned long mod; | 
																 | 
																 | 
																	unsigned long mod; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -17,52 +17,10 @@ typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																	Arg arg; | 
																 | 
																 | 
																	Arg arg; | 
															
														
														
													
														
															
																 | 
																 | 
																} Key; | 
																 | 
																 | 
																} Key; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																const char *browse[] = { "firefox", NULL }; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																const char *gimp[] = { "gimp", NULL }; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																const char *term[] = { /*"xterm", NULL };*/ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																}; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																const char *xlock[] = { "xlock", NULL }; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																static Key key[] = { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* modifier		key		function	arguments */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_0,		view,		{ .i = Tfnord } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_1,		view,		{ .i = Tdev } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_2,		view,		{ .i = Tnet } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_3,		view,		{ .i = Twork } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_4,		view,		{ .i = Tmisc} },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_h,		viewprev,	{ 0 } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_j,		focusnext,	{ 0 } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_k,		focusprev,	{ 0 } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_l,		viewnext,	{ 0 } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_m,		togglemax,	{ 0 } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_space,	togglemode,	{ 0 } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY,		XK_Return,	zoom,		{ 0 } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } },  | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	{ MODKEY|ShiftMask,	XK_w,		spawn,		{ .argv = browse } }, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																}; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																#define NumLockMask Mod2Mask | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																unsigned int valid_mask =  255 &  ~( NumLockMask | LockMask); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																/* END CUSTOMIZE */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																CMDS | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																KEYS | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																/* static */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static unsigned int valid_mask =  255 &  ~(NUMLOCKMASK | LockMask); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																static void | 
																 | 
																 | 
																static void | 
															
														
														
													
														
															
																 | 
																 | 
																movemouse(Client *c) | 
																 | 
																 | 
																movemouse(Client *c) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -381,19 +339,13 @@ 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); | 
															
														
														
													
														
															
																 | 
																 | 
																		XUngrabKey(dpy, code, key[i].mod, root); | 
																 | 
																 | 
																		XUngrabKey(dpy, code, key[i].mod, root); | 
															
														
														
													
														
															
																 | 
																 | 
																		if (NumLockMask) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		{ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			XUngrabKey(dpy, code, key[i].mod | NumLockMask, root); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			XUngrabKey(dpy, code, key[i].mod | NumLockMask | LockMask, 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); | 
															
														
														
													
														
															
																 | 
																 | 
																		if (NumLockMask) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		{ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			XGrabKey(dpy, code, key[i].mod | NumLockMask, root, True, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					GrabModeAsync, GrabModeAsync); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			XGrabKey(dpy, code, key[i].mod | NumLockMask | LockMask, root, True, | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					GrabModeAsync, GrabModeAsync); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root, True, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				GrabModeAsync, GrabModeAsync); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				GrabModeAsync, GrabModeAsync); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} |