X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=dwm.c;h=9c0ebcfe18f274dcb05075956e2ac6d20d8ac574;hb=6975a7e31a12b85267cc4d81cee15462d981bd63;hp=293f9cfb2f5c8de60ba621450388c7e064324395;hpb=02a8ca95cf22d9b1da50dffffefa31fb563c3852;p=dwm.git diff --git a/dwm.c b/dwm.c index 293f9cf..9c0ebcf 100644 --- a/dwm.c +++ b/dwm.c @@ -581,7 +581,7 @@ drawtext(const char *text, unsigned long col[ColLast], Bool invert) { y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent; x = dc.x + (h / 2); /* shorten text if necessary */ - for(len = MIN(olen, sizeof buf); len && textnw(buf, len) > dc.w - h; len--); + for(len = MIN(olen, sizeof buf); len && textnw(text, len) > dc.w - h; len--); if(!len) return; memcpy(buf, text, len); @@ -1127,15 +1127,9 @@ resizemouse(const Arg *arg) { None, cursor[CurResize], CurrentTime) != GrabSuccess) return; XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); - for(;;) { + do { XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev); switch(ev.type) { - case ButtonRelease: - XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, - c->w + c->bw - 1, c->h + c->bw - 1); - XUngrabPointer(dpy, CurrentTime); - while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); - return; case ConfigureRequest: case Expose: case MapRequest: @@ -1157,6 +1151,10 @@ resizemouse(const Arg *arg) { break; } } + while(ev.type != ButtonRelease); + XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); + XUngrabPointer(dpy, CurrentTime); + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } void