X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=main.c;h=21bb4bd4ecab71a71438a7b2eae885c370f32c56;hb=39ae286861b7e23f6de0ee290e48bda695c1e881;hp=555b0763a3ca1b1ac76b383e0deb220312bb1ae5;hpb=2aef8b9b4ce0900d241c60cb3a07e111c825d13a;p=dwm.git diff --git a/main.c b/main.c index 555b076..21bb4bd 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,7 @@ /* © 2006-2007 Anselm R. Garbe * © 2006-2007 Sander van Dijk + * © 2007 Premysl Hruby + * © 2007 Szabolcs Nagy * See LICENSE file for license details. */ #include "dwm.h" #include @@ -190,10 +192,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 +229,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 +247,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 @@ -273,8 +280,8 @@ main(int argc, char *argv[]) { fd_set rd; XEvent ev; - if(argc == 2 && !strncmp("-v", argv[1], 3)) - eprint("dwm-"VERSION", © 2004-2007 Anselm R. Garbe, Sander van Dijk\n"); + if(argc == 2 && !strcmp("-v", argv[1])) + eprint("dwm-"VERSION", © 2004-2007 Anselm R. Garbe, Sander van Dijk, Premysl Hruby, Szabolcs Nagy\n"); else if(argc != 1) eprint("usage: dwm [-v]\n"); setlocale(LC_CTYPE, "");