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

FreeBSD Manual Pages

  
 
  

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

NAME
     FvwmProxy - the fvwm proxy module

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

DESCRIPTION
     The  FvwmProxy  allows  the  user to locate and control windows obscured by
     other windows by using small non-overlapping proxy  windows.   The  default
     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 mapping can  have  the  proxies
     automatically appear by just holding the Alt key.

     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.

COPYRIGHTS
     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.

INVOCATION
     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  speci-
     fied in the ModulePath configuration option to attempt to locate FvwmProxy.

CONFIGURATION OPTIONS
     *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 windows.
	    This is only meaningful in conjunction with the  ProxyIconified  op-
	    tion on.

     *FvwmProxy: Font font
	    Specifies  the  font used for large proxy window text.  This usually
	    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 used.

     *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 iden-
	    tical 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 180.

     *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  adjusting
	    for collisions. The default is 10.

     *FvwmProxy: ShowMiniIcons bool
	    If true, proxy windows show the mini icon for the window they repre-
	    sent, 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 represents.
	    Currently, the proxied window doesn't recognize snap effects  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 de-
	    fault is All which shows every proxy window  on  the  current  desk.
	    Select mode will only show the proxy window for the selected window.
	    If no window is selected, the currently focused window is treated as
	    the  select window for ShowOnly filtering.	Covered mode extends Se-
	    lect mode to add proxy windows that overlap the select real  window.
	    Just  using  Selected  mode  can result in untouchable proxy windows
	    that disappear before you can reach them.  Grouped mode extends Cov-
	    ered mode to show proxy windows in the same window group as the  se-
	    lected  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  action
	    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 buttons, but it can be  com-
	    piled  to  support	more.  The default responses 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 default is
	    WindowListFunc.  WindowListFunc is predefined by the  fvwm	install.
	    You can replace it, add to it, or supply an independent 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 modifiers are
	    specified using the same syntax as in the Mouse  command.	The  de-
	    fault 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  com-
	    mand.  The supported commands are Include, SoftInclude, WeakInclude,
	    WeakSoftInclude,  and Exclude.  The commands ending in Include iden-
	    tify a pattern to add windows to the group.  Exclude identifies pat-
	    tern to counteract inclusion pattern or  auto-inclusion  (see  flags
	    below).  All exclusion checks follow all inclusion checks.	Soft in-
	    clusion 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 ef-
	    fects.  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 supported
	    flags are AutoInclude, AutoSoft, and IgnoreIDs.  All window grouping
	    is normally checked to only group  windows	that  are  in  the  same
	    process  or that have the same X11 client leader.  IgnoreIDs deacti-
	    vates 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|Inherit)(Hard|Soft)(Raise|Desk|Drag|Icon|All).	The  pattern  is
	    optional  and should already have been included.  The pattern limits
	    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 pat-
	    tern, can dynamically inherit the setting for the  group.	The  de-
	    fault  is  to turn the effect on.  The second element 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 default is
	    16.

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

     *FvwmProxy: SlotSpace d
	    This  specifies  the space between icons used in slots.  The default
	    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 default is  noth-
	    ing.

     *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  Fvwm-
	    Proxy Action configuration.  The default is Nop.

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

COMMANDS
     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 includes 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 command 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 automatically
	    appended after the optional condition, so supplying your own  imbed-
	    ded command will probably fail.  An example argument to Circulate is
	    ScanForWindow  East  South (CurrentPage).  If the proxies aren't al-
	    ready 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.  Windows
	    with the WindowListSkip option are ignored.  The proxies are  sorted
	    left to right during the Show command.  If no proxy is currently se-
	    lected, 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  functional-
	    ity 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 ScanForWindow  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 SoftInclude
	    and AutoSoft commands inside the FvwmProxy Group configuration.

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

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

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

     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 oc-
	    curs since the previous undo, the redo buffer will be cleared.

SAMPLE CONFIGURATION
     The  following  are  excerpts from a .fvwm2rc file which describe FvwmProxy
     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 alternative.

	 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 music play-
     ers.

     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	becoming
     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 $[w.id] Raise
	 + I WindowId $[w.id] WarpToWindow 50 50

     Note that the default configuration does not activate any Next/Prev  opera-
     tions  for Alt-Tab since that sequence is, by default, used by another mod-
     ule.  Adding appropriate key mappings to your .fvwm2rc will switch this re-
     sponsibility to FvwmProxy.

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

	 AddToFunc WindowListFunc
	 + I WindowId $[w.id] Iconify Off

	 AddToFunc Raise-and-Deiconify
	 + I WindowId $[w.id] Raise
	 + I WindowId $[w.id] 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  fol-
     lows:

     *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 "Module
     Manager".	The "Unit Editor" is also in the group,  but  only  responds  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 explicitly excluded.  Note that in
     this  case,  the explicit soft inclusion of "Unit Editor" is redundant with
     the combination of AutoInclude and AutoSoft.  However, if AutoSoft was  not
     specified, the explicit SoftInclude would distinguish that pattern from the
     otherwise hard inclusion under just AutoInclude.

AUTHOR
     Jason Weber

3rd Berkeley Distribution   05 September 2019 (2.6.9)		    FvwmProxy(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=FvwmProxy&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help