Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FvwmProxy(1)			 FVWM Modules			  FvwmProxy(1)

       FvwmProxy - the FVWM Proxy module

       FvwmProxy is spawned by fvwm, so	no command line	invocation will	work.

       The FvwmProxy allows the	user to	locate and control windows obscured by
       other windows by	using small non-overlapping proxy  windows.   The  de-
       fault capabilites include raising and lowering the proxied windows.

       Using  the  sample  configuration,  pressing Alt-Tab cycles through the
       windows and allows the use of assignable	click actions on the  proxies.
       Releasing  the  Alt  key	 deactivates  the  proxy windows.  By default,
       pressing	the left or right mouse	buttons	on a proxy  window  raises  or
       lowers  the associated proxied window respectively.  An additional map-
       ping can	have the proxies automatically appear by just holding the  Alt

       Proxy windows are always	on top and try to center on the	regular	window
       they proxy.  A simple collision algorithm tweaks	the positions  of  the
       proxy windows to	prevent	them from overlapping.

       The FvwmProxy program is	original work by Jason Weber.

       Copyright  2002,	 Jason	Weber. No guarantees or	warranties or anything
       are provided or implied in any way whatsoever. Use this program at your
       own risk.

       FvwmProxy  can  be  invoked by inserting	the line 'Module FvwmProxy' in
       the .fvwm2rc file. This can be placed on	a line by itself, if FvwmProxy
       is  to  be  spawned  during fvwm's initialization, or can be bound to a
       menu or mouse button or keystroke to invoke it later. Fvwm will	search
       directory  specified  in	the ModulePath configuration option to attempt
       to locate FvwmProxy.

       *FvwmProxy: Colorset n
	      Specifies	the color theme	for unselected proxy windows.

       *FvwmProxy: SelectColorset n
	      Specifies	the color theme	for the	selected proxy window.

       *FvwmProxy: IconifiedColorset n
	      Specifies	the color theme	for proxy windows  of  iconified  win-
	      dows.   This  is	only meaningful	in conjuction with the ProxyI-
	      conified option on.

       *FvwmProxy: Font	font
	      Specifies	the font used for all proxy window text.

       *FvwmProxy: Width w
	      Specifies	the size in X of each proxy window.

       *FvwmProxy: Height h
	      Specifies	the size in Y of each proxy window.

       *FvwmProxy: Separation d
	      Specifies	the minimum distance between proxy  windows  when  ad-
	      justing for collisions.

       *FvwmProxy: ShowMiniIcons bool
	      If  true,	 proxy	windows	show the mini icon for the window they
	      represent, if it has a mini icon.	 The default is	true.

       *FvwmProxy: EnterSelect bool
	      If true, a proxy is automatically	selected  when	the  mouse  is
	      moved over the proxy, even if no mouse buttons are pressed.  The
	      default is false.

       *FvwmProxy: ProxyMove bool
	      If true, moving a	proxy window will move the  window  it	repre-
	      sents.  Currently, the proxied window doesn't recognize snap ef-
	      fects during this	operation.

       *FvwmProxy: ProxyIconified bool
	      If true, continue	to proxy windows when they are iconified.   In
	      addition,	consider adding	click actions that Iconify on and off,
	      such as on the middlemouse button.

       *FvwmProxy: Action mouseaction response
	      Tells FvwmProxy to do the	specified response when	the given  ac-
	      tion  is	done.	The  currently	supported  mouse  actions are:
	      Click1, Click2, Click3 and so on,	representing mouse clicks with
	      various  buttons.	  By default, the module supports 3 mouse but-
	      tons, but	it can be compiled to support more.  The  default  re-
	      sponses  are  Raise,  Nop,  and  Lower  for  Click1, Click2, and
	      Click3, respectively.

       *FvwmProxy: Action Select command
	      This selects an fvwm function to be called  during  a  FvwmProxy
	      Hide  command  for the window whose proxy	was selected.  The de-
	      fault is WindowListFunc.	WindowListFunc is  predefined  by  the
	      fvwm install.  You can replace it, add to	it, or supply an inde-
	      pendent function.

       *FvwmProxy: Action Show command
	      This selects an fvwm function to be called  during  a  FvwmProxy
	      Show command.  The default is Nop.

       *FvwmProxy: Action Hide command
	      This  selects  an	 fvwm function to be called during a FvwmProxy
	      Hide command.  The default is Nop.

       *FvwmProxy: Action Abort	command
	      This selects an fvwm function to be called  during  a  FvwmProxy
	      Abort command.  The default is Nop.

       *FvwmProxy: Action Mark command
	      This  selects an fvwm function to	be called on a window after it
	      is marked.  The default is Nop.

       *FvwmProxy: Action Unmark command
	      This selects an fvwm function to be called on  a	marked	window
	      just after another window	gets the mark.	The default is Nop.

       *FvwmProxy: Action ModifierRelease modifiers command
	      This  selects  an	 fvwm  function	to be called while proxies are
	      shown and	the specified modifiers	are all	released.   The	 modi-
	      fiers  are  specified using the same syntax as in	the Mouse com-
	      mand.  The default is Nop.

       *FvwmProxy: Group groupname command pattern
	      For the given named  group,  adjust  inclusion  of  the  windows
	      matching the pattern.  The groupname is a	string identifier used
	      to associate windows.  The window	pattern	uses the  same	format
	      as the Style command.  The supported commands are	Include, Soft-
	      Include, and Exclude.  Include and SoftInclude identifies	a pat-
	      tern to add windows to the group.	 Exclude identifies pattern to
	      counteract inclusion pattern or auto-inclusion  (see  flags  be-
	      low).   All  exclusion checks follow all inclusion checks.  Soft
	      inclusion	limits the windows in that pattern to only  move  when
	      an non-soft window in the	group moves.  Moving or	resizing these
	      windows does not affect any other	windows.  They are also	immune
	      to edge effects.

       *FvwmProxy: Group groupname flag
	      For  the	given  named group, activate the given flag.  The sup-
	      ported flags are AutoInclude, AutoSoft, and IgnoreIDs.  All win-
	      dow  grouping is normally	checked	to only	group windows that are
	      in the same process or that have the  same  X11  client  leader.
	      IgnoreIDs	deactivates this mechanism.  AutoInclude automatically
	      includes any window that matches	the  same  process  or	client
	      leader,  without	having	to  name  them specifically.  AutoSoft
	      makes all	AutoInclusions soft (see inclusion description above).

       *FvwmProxy: SlotWidth w
	      This specifies the width of the icons used in  slots.   The  de-
	      fault is 16.

       *FvwmProxy: SlotHeight h
	      This  specifies  the height of the icons used in slots.  The de-
	      fault is 16.

       *FvwmProxy: SlotSpace d
	      This specifies the space between icons used in slots.   The  de-
	      fault is 4.

       *FvwmProxy: GroupSlot n
	      This  specifies  the  first slot that represent a	colored	group.
	      Group slots don't	need icons as the are drawn  by	 predetermined
	      means.  The default is 2.

       *FvwmProxy: GroupCount n
	      This specifies the number	of group slots.	 The default is	6.

       *FvwmProxy: SlotStyle n style
	      For  non-group  slots, this defines the appears of the indicated
	      slot.  The style format matches ButtonStyle  command.   The  de-
	      fault is nothing.

       *FvwmProxy: SlotAction n	mouseaction response
	      For  non-group slots, this defines the behavior of the indicated
	      slot.  The mouse action and response is used  the	 same  as  the
	      FvwmProxy	Action configuration.  The default is Noop.

       *FvwmProxy: UndoLimit n
	      This  specifies  the number of entires in	the undo buffer.  this
	      limits how far back you can undo.	 The default is	8.

       SendToModule FvwmProxy Show
	      Activate proxy windows for all windows on	the current desk  that
	      do  not use the WindowListSkip option.  If the desk is switched,
	      new proxies are automatically generated.

       SendToModule FvwmProxy Hide
	      Deactivate all proxy windows.  If	a proxy	is selected  (such  as
	      with  the	 Next and Prev commands), the Select Action is call on
	      the window that the proxy	represents.  The  default  action  in-
	      cludes  raising  the  window and warping the mouse to a position
	      over that	window.

       SendToModule FvwmProxy ShowToggle
	      If shown,	hide.  If hidden, show.

       SendToModule FvwmProxy Abort
	      Deactivate all proxy windows.  This differs from the  Hide  com-
	      mand in that no action is	taken on any selected window.

       SendToModule FvwmProxy Circulate	command
	      Tell FvwmProxy to	run a conditional command and mark the result.
	      The imbedded command SendToModule	FvwmProxy  Mark	 is  automati-
	      cally  appended  after the optional condition, so	supplying your
	      own imbedded command will	probably fail.	An example argument to
	      Circulate	 is  ScanForWindow  East  South	(CurrentPage).	If the
	      proxies aren't already shown (such as with  the  Show  command),
	      any Circulate command will automatically show the	proxies.

       SendToModule FvwmProxy Next (obsolete)
	      If a proxy window	is selected, the next proxy is selected.  Win-
	      dows with	the WindowListSkip option are  ignored.	  The  proxies
	      are  sorted  left	to right during	the Show command.  If no proxy
	      is currently selected, but a proxy on this desk was selected  on
	      a	recent show, that proxy	is selected.  If no proxy on this desk
	      was recently selected, the leftmost proxy	is used.  This	nearly
	      duplicates  the  functionality  of  Circulate ScanForWindow East
	      South (CurrentPage).

       SendToModule FvwmProxy Prev (obsolete)
	      If a proxy window	is selected, the previous proxy	 is  selected.
	      The  starting point is the same as with the Next command,	except
	      that the choice with no recent selection is the rightmost	proxy.
	      This  nearly  duplicates the functionality of Circulate ScanFor-
	      Window West North	(CurrentPage).

       SendToModule FvwmProxy SoftToggle
	      Toggle the soft group inclusion setting for the selected window.
	      This setting is the same that can	be activated using the SoftIn-
	      clude and	AutoSoft commands inside the FvwmProxy Group  configu-

       SendToModule FvwmProxy IsolateToggle
	      Toggle  the  isolation  setting for the selected window's	group.
	      Isolated groups only allow one member to not be iconified	 at  a
	      time.   The  members  are	 also coerced to the same position and
	      size, constrained	by their size increment.

       SendToModule FvwmProxy PrevIsolated
	      If focused on a member of	a isolating group, deiconify the  mem-
	      ber  higher on list.  If no member is higher, deiconify the last

       SendToModule FvwmProxy NextIsolated
	      If focused on a member of	a isolating group, deiconify the  mem-
	      ber  lower on list.  If no member	is higher, deiconify the first

       SendToModule FvwmProxy Undo
	      Attempt to undo the last window move and/or resize.

       SendToModule FvwmProxy Redo
	      Attempt to redo the most recent Undo.  If	another	move or	resize
	      occurs since the previous	undo, the redo buffer is cleared.

       The  following  are  excerpts from a .fvwm2rc file which	describe Fvwm-
       Proxy initialization commands:

	   Key Tab A M SendToModule FvwmProxy Circulate	\
	       ScanForWindow East South	(CurrentPage)
	   Key Tab A SM	SendToModule FvwmProxy Circulate \
	       ScanForWindow West North	(CurrentPage)

	   *FvwmProxy: Action ModifierRelease M	SendToModule FvwmProxy Hide

       But Meta-Shift-Tab can be awkward, so Meta-Q may	be a  better  alterna-

	   Key Q A M SendToModule FvwmProxy Circulate \
	       ScanForWindow West North	(CurrentPage)

       You  might  consider adding !Sticky to the (CurrentPage)	conditional if
       you use Sticky for low-interactivity programs, like load	meters and mu-
       sic players.

       To have the proxies immediately pop up when you hold the	Alt key, add

	   Key Meta_L A	N SendToModule FvwmProxy Show

       If  that's  too intrusive, you can assign Alt-Esc to switch the proxies
       on and off by adding

	   Key Escape A	M SendToModule FvwmProxy ShowToggle

       Some platforms have problems where general Alt key combinations	becom-
       ing  otherwise  dysfunctional  after  defining these mappings.  If this
       happens,	it might be difficult to take full advantage of	this module.

       To have the mouse jump to the center instead of the upper left  corner,
       try adding

	   AddToFunc WindowListFunc
	   + I WarpToWindow 50 50

       or just make your own list function from	scratch, for example

	   DestroyFunc WindowListFunc
	   AddToFunc WindowListFunc
	   + I WindowId	$[]	Raise
	   + I WindowId	$[]	WarpToWindow 50	50

       Note that the default configuration does	not activate any Next/Prev op-
       erations	for Alt-Tab since that sequence	is, by default,	 used  by  an-
       other  module.	Adding	appropriate key	mappings to your .fvwm2rc will
       switch this responsibility to FvwmProxy.

       If you use ProxyIconified, you might consider adding Iconify actions.

	   AddToFunc WindowListFunc
	   + I WindowId	$[]	Iconify	Off

	   AddToFunc Raise-and-Deiconify
	   + I WindowId	$[]	Raise
	   + I WindowId	$[]	Iconify	Off

	   *FvwmProxy: Action Click1 Raise-and-Deiconify
	   *FvwmProxy: Action Click2 Iconify

       You can set up some basic slots fairly easily.

       *FvwmProxy: GroupSlot 2
       *FvwmProxy: GroupCount 5

       *FvwmProxy: SlotStyle 1 MiniIcon
       *FvwmProxy: SlotStyle 7 Pixmap "squeeze.xpm"
       *FvwmProxy: SlotStyle 8 Pixmap "mini-up.xpm"
       *FvwmProxy: SlotStyle 9 Pixmap "mini-bball.xpm"
       *FvwmProxy: SlotStyle 10	Pixmap "mini-cross.xpm"

       *FvwmProxy: SlotAction 1	Click1 Popup WindowMenu
       *FvwmProxy: SlotAction 7	Click1 SendToModule FvwmProxy IsolateToggle
       *FvwmProxy: SlotAction 8	Click1 SendToModule FvwmProxy SoftToggle
       *FvwmProxy: SlotAction 9	Click1 Iconify
       *FvwmProxy: SlotAction 10 Click1	Delete

       In this example,	WindowMenu is something	you would have to define.   If
       your proxy width	is too small, some slots can get cut off.

       Undo and	redo can be easily mapped to any keys.

       Key Z A 3 SendToModule FvwmProxy	Undo
       Key R A 3 SendToModule FvwmProxy	Redo

       You  can	rotate through an isolated group using any keys.  For example,
       meta cursor-up and cursor-down could traverse the group.

       Key Up A	3 SendToModule FvwmProxy PrevIsolated
       Key Down	A 3 SendToModule FvwmProxy NextIsolated

       A somewhat impractical example of a group definition using GIMP	is  as

       *FvwmProxy: Group "GIMP"	Include	"The GIMP"
       *FvwmProxy: Group "GIMP"	Include	"Module	Manager"
       *FvwmProxy: Group "GIMP"	SoftInclude "Unit Editor"
       *FvwmProxy: Group "GIMP"	AutoInclude
       *FvwmProxy: Group "GIMP"	AutoSoft
       *FvwmProxy: Group "GIMP"	Exclude	"Preferences"

       This sets up a hard attachment between the windows "The GIMP" and "Mod-
       ule Manager".  The "Unit	Editor"	is also	in the	group,	but  only  re-
       sponds  to  movement  of	one of the hard	inclusions.  Any window	in the
       same process or with the	same client leader  is	also  associated,  but
       they  default  to soft inclusion, except	"Preferences" which is explic-
       itly excluded.  Note that in this case, the explicit soft inclusion  of
       "Unit  Editor" is redundant with	the combination	of AutoInclude and Au-
       toSoft.	However, if AutoSoft was not specified,	the  explicit  SoftIn-
       clude  would distinguish	that pattern from the otherwise	hard inclusion
       under just AutoInclude.

       Jason Weber

3rd Berkeley Distribution (not released	yet) (2.5.20)		  FvwmProxy(1)


Want to link to this manual page? Use this URL:

home | help