X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=main.c;h=af1f1a6bb0e8b0fa5e3462b728fce030b5daf0c5;hb=81aebf8caeb720406a238e8766bb615c501af15f;hp=555b0763a3ca1b1ac76b383e0deb220312bb1ae5;hpb=2aef8b9b4ce0900d241c60cb3a07e111c825d13a;p=dwm.git diff --git a/main.c b/main.c index 555b076..af1f1a6 100644 --- a/main.c +++ b/main.c @@ -190,10 +190,11 @@ setup(void) { wa.override_redirect = 1; wa.background_pixmap = ParentRelative; wa.event_mask = ButtonPressMask | ExposureMask; - barwin = XCreateWindow(dpy, root, sx, sy - bh, sw, bh, 0, + barwin = XCreateWindow(dpy, root, sx, sy, sw, bh, 0, DefaultDepth(dpy, screen), CopyFromParent, DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); XDefineCursor(dpy, barwin, cursor[CurNormal]); + bpos = BARPOS; updatebarpos(); XMapRaised(dpy, barwin); strcpy(stext, "dwm-"VERSION); @@ -226,12 +227,14 @@ quit(const char *arg) { void updatebarpos(void) { + XEvent ev; + wax = sx; way = sy; wah = sh; waw = sw; switch(bpos) { - case BarTop: + default: wah -= bh; way += bh; XMoveWindow(dpy, barwin, sx, sy); @@ -242,8 +245,10 @@ updatebarpos(void) { break; case BarOff: XMoveWindow(dpy, barwin, sx, sy - bh); + break; } - lt->arrange(); + XSync(dpy, False); + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } /* There's no way to check accesses to destroyed windows, thus those cases are