|
|
@ -8,7 +8,7 @@ |
|
|
|
#include <X11/keysym.h> |
|
|
|
#include <X11/Xatom.h> |
|
|
|
|
|
|
|
/* CUSTOMIZE */ |
|
|
|
/* static */ |
|
|
|
|
|
|
|
typedef struct { |
|
|
|
unsigned long mod; |
|
|
@ -17,52 +17,10 @@ typedef struct { |
|
|
|
Arg arg; |
|
|
|
} 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 |
|
|
|
movemouse(Client *c) |
|
|
@ -381,19 +339,13 @@ grabkeys() |
|
|
|
for(i = 0; i < len; i++) { |
|
|
|
code = XKeysymToKeycode(dpy, key[i].keysym); |
|
|
|
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, |
|
|
|
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); |
|
|
|
} |
|
|
|
} |