it's debug season for upcoming dwm 5.8, so only use this if you really want to run experimental code or debug code
authorAnselm R Garbe <anselm@garbe.us>
Wed, 31 Mar 2010 23:24:22 +0100
changeset 1508 0bee7022aca5
parent 1507 72e52c5333ef
child 1509 7830e13337e9
it's debug season for upcoming dwm 5.8, so only use this if you really want to run experimental code or debug code
BUGS
config.mk
dwm.c
--- a/BUGS	Wed Nov 25 13:56:17 2009 +0000
+++ b/BUGS	Wed Mar 31 23:24:22 2010 +0100
@@ -44,3 +44,16 @@
 starting emacs from dmenu in archlinux results in missing configure of emacs, but mod1-space or mod1-shift-space fix this problem. this problem is new and did not happen in 1.6 xorg servers
 
 Starting emacs from xterm doesnt show this problem, he uses tag 8 for emacs
+
+---
+
+2009/12/7 Alexandr Krylovskiy <wing_AT_tversu.ru>: 
+>  Fullscreen mode with flash applications (youtube, for example) doesn't 
+> work properly neither in tiled nor in floating mode. 
+>  Fullscreen window closes immediately after opening. 
+
+This is a known bug (for some curiosity I received the same report via 
+privmail from 2 other people within one week, really strange). 
+The quick fix is commenting out the code in lines 817/818 in hg tip 
+dwm. I cannot confirm this has no side effects (I think it does) and I 
+will address this issue shortly with a real fix. 
--- a/config.mk	Wed Nov 25 13:56:17 2009 +0000
+++ b/config.mk	Wed Mar 31 23:24:22 2010 +0100
@@ -20,10 +20,10 @@
 
 # flags
 CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
-#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
-CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
-#LDFLAGS = -g ${LIBS}
-LDFLAGS = -s ${LIBS}
+CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
+#CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+LDFLAGS = -g ${LIBS}
+#LDFLAGS = -s ${LIBS}
 
 # Solaris
 #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
--- a/dwm.c	Wed Nov 25 13:56:17 2009 +0000
+++ b/dwm.c	Wed Mar 31 23:24:22 2010 +0100
@@ -41,6 +41,7 @@
 #endif /* XINERAMA */
 
 /* macros */
+#define D                       if(1)
 #define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
 #define CLEANMASK(mask)         (mask & ~(numlockmask|LockMask))
 #define INRECT(X,Y,RX,RY,RW,RH) ((X) >= (RX) && (X) < (RX) + (RW) && (Y) >= (RY) && (Y) < (RY) + (RH))
@@ -814,8 +815,8 @@
 focus(Client *c) {
 	if(!c || !ISVISIBLE(c))
 		for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext);
-	if(selmon->sel)
-		unfocus(selmon->sel);
+//	if(selmon->sel)
+//		unfocus(selmon->sel);
 	if(c) {
 		if(c->mon != selmon)
 			selmon = c->mon;
@@ -1388,12 +1389,27 @@
 void
 run(void) {
 	XEvent ev;
-
+	static const char *evname[LASTEvent] = {
+		[ButtonPress] = "buttonpress",
+		[ConfigureRequest] = "configurerequest",
+		[ConfigureNotify] = "configurenotify",
+		[DestroyNotify] = "destroynotify",
+		[EnterNotify] = "enternotify",
+		[Expose] = "expose",
+		[FocusIn] = "focusin",
+		[KeyPress] = "keypress",
+		[MappingNotify] = "mappingnotify",
+		[MapRequest] = "maprequest",
+		[PropertyNotify] = "propertynotify",
+		[UnmapNotify] = "unmapnotify"
+	};
 	/* main event loop */
 	XSync(dpy, False);
-	while(running && !XNextEvent(dpy, &ev))
+	while(running && !XNextEvent(dpy, &ev)) {
+		D fprintf(stderr, "run event %s\n", evname[ev.type]);
 		if(handler[ev.type])
 			handler[ev.type](&ev); /* call handler */
+	}
 }
 
 void