Stjepan Glavina
2006-Dec-28 13:12 UTC
[compiz] Patch: switcher's window is a splash window
Hi, I made a simple patch which makes switcher's window a splash window (_NET_WM_WINDOW_TYPE_SPLASH). This way I can easily add effects for it. The window is a splash window, so why not use this type instead of Unknown? Beryl's switcher window is a Splash window too. Is there a reason why Compiz uses Uknown for it? Patch: --- switcher.c 2006-12-28 10:14:52.000000000 +0100 +++ switcher_new.c 2006-12-28 10:16:40.000000000 +0100 @@ -799,6 +799,13 @@ XA_ATOM, 32, PropModeReplace, (unsigned char *) state, nState); } + + Atom type; + type = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_SPLASH", 0); + XChangeProperty(dpy, ss->popupWindow, + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE", 0), + XA_ATOM, 32, PropModeReplace, + unsigned char *)&type, 1); if (!ss->grabIndex) ss->grabIndex = pushScreenGrab (s, s->invisibleCursor, "switcher"); -- Stjepan
On Thu, 2006-12-28 at 22:14 +0100, Stjepan Glavina wrote:> Hi, > > I made a simple patch which makes switcher's window a splash window > (_NET_WM_WINDOW_TYPE_SPLASH). This way I can easily add effects for it. > The window is a splash window, so why not use this type instead of > Unknown? Beryl's switcher window is a Splash window too. Is there a > reason why Compiz uses Uknown for it?Splash window type indicates that the window is a splash screen displayed as an application is starting up. I wouldn't say that this is what the switcher window is. To me it seems like the switcher window better match the behavior of a parentless dialog or the new notification window type. A non-override-redirect window without a type hint should be considered of type Normal, according to the EWMH spec. So as long as I'm not convinced that some other type than Normal is more correct, I wont be setting that hint. You can always look for the "_SWITCH_SELECT_WINDOW" hint if you really need to determine if a window is a switcher window. -David