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