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 capabilities 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 conjunction with the ProxyI-
	      conified option on.

       *FvwmProxy: Font	font
	      Specifies	the font used for large	proxy window text.  This  usu-
	      ally  contains the icon string and is nearly vertically centered
	      in the proxy.  If	there is no icon string, the title bar	string
	      is  used.	  If  this  text exceeds the width of the proxy, it is
	      cropped on the right.  If	no Font	is  specified,	a  default  is

       *FvwmProxy: SmallFont font
	      Specifies	 the  font  used  for the auxiliary proxy window text.
	      This usually contains the	title bar string, but is omitted if it
	      is  identical  to	the icon string	and that text was not cropped.
	      The text is drawn	close to the bottom of the  proxy  and	should
	      probably	be  the	smallest legible font available.  If this text
	      exceeds the width	of the proxy, it is cropped on the  left.   If
	      no SmallFont is specified, this text is never drawn.

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

       *FvwmProxy: Height h
	      Specifies	the size in Y of each proxy window. The	default	is 60.

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

       *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. The default is false.

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

       *FvwmProxy: ShowOnly mode
	      Limits the appearance of proxy windows during the	 Show  action.
	      The  supported  modes  are  Selected, Covered, Grouped, and All.
	      The default is All which shows every proxy window	on the current
	      desk.   Select  mode will	only show the proxy window for the se-
	      lected window.  If no window is selected,	the currently  focused
	      window  is  treated as the select	window for ShowOnly filtering.
	      Covered mode extends Select mode to add proxy windows that over-
	      lap the select real window.  Just	using Selected mode can	result
	      in untouchable proxy windows that	disappear before you can reach
	      them.   Grouped  mode extends Covered mode to show proxy windows
	      in the same window group as the selected window.	In all	cases,
	      iconified	proxy windows never appear if ProxyIconified is	false.

       *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,	WeakInclude,  WeakSoftInclude,	and Exclude.  The com-
	      mands ending in Include identify a pattern to add	windows	to the
	      group.   Exclude identifies pattern to counteract	inclusion pat-
	      tern or auto-inclusion (see flags	below).	 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.	  Soft
	      inclusion	 also  affects	provocation effects (see below).  Weak
	      inclusion	prevents inclusion purely on name, instead relying  on
	      X11  leader  or process id matching.  Weakly included names will
	      not start	a group, but will join	a  group  in  the  same	 known
	      process  or  with	 the same leader.  Once	the window has joined,
	      the name is just used to determine if the	inclusion is soft.

       *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: Group groupname provocation pattern
	      The  provocation	flags  allow  you to customize whether grouped
	      windows provoke each other in response to	 a  raise/lower,  desk
	      move,  drag,  or iconification change.  The compound provocation
	      flag	  is	    of	      the	  form	       (No|In-
	      herit)(Hard|Soft)(Raise|Desk|Drag|Icon|All).  The	pattern	is op-
	      tional and should	already	have been included.  The pattern  lim-
	      its the change to	only affect that part of the group.  The first
	      element of the flag is optional and can turn off the effect, or,
	      with  a  pattern,	 can  dynamically  inherit the setting for the
	      group.  The default is to	turn the effect	on.  The  second  ele-
	      ment  can	 be  used to only apply	the change to windows with the
	      soft state either	on or off.  The	default	 is  to	 change	 both.
	      The  third  element  specifies  what  provoking  effect is being
	      changed: window raise/lower, moving to  another  desk,  dragging
	      windows  together,  toggling iconification, or all of these.  If
	      either the provoking window or a potentially provoked window has
	      an effect	turned off, the	provocation does not occur.

       *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 Nop.

       *FvwmProxy: UndoLimit n
	      This specifies the number	of entries 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 will be 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  05 September	2019 (2.6.9)		  FvwmProxy(1)


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

home | help