| tapplied Sanders focus_* patches, removed the unnecessary clean-prefix from the… | |
| git clone git://src.adamsgaard.dk/dwm | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 2272df9d3179ec639066614f4d36d18df16ff725 | |
| parent 08d85d6d66bc4493414d76e470e473fa689c5990 | |
| Author: Anselm R.Garbe <[email protected]> | |
| Date: Mon, 21 Aug 2006 09:03:14 +0200 | |
| applied Sanders focus_* patches, removed the unnecessary clean-prefix from the … | |
| Diffstat: | |
| M client.c | 58 ++++++++++++++++-------------… | |
| M event.c | 2 ++ | |
| 2 files changed, 32 insertions(+), 28 deletions(-) | |
| --- | |
| diff --git a/client.c b/client.c | |
| t@@ -11,6 +11,19 @@ | |
| /* static functions */ | |
| static void | |
| +grabbutton(Client *c, unsigned int button, unsigned int modifier) | |
| +{ | |
| + XGrabButton(dpy, button, modifier, c->win, False, BUTTONMASK, | |
| + GrabModeAsync, GrabModeSync, None, None); | |
| + XGrabButton(dpy, button, modifier | LockMask, c->win, False, BUTTONMAS… | |
| + GrabModeAsync, GrabModeSync, None, None); | |
| + XGrabButton(dpy, button, modifier | numlockmask, c->win, False, BUTTON… | |
| + GrabModeAsync, GrabModeSync, None, None); | |
| + XGrabButton(dpy, button, modifier | numlockmask | LockMask, c->win, Fa… | |
| + GrabModeAsync, GrabModeSync, None, None); | |
| +} | |
| + | |
| +static void | |
| resizetitle(Client *c) | |
| { | |
| int i; | |
| t@@ -31,6 +44,15 @@ resizetitle(Client *c) | |
| } | |
| +static void | |
| +ungrabbutton(Client *c, unsigned int button, unsigned int modifier) | |
| +{ | |
| + XUngrabButton(dpy, button, modifier, c->win); | |
| + XUngrabButton(dpy, button, modifier | LockMask, c->win); | |
| + XUngrabButton(dpy, button, modifier | numlockmask, c->win); | |
| + XUngrabButton(dpy, button, modifier | numlockmask | LockMask, c->win); | |
| +} | |
| + | |
| static int | |
| xerrordummy(Display *dsply, XErrorEvent *ee) | |
| { | |
| t@@ -53,11 +75,14 @@ focus(Client *c) | |
| if (!issel) | |
| return; | |
| - if(sel && sel->ismax) | |
| + if(sel && sel->ismax && sel != c) | |
| togglemax(NULL); | |
| sel = c; | |
| - if(old && old != c) | |
| + if(old && old != c) { | |
| + grabbutton(old, AnyButton, 0); | |
| drawtitle(old); | |
| + } | |
| + ungrabbutton(c, AnyButton, 0); | |
| drawtitle(c); | |
| XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | |
| } | |
| t@@ -230,32 +255,9 @@ manage(Window w, XWindowAttributes *wa) | |
| c->next = clients; | |
| clients = c; | |
| - 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, BUTTONM… | |
| - GrabModeAsync, GrabModeSync, None, None); | |
| - XGrabButton(dpy, Button1, MODKEY | numlockmask | LockMask, c->win, Fal… | |
| - 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, BUTTONM… | |
| - GrabModeAsync, GrabModeSync, None, None); | |
| - XGrabButton(dpy, Button2, MODKEY | numlockmask | LockMask, c->win, Fal… | |
| - 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, BUTTONM… | |
| - GrabModeAsync, GrabModeSync, None, None); | |
| - XGrabButton(dpy, Button3, MODKEY | numlockmask | LockMask, c->win, Fal… | |
| - GrabModeAsync, GrabModeSync, None, None); | |
| + grabbutton(c, Button1, MODKEY); | |
| + grabbutton(c, Button2, MODKEY); | |
| + grabbutton(c, Button3, MODKEY); | |
| settags(c); | |
| if(!c->isfloat) | |
| diff --git a/event.c b/event.c | |
| t@@ -119,6 +119,8 @@ buttonpress(XEvent *e) | |
| } | |
| else if((c = getclient(ev->window))) { | |
| focus(c); | |
| + if(CLEANMASK(ev->state) == 0) | |
| + return; | |
| switch(ev->button) { | |
| default: | |
| break; |