On Fri, 21 Mar 2008 10:46:19 -0700
Ethan <[EMAIL PROTECTED]> wrote:

> I have a few applications that open several sibling (not transient)
> windows.  I'd like to configure FVWM
> so that raising any one of these windows raises them all.  I've
> configured FvwmEvent to do this with
> the following:
> 
> DestroyModuleConfig EEvents: *
> *EEvents: raise_window RaiseMultiWindowApps
> 
> DestroyFunc RaiseMultiWindowApps
> AddToFunc   RaiseMultiWindowApps
> + I ThisWindow ("AppWindow1|AppWindow2|AppWindow3|AppWindow4") \
>      All ("AppWindow1|AppWindow2|AppWindow3|AppWindow4",!Raised) Raise
> 
> Module FvwmEvent EEvents
> 
> This is effective but a little inefficient since the Raise command in
> RaiseMultiWindowApps triggers
> new raise_window events that must be handled by FvwmEvent.  Is there a
> way that I could uncover
> the windows in RaiseMultiWindowApps without triggering new raise_window 
> events?
> 
> Is there a better way to achieve the "raising one window raises all
> windows" goal?  I looked at
> FvwmAuto but I don't think it does what I want.
> 
I'd just use bindings, since anyway you have to write the window names
implicitly. Something along the lines of

Mouse (window1) 1 T A All 
("AppWindow1|AppWindow2|AppWindow3|AppWindow4",!Raised) Raise
Mouse (window2) 1 T A All 
("AppWindow1|AppWindow2|AppWindow3|AppWindow4",!Raised) Raise
Mouse (window3) 1 T A All 
("AppWindow1|AppWindow2|AppWindow3|AppWindow4",!Raised) Raise
....

If you need something more, you can elaborate a bit more around your FvwmEvent 
idea,
like this:

> DestroyModuleConfig EEvents: *
> *EEvents: raise_window RaiseMultiWindowApps
> 
> DestroyFunc RaiseMultiWindowApps
> AddToFunc   RaiseMultiWindowApps
> + I KillModule FvwmEvent EEvents
> + I ThisWindow ("AppWindow1|AppWindow2|AppWindow3|AppWindow4") \
>      All ("AppWindow1|AppWindow2|AppWindow3|AppWindow4",!Raised) Raise
> + I Module FvwmEvent EEvents
>
> Module FvwmEvent EEvents

This way, the event is disabled before raising the windows.

There might be better ways, I don't really know.
-- 
Jesús Guerrero <[EMAIL PROTECTED]>

Reply via email to