--- musca.c.orig 2009-11-03 03:20:21.000000000 +0100 +++ musca.c 2010-11-21 13:44:21.947633368 +0100 @@ -400,9 +400,9 @@ { Window w; int i, wc = 0; Window *wins = allocate(sizeof(Window) * (h->above->depth + h->fullscreen->depth + 1)); + wins[wc++] = list[0]; FOR_STACK (w, h->fullscreen, Window, i) wins[wc++] = w; FOR_STACK (w, h->above, Window, i) wins[wc++] = w; - wins[wc++] = list[0]; XRaiseWindow(display, wins[0]); if (wc > 1) XRestackWindows(display, wins, wc); if (n > 1) XRestackWindows(display, list, n); @@ -3069,6 +3069,9 @@ || is_netwmstate(ws->state, NetWMStateFullscreen) || is_netwmstate(ws->state, NetWMStateHidden) || is_unmanaged_window(win)) ? 0:1; + if (is_netwmstate(ws->state, NetWMStateFullscreen)) ws->manage = 1; + if (is_netwmstate(ws->state, NetWMStateHidden)) ws->manage = 1; + if (ws->type == atoms[NetWMWindowTypeNormal]) ws->manage = 1; note("%s %s %s %s %s %s %x %x", ws->class, ws->name, ws->manage ? "manage": "ignore", ws->input ? "focus": "nofocus", ws->c ? "client": "unknown", ws->attr.override_redirect ? "override" : "normal", ws->state, ws->type); @@ -3104,14 +3107,14 @@ } else { XWindowChanges wc; - if (is_netwmstate(ws->state, NetWMStateFullscreen)) - { - wc.x = 0; wc.y = 0; - wc.width = heads->screen->width; - wc.height = heads->screen->height; - wc.border_width = 0; - wc.sibling = Above; - } else +// if (is_netwmstate(ws->state, NetWMStateFullscreen)) +// { +// wc.x = 0; wc.y = 0; +// wc.width = heads->screen->width; +// wc.height = heads->screen->height; +// wc.border_width = 0; +// wc.sibling = Above; +// } else { wc.x = cr->x; wc.y = cr->y; wc.width = MAX(1, cr->width);