Subject: Re: FVWM: EdgeCommand question

From: Rafal Bisingier <[email-masked]>
Date: Thu, 2 Sep 2004 13:56:22 +0200

Hi,

I'll interfere into the thread, because I'm tying to do something
similar to the presented below:

<cut> 
> This is the best version of the function I managed to write:
> 
> --
> Style FvwmButtons MouseFocus
> 
> # Set thickness of the edge of the screen to 1
> EdgeThickness 1
> 
> EdgeCommand Bottom Next (FvwmButtons) Focus
> Style FvwmButtons CirculateHit, MouseFocus
> 
> Module FvwmButtons
> Module FvwmAuto 100 "Silent AutoRaiseFunction"
> 
> DestroyFunc AutoLowerFunction
> AddToFunc AutoLowerFunction
> + I ThisWindow (FvwmButtons) Iconify on

Am I missing something, or the function above isn't used? ;-)

> # If FvwmButtons has focus when calling this function raise it
> DestroyFunc AutoRaiseFunction
> AddToFunc AutoRaiseFunction
> + I All (!Iconic, !Focused, FvwmButtons) Iconify on
> + I Current (Iconic, FvwmButtons) Iconify off
> + I Current (FvwmButtons) Raise
> --
> 
<cut>

In my version instead of iconyfying, I just change layer of the window.
And it works, but only for one panel at each edge (because there cannot
be two windows focused at the same time).
I can add a script to choose witch panel to focus depending on the mouse
position when EdgeCommand is executed, but it isn't comfortable (I had
to choose panel before I can see it - default layer for my panels is 0)
EdgeCommand is called only once on EnterEvent for the edge, so there
isn't possibility to choose window to raise when moving mouse on the
edge. 
That's why I've added new command EdgeLeaveCommand which works like
EdgeCommand, but is executed on LeaveEvent. I've posted patch to
fvwm-workers mailing list couple of days ago. Is there any chance to
include this in fvwm? And if not, then is there any other way to choose
for many panels on one edge of screen with the above functions?

-- 
Rafal Bisingier
--
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].