it's debug season for upcoming dwm 5.8, so only use this if you really want to run experimental code or debug code

master
Anselm R Garbe 2010-03-31 23:24:22 +01:00
parent 1144e98394
commit d6bdd03d91
3 changed files with 37 additions and 8 deletions

13
BUGS
View File

@ -44,3 +44,16 @@ Donald Allen reported this:
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.

View File

@ -20,10 +20,10 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
# 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}\"

24
dwm.c
View File

@ -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 @@ void
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 @@ restack(Monitor *m) {
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