On Sun, Apr 19, 2009 at 7:40 AM, Thomas Adam <[email protected]> wrote:
> 2009/4/17 Jason Weber <[email protected]>:
>> Attached in function Restack().  Work in progress, etc.
>>
>> -- Jason Weber
>>
>> On Fri, Apr 17, 2009 at 10:30 AM, Thomas Adam <[email protected]> 
>> wrote:
>>> 2009/4/17 Jason Weber <[email protected]>:
>>>> I've been trying to switch series of XRaiseWindow/XLowerWindow calls
>>>> to a singular XRestackWindows,
>>>> but it doesn't seem to have any affect.  I send it an array of Window 
>>>> values.
>>>> It just responds with a bunch of:
>>>>
>>>> non-fatal X error as follows, display 0xe8e500 op 12:0
>>>> "X_ConfigureWindow" serial 183 error 8
>
> So I added the following debug:
>
> @@ -703,6 +734,8 @@
>                error_event->request_code,error_event->minor_code,
>                function,(unsigned int)error_event->serial,
>                error_event->error_code);
> +       if( error_event->error_code == BadMatch &&
> error_event->request_code == X_ConfigureWindow )
> +               fprintf(stderr, "BadMatch Raised!  This shouldn't happen!\n");
>
>
> ... to FvwmProxy.c:myXErrorHandler().  From the XRestackWindows man
> page (and my dusted-off XLib programmers' reference manual):
>
> You seem to be hitting the BadMatch error which suggests that the
> window specified aren't a sibling of one another.  Coupled with the
> fact you're only receiving ConfigureNotify requests with this
> condition suggests that:
>
>    If the override-redirect attribute of a window is False and some
> other client has selected SubstructureRedirectMask on the parent, the X
> server generates ConfigureRequest events for each window whose
> override-redirect flag is not set, and no further processing is
> performed.  Otherwise, the windows will be restacked in top-to-bottom
> order.
>
>
> I am not sure who's at fault here -- I suspect FVWM is to blame.
>
> -- Thomas Adam
>
>

I got a similar impression from the man pages, but those also implied that
the singular raise/lower requests would be similarly intercepted.  However,
they seem to go through fine.

As I understand, the primary windows are all children of the root,
so they are all siblings, but maybe restack only works on subwindows.
In FvwmPager, it seems to be used only for the little mini-windows it owns.

Any ideas for an alternative method or a way we can evaluate this further?

Is there a way to probe these masks on windows?  I don't see it on xprop.

-- Jason Weber

Reply via email to