Subject: FVWM: move through windowstack...

From: [email-masked] (Max Bracht)
Date: Fri, 15 Feb 2002 14:04:35 +0100

Hi,

I've only just moved from CDE to fvwm2 and there's one thing wich I just can't
get running. Under CDE I was able to move throuch a window-stack by typing
'Alt + CursorDown' repeatedly, which means that the lowest window in the stack
moved to the top each time I hit that key-combination. So I had an easy way to
cycle through a windowstack. ('Alt + CursorUP' moved the top-window to the
bottom). I tried to realize the same effect under fvwm3 by something like:
   Key Down A M Next (CurrentPage,!Raised) Raise
   Key Up A M Next (CurrentPage,!Raised) Lower
It sometimes works and sometimes does not.
Can anybody help ??

	thanks a lot...
	Max

-- 
*****************************************************************************
*  Max Bracht                     * Telephone: +49 (0)89 4563 0             *
*                                 *                                         *
*  Cadence Design Systems         *                                         *
*  Mozartstr. 2                   * E-Mail: [email-masked]             *
*  D 85622 Feldkirchen Germany    *                                         *
*****************************************************************************
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Mikhael Goikhman <[email-masked]>
Date: Sun, 17 Feb 2002 01:11:50 +0000

> It sometimes works and sometimes does not.

There is no "fvwm3". And strictly speaking, no "fvwm2", there are several
not fully compatible 2.x series. It is one evolving "fvwm" project.

I am not sure what these keys do exactly in CDE. Probably it should be
"Raised", not "!Raised" in the second line.

Anyway, I think it is currently impossible to emulate such behaviour.
The condition "Raised" is not good if there are more than one raised
windows on the screen or CirculateSkip windows or windows on higher
layers. There should be another condition, something like
HighestInTheBlockOfWindowsOfTheSameLayerUnderPointer or HighestNearPointer
for short. Since "!HighestNearPointer" is useless for this situation
(it returns any window not in the block as well) there should be more
conditions like LowestNearPointer (not very useful for this Lower/Raise
situation) or SecondHighestNearPointer (useful).

But maybe I just overestimate what CDE does, and this emulates it fine:

  Key Up   A M Prev (CurrentPage, Layer, AcceptsFocus) FocusWith Lower
  Key Down A M Next (CurrentPage, Layer, AcceptsFocus) FocusWith Raise

  DestroyFunc FocusWith
  AddToFunc   FocusWith
  + I Focus
  + I $0
  #+ I WarpToWindow 50 50

Regards,
Mikhael.