--- 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);