X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=client.c;h=773b8f82148d993878b177bb371b02e5d0aff269;hb=c3e5f5cc9a8dce5ab9cbcb0a97ca0343dcf92d10;hp=91d031ee53bed55e6e4177907265b742048ab78b;hpb=b35575574be53a1b3be42d7037d2f432a19a3890;p=dwm.git diff --git a/client.c b/client.c index 91d031e..773b8f8 100644 --- a/client.c +++ b/client.c @@ -49,6 +49,8 @@ ban(Client *c) void focus(Client *c) { + if (!issel) + return; Client *old = sel; XEvent ev; @@ -196,13 +198,6 @@ killclient(Arg *arg) XKillClient(dpy, sel->win); } -void -lower(Client *c) -{ - XLowerWindow(dpy, c->title); - XLowerWindow(dpy, c->win); -} - void manage(Window w, XWindowAttributes *wa) { @@ -245,10 +240,30 @@ manage(Window w, XWindowAttributes *wa) XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button1, MODKEY | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button1, MODKEY | NUMLOCKMASK, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button1, MODKEY | NUMLOCKMASK | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button2, MODKEY, c->win, False, BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button2, MODKEY | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button2, MODKEY | NUMLOCKMASK, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button2, MODKEY | NUMLOCKMASK | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button3, MODKEY, c->win, False, BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button3, MODKEY | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button3, MODKEY | NUMLOCKMASK, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); + XGrabButton(dpy, Button3, MODKEY | NUMLOCKMASK | LockMask, c->win, False, BUTTONMASK, + GrabModeAsync, GrabModeSync, None, None); settags(c); if(!c->isfloat) @@ -446,12 +461,14 @@ zoom(Arg *arg) { Client *c; - if(!sel) + if(!sel || (arrange != dotile) || sel->isfloat) return; - if(sel == getnext(clients) && sel->next) { + if(sel == getnext(clients)) { if((c = getnext(sel->next))) sel = c; + else + return; } /* pop */