forked from mirror/dwm
applied Sanders patches (numlock2)
This commit is contained in:
parent
57871415c1
commit
3af6434085
5 changed files with 40 additions and 26 deletions
|
@ -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 }; \
|
||||
|
|
4
config.h
4
config.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 "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 }; \
|
||||
|
|
14
config.mk
14
config.mk
|
@ -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}
|
||||
|
|
27
dwm.1
27
dwm.1
|
@ -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.
|
||||
|
|
17
event.c
17
event.c
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue