X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/cf58091736de194fabfd25420bbd1999b4ad3360..f2512243f494915fe91ebb5e67ac94abd5b528c6:/main.c?ds=sidebyside

diff --git a/main.c b/main.c
index 5324ae0..2140d89 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,4 @@
-/* © 2006-2007 Anselm R. Garbe <garbeam at gmail dot com>
- * © 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
- * See LICENSE file for license details. */
+/* See LICENSE file for copyright and license details. */
 #include "dwm.h"
 #include <errno.h>
 #include <locale.h>
@@ -18,8 +16,10 @@
 
 char stext[256];
 int screen, sx, sy, sw, sh, wax, way, waw, wah;
-unsigned int bh, bpos, ntags, numlockmask;
-Atom wmatom[WMLast], netatom[NetLast];
+unsigned int bh, ntags;
+unsigned int bpos = BARPOS;
+unsigned int numlockmask = 0;
+Atom dwmtags, wmatom[WMLast], netatom[NetLast];
 Bool *seltag;
 Bool selscreen = True;
 Client *clients = NULL;
@@ -40,8 +40,7 @@ static void
 cleanup(void) {
 	close(STDIN_FILENO);
 	while(stack) {
-		if(stack->isbanned)
-			XMoveWindow(dpy, stack->win, stack->x, stack->y);
+		unban(stack);
 		unmanage(stack);
 	}
 	if(dc.font.set)
@@ -140,6 +139,7 @@ setup(void) {
 	XSetWindowAttributes wa;
 
 	/* init atoms */
+	dwmtags = XInternAtom(dpy, "__DWM_TAGS", False);
 	wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
 	wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
 	wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False);
@@ -152,7 +152,6 @@ setup(void) {
 	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
 	cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
 	/* init modifier map */
-	numlockmask = 0;
 	modmap = XGetModifierMapping(dpy);
 	for (i = 0; i < 8; i++)
 		for (j = 0; j < modmap->max_keypermod; j++) {
@@ -190,11 +189,10 @@ 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);
@@ -227,12 +225,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);
@@ -243,8 +243,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
@@ -274,8 +276,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", © 2006-2007 A. R. Garbe, S. van Dijk, J. Salmi, P. Hruby, S. Nagy\n");
 	else if(argc != 1)
 		eprint("usage: dwm [-v]\n");
 	setlocale(LC_CTYPE, "");