X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=eab9b1282ccd532bae6a594240c7ab2273c37d6c;hb=10885d349a8426f0a55f34e78a2592267e8e55be;hp=cf89428f86f3345c303dfe5e2d0858683002ecbf;hpb=67bc08d1b938842d27d976da9bbbc210b1f860b7;p=dwm.git diff --git a/event.c b/event.c index cf89428..eab9b12 100644 --- a/event.c +++ b/event.c @@ -38,6 +38,7 @@ movemouse(Client *c) { XMaskEvent(dpy, MOUSEMASK | ExposureMask, &ev); switch (ev.type) { case ButtonRelease: + resize(c, True, TopLeft); XUngrabPointer(dpy, CurrentTime); return; case Expose: @@ -71,6 +72,7 @@ resizemouse(Client *c) { XMaskEvent(dpy, MOUSEMASK | ExposureMask, &ev); switch(ev.type) { case ButtonRelease: + resize(c, True, TopLeft); XUngrabPointer(dpy, CurrentTime); return; case Expose: @@ -121,10 +123,8 @@ buttonpress(XEvent *e) { return; } } - if(ev->x < x + bmw) { - if(ev->button == Button1) - togglemode(NULL); - } + if((ev->x < x + bmw) && (ev->button == Button1)) + togglemode(NULL); } else if((c = getclient(ev->window))) { focus(c); @@ -148,7 +148,6 @@ configurerequest(XEvent *e) { unsigned long newmask; Client *c; XConfigureRequestEvent *ev = &e->xconfigurerequest; - XEvent synev; XWindowChanges wc; if((c = getclient(ev->window))) { @@ -172,22 +171,14 @@ configurerequest(XEvent *e) { newmask = ev->value_mask & (~(CWSibling | CWStackMode | CWBorderWidth)); if(newmask) XConfigureWindow(dpy, c->win, newmask, &wc); - else { - synev.type = ConfigureNotify; - synev.xconfigure.display = dpy; - synev.xconfigure.event = c->win; - synev.xconfigure.window = c->win; - synev.xconfigure.x = c->x; - synev.xconfigure.y = c->y; - synev.xconfigure.width = c->w; - synev.xconfigure.height = c->h; - synev.xconfigure.border_width = c->border; - synev.xconfigure.above = None; - XSendEvent(dpy, c->win, True, NoEventMask, &synev); - } + else + configure(c); XSync(dpy, False); - if(c->isfloat) + if(c->isfloat) { resize(c, False, TopLeft); + if(!isvisible(c)) + ban(c); + } else arrange(NULL); } @@ -326,6 +317,7 @@ propertynotify(XEvent *e) { } if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { updatetitle(c); + resizetitle(c); drawtitle(c); } }