# HG changeset patch # User arg@10ksloc.org # Date 1154510012 -7200 # Node ID c8db0a82577584b92e78054b74a733b7be94f3a4 # Parent a5eab6aaf859223a2bee657a5b3ab70dab5877a9 applied Sanders patches (numlock2) diff -r a5eab6aaf859 -r c8db0a825775 config.arg.h --- a/config.arg.h Wed Aug 02 10:48:58 2006 +0200 +++ b/config.arg.h Wed Aug 02 11:13:32 2006 +0200 @@ -3,9 +3,7 @@ * See LICENSE file for license details. */ -enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; #define DEFMODE dotile /* dofloat */ -#define DEFTAG Tdev #define FONT "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*" #define BGCOLOR "#0a2c2d" #define FGCOLOR "#ddeeee" @@ -14,6 +12,7 @@ #define NUMLOCKMASK Mod2Mask #define MASTERW 52 /* percent */ +enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; #define TAGS \ char *tags[TLast] = { \ [Tfnord] = "fnord", \ @@ -22,6 +21,7 @@ [Twork] = "work", \ [Tmisc] = "misc", \ }; +#define DEFTAG Tdev #define KEYS \ const char *browse[] = { "firefox", NULL }; \ diff -r a5eab6aaf859 -r c8db0a825775 config.h --- a/config.h Wed Aug 02 10:48:58 2006 +0200 +++ b/config.h Wed Aug 02 11:13:32 2006 +0200 @@ -3,9 +3,7 @@ * See LICENSE file for license details. */ -enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; #define DEFMODE dotile /* dofloat */ -#define DEFTAG Tdev #define FONT "fixed" #define BGCOLOR "#666699" #define FGCOLOR "#eeeeee" @@ -14,6 +12,7 @@ #define NUMLOCKMASK Mod2Mask #define MASTERW 52 /* percent */ +enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; #define TAGS \ char *tags[TLast] = { \ [Tfnord] = "fnord", \ @@ -22,6 +21,7 @@ [Twork] = "work", \ [Tmisc] = "misc", \ }; +#define DEFTAG Tdev #define KEYS \ const char *term[] = { "xterm", NULL }; \ diff -r a5eab6aaf859 -r c8db0a825775 config.mk --- a/config.mk Wed Aug 02 10:48:58 2006 +0200 +++ b/config.mk Wed Aug 02 11:13:32 2006 +0200 @@ -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 PREFIX = /usr/local @@ -11,12 +17,6 @@ INCS = -I/usr/lib -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -# dwm version -VERSION = 0.6 - -# default config.h -CONFIG = config.h - # flags CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\" -DCONFIG=\"${CONFIG}\" LDFLAGS = ${LIBS} diff -r a5eab6aaf859 -r c8db0a825775 dwm.1 --- a/dwm.1 Wed Aug 02 10:48:58 2006 +0200 +++ b/dwm.1 Wed Aug 02 11:13:32 2006 +0200 @@ -38,13 +38,21 @@ .B master column .TP +.B Mod1-h +Focus previous +.B tag +.TP +.B Mod1-j +Focus next +.B window +.TP .B Mod1-k Focus previous .B window .TP -.B Mod1-j +.B Mod1-l Focus next -.B window +.B tag .TP .B Mod1-m Maximize current @@ -52,8 +60,7 @@ .TP .B Mod1-[0..n] Focus -.B nth -tag +.B nth tag .TP .B Mod1-space Toggle between @@ -65,8 +72,8 @@ .TP .B Mod1-Shift-[0..n] Apply -.B nth -tag to current +.B nth tag +to current .B window .TP .B Mod1-Shift-q @@ -79,8 +86,8 @@ .TP .B Mod1-Control-[0..n] Append -.B nth -tag to current +.B nth tag +to current .B window .TP .B Mod1-Button1 @@ -98,5 +105,5 @@ while dragging .SH CUSTOMIZATION .B dwm -is customized through editing config.h of the source code. This keeps it fast, -secure and simple. +is customized by editing the file config.h of the source code. +This keeps it fast, secure and simple. diff -r a5eab6aaf859 -r c8db0a825775 event.c --- a/event.c Wed Aug 02 10:48:58 2006 +0200 +++ b/event.c Wed Aug 02 11:13:32 2006 +0200 @@ -19,7 +19,7 @@ KEYS -static unsigned int valid_mask = 255 & ~(NUMLOCKMASK | LockMask); +#define CLEANMASK(mask) (mask & ~(NUMLOCKMASK | LockMask)) static void movemouse(Client *c) @@ -229,11 +229,11 @@ unsigned int i; KeySym keysym; XKeyEvent *ev = &e->xkey; - ev->state &= valid_mask; keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); 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) key[i].func(&key[i].arg); return; @@ -335,13 +335,20 @@ for(i = 0; i < len; i++) { code = XKeysymToKeycode(dpy, key[i].keysym); + /* normal */ 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, 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, GrabModeAsync, GrabModeAsync); + /* capslock & numlock */ + XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root); XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True, GrabModeAsync, GrabModeAsync); }