pinosaur
/
dwm.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new stuff
[dwm.git]
/
event.c
diff --git
a/event.c
b/event.c
index
967be91
..
faee103
100644
(file)
--- a/
event.c
+++ b/
event.c
@@
-17,10
+17,9
@@
typedef struct {
Arg arg;
} Key;
Arg arg;
} Key;
-CMDS
KEYS
KEYS
-static unsigned int valid_mask = 255 & ~(NUMLOCKMASK | LockMask);
+#define CLEANMASK(mask) (mask & ~(NUMLOCKMASK | LockMask))
static void
movemouse(Client *c)
static void
movemouse(Client *c)
@@
-32,12
+31,12
@@
movemouse(Client *c)
ocx = c->x;
ocy = c->y;
ocx = c->x;
ocy = c->y;
- if(XGrabPointer(dpy, root, False, M
ouseMask
, GrabModeAsync, GrabModeAsync,
+ if(XGrabPointer(dpy, root, False, M
OUSEMASK
, GrabModeAsync, GrabModeAsync,
None, cursor[CurMove], CurrentTime) != GrabSuccess)
return;
XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui);
for(;;) {
None, cursor[CurMove], CurrentTime) != GrabSuccess)
return;
XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui);
for(;;) {
- XMaskEvent(dpy, M
ouseMask
| ExposureMask, &ev);
+ XMaskEvent(dpy, M
OUSEMASK
| ExposureMask, &ev);
switch (ev.type) {
default: break;
case Expose:
switch (ev.type) {
default: break;
case Expose:
@@
-65,12
+64,12
@@
resizemouse(Client *c)
ocx = c->x;
ocy = c->y;
ocx = c->x;
ocy = c->y;
- if(XGrabPointer(dpy, root, False, M
ouseMask
, GrabModeAsync, GrabModeAsync,
+ if(XGrabPointer(dpy, root, False, M
OUSEMASK
, GrabModeAsync, GrabModeAsync,
None, cursor[CurResize], CurrentTime) != GrabSuccess)
return;
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w, c->h);
for(;;) {
None, cursor[CurResize], CurrentTime) != GrabSuccess)
return;
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w, c->h);
for(;;) {
- XMaskEvent(dpy, M
ouseMask
| ExposureMask, &ev);
+ XMaskEvent(dpy, M
OUSEMASK
| ExposureMask, &ev);
switch(ev.type) {
default: break;
case Expose:
switch(ev.type) {
default: break;
case Expose:
@@
-116,12
+115,10
@@
buttonpress(XEvent *e)
}
break;
case Button4:
}
break;
case Button4:
- a.i = (tsel + 1 < TLast) ? tsel + 1 : 0;
- view(&a);
+ viewnext(&a);
break;
case Button5:
break;
case Button5:
- a.i = (tsel - 1 >= 0) ? tsel - 1 : TLast - 1;
- view(&a);
+ viewprev(&a);
break;
}
}
break;
}
}
@@
-178,11
+175,8
@@
configurerequest(XEvent *e)
wc.width = ev->width;
wc.height = ev->height;
wc.border_width = 1;
wc.width = ev->width;
wc.height = ev->height;
wc.border_width = 1;
- wc.sibling = None;
- wc.stack_mode = Above;
- ev->value_mask &= ~CWStackMode;
- ev->value_mask |= CWBorderWidth;
- XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
+ XConfigureWindow(dpy, ev->window,
+ CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
XSync(dpy, False);
}
XSync(dpy, False);
}
@@
-205,7
+199,7
@@
enternotify(XEvent *e)
if(ev->detail == NotifyInferior)
return;
if(ev->detail == NotifyInferior)
return;
- if((c = getclient(ev->window)))
+ if((c = getclient(ev->window))
|| (c = getctitle(ev->window))
)
focus(c);
else if(ev->window == root)
issel = True;
focus(c);
else if(ev->window == root)
issel = True;
@@
-232,11
+226,11
@@
keypress(XEvent *e)
unsigned int i;
KeySym keysym;
XKeyEvent *ev = &e->xkey;
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++)
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;
if(key[i].func)
key[i].func(&key[i].arg);
return;
@@
-338,13
+332,20
@@
grabkeys()
for(i = 0; i < len; i++) {
code = XKeysymToKeycode(dpy, key[i].keysym);
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, 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);
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);
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);
}
XGrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root, True,
GrabModeAsync, GrabModeAsync);
}