diff options
| author | arg@10ksloc.org <unknown> | 2006-08-02 11:13:32 +0200 | 
|---|---|---|
| committer | arg@10ksloc.org <unknown> | 2006-08-02 11:13:32 +0200 | 
| commit | 3af6434085aee75bd90e22aee95419dc0ae0b969 (patch) | |
| tree | cb95e7ab70992fe6c3eb43bc1bf3a53261d6cb99 | |
| parent | 57871415c16664cce494b68dd3e985bcb32942c5 (diff) | |
| download | dwm-3af6434085aee75bd90e22aee95419dc0ae0b969.tar.gz | |
applied Sanders patches (numlock2)
| -rw-r--r-- | config.arg.h | 4 | ||||
| -rw-r--r-- | config.h | 4 | ||||
| -rw-r--r-- | config.mk | 14 | ||||
| -rw-r--r-- | dwm.1 | 27 | ||||
| -rw-r--r-- | event.c | 17 | 
5 files changed, 40 insertions, 26 deletions
| diff --git a/config.arg.h b/config.arg.h index f87489b..80d4918 100644 --- a/config.arg.h +++ b/config.arg.h @@ -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 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };  #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 @@ char *tags[TLast] = { \  	[Twork] = "work", \  	[Tmisc] = "misc", \  }; +#define DEFTAG			Tdev  #define KEYS \  	const char *browse[] = { "firefox", NULL }; \ @@ -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 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };  #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 @@ char *tags[TLast] = { \  	[Twork] = "work", \  	[Tmisc] = "misc", \  }; +#define DEFTAG			Tdev  #define KEYS \  	const char *term[] = { "xterm", NULL }; \ @@ -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 @@ X11LIB = /usr/X11R6/lib  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} @@ -38,22 +38,29 @@ to the  .B master  column  .TP -.B Mod1-k +.B Mod1-h  Focus previous -.B window +.B tag  .TP  .B Mod1-j  Focus next  .B window  .TP +.B Mod1-k +Focus previous +.B window +.TP +.B Mod1-l +Focus next +.B tag +.TP  .B Mod1-m  Maximize current  .B window  .TP  .B Mod1-[0..n]  Focus -.B nth -tag +.B nth tag  .TP  .B Mod1-space  Toggle between @@ -65,8 +72,8 @@ mode (affects  .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 @@ Start  .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 @@ Resizes current  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. @@ -19,7 +19,7 @@ typedef struct {  KEYS -static unsigned int valid_mask =  255 &  ~(NUMLOCKMASK | LockMask); +#define CLEANMASK(mask) (mask & ~(NUMLOCKMASK | LockMask))  static void  movemouse(Client *c) @@ -229,11 +229,11 @@ keypress(XEvent *e)  	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 @@ grabkeys()  	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);  	} | 
