]> Pileus Git - wmpus/commitdiff
Fix root window mask, change modkey
authorAndy Spencer <andy753421@gmail.com>
Sat, 17 Sep 2011 00:05:36 +0000 (00:05 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sat, 17 Sep 2011 00:05:36 +0000 (00:05 +0000)
sys-x11.c
wm-wmii.c

index 08e80e986c1f3dcb42c4fc8b7e9c5af52e9ca590..7ba9b693ce385a5c698f613c62c4f719a8a947f2 100644 (file)
--- a/sys-x11.c
+++ b/sys-x11.c
@@ -317,16 +317,19 @@ void sys_focus(win_t *win)
 void sys_watch(win_t *win, Key_t key, mod_t mod)
 {
        //printf("sys_watch: %p - %x %hhx\n", win, key, mod);
 void sys_watch(win_t *win, Key_t key, mod_t mod)
 {
        //printf("sys_watch: %p - %x %hhx\n", win, key, mod);
+       XWindowAttributes attr;
+       XGetWindowAttributes(win->sys->dpy, win->sys->xid, &attr);
+       long mask = attr.your_event_mask;
        if (key_mouse0 <= key && key <= key_mouse7)
                XGrabButton(win->sys->dpy, btn2x(key), mod2x(mod), win->sys->xid, True,
                                mod.up ? ButtonReleaseMask : ButtonPressMask,
                                GrabModeAsync, GrabModeAsync, None, None);
        else if (key == key_enter)
        if (key_mouse0 <= key && key <= key_mouse7)
                XGrabButton(win->sys->dpy, btn2x(key), mod2x(mod), win->sys->xid, True,
                                mod.up ? ButtonReleaseMask : ButtonPressMask,
                                GrabModeAsync, GrabModeAsync, None, None);
        else if (key == key_enter)
-               XSelectInput(win->sys->dpy, win->sys->xid, EnterWindowMask);
+               XSelectInput(win->sys->dpy, win->sys->xid, EnterWindowMask|mask);
        else if (key == key_leave)
        else if (key == key_leave)
-               XSelectInput(win->sys->dpy, win->sys->xid, LeaveWindowMask);
+               XSelectInput(win->sys->dpy, win->sys->xid, LeaveWindowMask|mask);
        else if (key == key_focus || key == key_unfocus)
        else if (key == key_focus || key == key_unfocus)
-               XSelectInput(win->sys->dpy, win->sys->xid, FocusChangeMask);
+               XSelectInput(win->sys->dpy, win->sys->xid, FocusChangeMask|mask);
        else
                XGrabKey(win->sys->dpy, XKeysymToKeycode(win->sys->dpy, key2x(key)),
                                mod2x(mod), win->sys->xid, True, GrabModeAsync, GrabModeAsync);
        else
                XGrabKey(win->sys->dpy, XKeysymToKeycode(win->sys->dpy, key2x(key)),
                                mod2x(mod), win->sys->xid, True, GrabModeAsync, GrabModeAsync);
@@ -343,7 +346,7 @@ win_t *sys_init(void)
        atoms[wm_proto] = XInternAtom(dpy, "WM_PROTOCOLS",  False);
        atoms[wm_focus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
        XSelectInput(dpy, xid, SubstructureRedirectMask|SubstructureNotifyMask);
        atoms[wm_proto] = XInternAtom(dpy, "WM_PROTOCOLS",  False);
        atoms[wm_focus] = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
        XSelectInput(dpy, xid, SubstructureRedirectMask|SubstructureNotifyMask);
-       //XSetInputFocus(dpy, None, RevertToNone, CurrentTime);
+       XSetInputFocus(dpy, None, RevertToNone, CurrentTime);
        return win_find(dpy, xid, 1);
 }
 
        return win_find(dpy, xid, 1);
 }
 
index 88789e69a4f8a64a708148e8deaf3a2158312eb6..2ead22c77a91ab441707d06da53dd55e774ca74b 100644 (file)
--- a/wm-wmii.c
+++ b/wm-wmii.c
@@ -5,7 +5,7 @@
 #include "sys.h"
 #include "wm.h"
 
 #include "sys.h"
 #include "wm.h"
 
-#define MODKEY ctrl
+#define MODKEY alt
 
 /* Loca types */
 struct win_wm {
 
 /* Loca types */
 struct win_wm {