Subject: Scr.LastWindowRaised

From: Matthias Clasen <[email-masked]>
Date: Thu, 22 Apr 1999 11:14:41 +0200

I think the introduction of layers has confused the logic behind
the RaiseLower function. It used to keep track of the last window
which has been explicitely raised in Scr.LastWindowRaised. This
made sense as long as there was only one window which couldn't be
raised any further, namely the window at the very top of the stacking
order. But now there are many windows for which this is true, namely
all windows which are on top of their layer. Thus I'd like to propose
to remove Scr.LastWindowRaised and instead use a little function

Bool CanWindowBeRaisedAnyFurther (FvwmWindow *) 

to decide wether we should raise or lower in RaiseLower. There is
one more use of Scr.LastWindowRaised in HandleButtonPress, which should
also be replace by this function (or just be removed completely).

Any objections ?

I also plan to collect all code which manipulates the stacking order in
new files stack.[ch]. 
 
Any objections to this ?

Matthias

-- 
Matthias Clasen, 
Tel. 0761/203-5606
Email: [email-masked]
Mathematisches Institut, Albert-Ludwigs-Universitaet Freiburg
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Bob Woodside <[email-masked]>
Date: Thu, 22 Apr 1999 14:01:51 -0400

Matthias Clasen wrote:
> 
> Thus I'd like to propose to remove Scr.LastWindowRaised and instead
> use a little function
> 

	Sounds like the way to go.

> I also plan to collect all code which manipulates the stacking order in

	Yes!

	I'd hoped to do something like this post-2.2, but I haven't had time to
dig into the layer code to see what may have changed here. 

	I'd also wanted to abstract a set of chain-manipulation primitives into
library functions - I had in mind some functions that would let you move
a contiguous (in the chain sense) set of elements from one spot to
another (or even to a different chain) in one operation, rather than one
at a time.

	Moving all the stacking order code to one location would make it much
easier to study this notion.

- Bob