Timo Korvola said: (by the date of Tue, 24 Jun 2008 02:59:44 +0300) > I just tried enabling the Composite extension, and raise-lower-window > stopped working. Apparently VisibilityNotify events are no longer > generated and Sawfish cannot keep track of window visibility. Is this > intended behaviour for the Composite extension? How can one check > whether a window is unobscured then? One could loop over windows > higher in the stacking order and check each for intersection, but that > feels rather clumsy.
Wow, I'm happy that you are trying this, now there is a chnce it will get fixed :) Yeah, the raise-lower-window stopped working and currently I'm using two different keybindings for raise-window and lower-window. I'm not sure if it's intended or just a side effect of composite extension, but the fact is that with it all windows are rendered completely unobscured, so that later they can be stacked with transparency. I'm afraid that a loop over higher stacked windows is the only solution... If we limit the loop only to windows that intersect with current viewport (and current workspace), and only to windows higher in stacking order, an intersection check shouldn't take too long? I can have as much a 200 windows open in all 24 viewports, but usually not more that 20 in a single viewport. How long could be a loop over 20 windows to check their coordinates intersections? I'm speaking in theory only as I cannot program in lisp :) -- Janek Kozicki |
