On Thu, Jul 11, 2019 at 11:16:31PM +0200 I heard the voice of
Rhialto, and lo! it spake thus:
> 
> but I did find some other scenario that does weird things :-(

[...]

> so maybe that is a sign of a loop in ctwm indeed. It might be
> getting confused while getting the OTP stack in order with now 3
> windows that have the wrong priority. (Maybe restacking needs to
> happen by first removing all transients, then re-adding them all,
> instead of one by one??)

I think it turns out to be more banal than that.  xine helpfully
positions the panel and nav controls bumped right up against each
other, which means with the borders we add there's actually a
single-pixel overlap.  I can trigger it just to by kicking to
fullscreen with things positioned right, and then there's this weird
visible flickering right at the intersection between the two
transients.  Ahah.

We start from the bottom of the OWL stack.  When we find a transient,
we move it up to the top of the stack, then move on to the window that
was previously right above it.  Which actually meant that we moved the
transient up _twice_; once when we found it in the middle of the list,
then again when we found it at the top.  But the second time, the
window previously right above it was NULL, so, fine, we're done.  Now,
if we have *two* (or presumably >2) transients that we move to the top
of the list...  whoops.  Totally not my fault.  The mailing list is
obviously inserting bugs in patches as they pass through it.

So we have to just build up the list of transients during the pass
through the list, then move them after we've completed the search.

Fixed up, and landed the stack of changes in trunk.  If we don't hit
any new surprises with it, I'll plan to try backporting it to before
the RLayout/RANDR changes and make a 4.0.3 in a week or so.


-- 
Matthew Fuller     (MF4839)   |  [email protected]
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

Reply via email to