Raising windows belonging to single group


When ever I open GIMP or similar applications, many windows are opened simultaneously. If I open some other application, it will cover the already opened windows and I have to click on each and every window belonging to GIMP to raise them. Is there a simple way to bring all the windows belonging in to one group by a simple click??



You could try:

AddToFunc RaiseSameClass
+ I All (CurrentPage, AcceptsFocus, !Transient) ThisWindow ("*gimp*") Raise

You’d have to change the name of the windows you were looking for – I don’t use the GIMP.

– Thomas Adam

thanks very much for the reply Thomas Adams. Do I have to bind that function in to any key??

A simple clicking in the window is simply rising that particular window.


I suppose you’ll have to add it to mousebutton 1 for it to work.

You can bind it however you like.

Well, then I suppose you could use FvwmEvent to do it. How about something like this:

DestroyModuleConfig FE-raise: *
*FE-Raise: PassId
*FE-Raise: Cmd Function
*FE-Raise: raise_window MyFunctionToRaiseAllWindow

AddToFunc I Module FvwmEvent FE-Raise

This will setup FvwmEvent to listen for when any windows are raised, and act accordingly. In this case, it will run the function: “MyFunctionToRaiseAllWindow”. With FvwmEvent (in using the ‘PassID’ option) it will pass the window ID of the window along with it. We can then use this as a basis, to work from.

DestroyFunc MyFunctionToRaiseAllWindow
AddToFunc MyFunctionToRaiseAllWindow
+ I WindowId $0 Raise
+ I All (CurrentDesk, AcceptsFocus, !Transient) \
   ThisWindow ($[w.class]) Raise

You might want to adapt that, to include a filter, so that you don’t raise all Xterm windows, by clicking on Xterm, say. As it stands, that function above will raise all windows whos class is the same as the window you just clicked on to raise – note that this assumes you have your focus policy setup, such that clicking on a window raises it.

As a further aside, you can also use ‘FvwmAuto’ to do the same thing, using -menter.

– Thomas Adam.