1FvwmProxy(1)                     Fvwm Modules                     FvwmProxy(1)
2
3
4

NAME

6       FvwmProxy - the fvwm proxy module
7

SYNOPSIS

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

DESCRIPTION

13       The FvwmProxy allows the user to locate and control windows obscured by
14       other windows  by  using  small  non-overlapping  proxy  windows.   The
15       default capabilites include raising and lowering the proxied windows.
16
17       Using  the  sample  configuration,  pressing Alt-Tab cycles through the
18       windows and allows the use of assignable click actions on the  proxies.
19       Releasing  the  Alt  key  deactivates  the  proxy windows.  By default,
20       pressing the left or right mouse buttons on a proxy  window  raises  or
21       lowers  the associated proxied window respectively.  An additional map‐
22       ping can have the proxies automatically appear by just holding the  Alt
23       key.
24
25       Proxy windows are always on top and try to center on the regular window
26       they proxy.  A simple collision algorithm tweaks the positions  of  the
27       proxy windows to prevent them from overlapping.
28
29

COPYRIGHTS

31       The FvwmProxy program is original work by Jason Weber.
32
33       Copyright  2002,  Jason  Weber. No guarantees or warranties or anything
34       are provided or implied in any way whatsoever. Use this program at your
35       own risk.
36
37

INVOCATION

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

CONFIGURATION OPTIONS

48       *FvwmProxy: Colorset n
49              Specifies the color theme for unselected proxy windows.
50
51
52       *FvwmProxy: SelectColorset n
53              Specifies the color theme for the selected proxy window.
54
55
56       *FvwmProxy: IconifiedColorset n
57              Specifies the color theme for proxy windows  of  iconified  win‐
58              dows.   This  is  only meaningful in conjuction with the ProxyI‐
59              conified option on.
60
61
62       *FvwmProxy: Font font
63              Specifies the font used for large proxy window text.  This  usu‐
64              ally  contains the icon string and is nearly vertically centered
65              in the proxy.  If there is no icon string, the title bar  string
66              is  used.   If  this  text exceeds the width of the proxy, it is
67              cropped on the right.  If no Font is  specified,  a  default  is
68              used.
69
70
71       *FvwmProxy: SmallFont font
72              Specifies  the  font  used  for the auxillary proxy window text.
73              This usually contains the title bar string, but is omitted if it
74              is  identical  to the icon string and that text was not cropped.
75              The text is drawn close to the bottom of the  proxy  and  should
76              probably  be  the smallest legible font available.  If this text
77              exceeds the width of the proxy, it is cropped on the  left.   If
78              no SmallFont is specified, this text is never drawn.
79
80
81       *FvwmProxy: Width w
82              Specifies  the  size  in  X of each proxy window. The default is
83              180.
84
85
86       *FvwmProxy: Height h
87              Specifies the size in Y of each proxy window. The default is 60.
88
89
90       *FvwmProxy: Separation d
91              Specifies  the  minimum  distance  between  proxy  windows  when
92              adjusting for collisions. The default is 10.
93
94
95       *FvwmProxy: ShowMiniIcons bool
96              If  true,  proxy  windows show the mini icon for the window they
97              represent, if it has a mini icon.  The default is true.
98
99
100       *FvwmProxy: EnterSelect bool
101              If true, a proxy is automatically selected  when  the  mouse  is
102              moved over the proxy, even if no mouse buttons are pressed.  The
103              default is false.
104
105
106       *FvwmProxy: ProxyMove bool
107              If true, moving a proxy window will move the  window  it  repre‐
108              sents.   Currently,  the  proxied  window doesn't recognize snap
109              effects during this operation. The default is false.
110
111
112       *FvwmProxy: ProxyIconified bool
113              If true, continue to proxy windows when they are iconified.   In
114              addition, consider adding click actions that Iconify on and off,
115              such as on the middlemouse button. The default is false.
116
117
118       *FvwmProxy: Action mouseaction response
119              Tells FvwmProxy to do the  specified  response  when  the  given
120              action  is  done.   The  currently  supported mouse actions are:
121              Click1, Click2, Click3 and so on, representing mouse clicks with
122              various  buttons.   By default, the module supports 3 mouse but‐
123              tons, but it can be  compiled  to  support  more.   The  default
124              responses  are  Raise,  Nop,  and  Lower for Click1, Click2, and
125              Click3, respectively.
126
127
128       *FvwmProxy: Action Select command
129              This selects an fvwm function to be called  during  a  FvwmProxy
130              Hide  command  for  the  window  whose  proxy was selected.  The
131              default is WindowListFunc.  WindowListFunc is predefined by  the
132              fvwm install.  You can replace it, add to it, or supply an inde‐
133              pendent function.
134
135
136       *FvwmProxy: Action Show command
137              This selects an fvwm function to be called  during  a  FvwmProxy
138              Show command.  The default is Nop.
139
140
141       *FvwmProxy: Action Hide command
142              This  selects  an  fvwm function to be called during a FvwmProxy
143              Hide command.  The default is Nop.
144
145
146       *FvwmProxy: Action Abort command
147              This selects an fvwm function to be called  during  a  FvwmProxy
148              Abort command.  The default is Nop.
149
150
151       *FvwmProxy: Action Mark command
152              This  selects an fvwm function to be called on a window after it
153              is marked.  The default is Nop.
154
155
156       *FvwmProxy: Action Unmark command
157              This selects an fvwm function to be called on  a  marked  window
158              just after another window gets the mark.  The default is Nop.
159
160
161       *FvwmProxy: Action ModifierRelease modifiers command
162              This  selects  an  fvwm  function to be called while proxies are
163              shown and the specified modifiers are all released.   The  modi‐
164              fiers  are  specified using the same syntax as in the Mouse com‐
165              mand.  The default is Nop.
166
167
168       *FvwmProxy: Group groupname command pattern
169              For the given named  group,  adjust  inclusion  of  the  windows
170              matching the pattern.  The groupname is a string identifier used
171              to associate windows.  The window pattern uses the  same  format
172              as the Style command.  The supported commands are Include, Soft‐
173              Include, and Exclude.  Include and SoftInclude identifies a pat‐
174              tern to add windows to the group.  Exclude identifies pattern to
175              counteract  inclusion  pattern  or  auto-inclusion  (see   flags
176              below).  All exclusion checks follow all inclusion checks.  Soft
177              inclusion limits the windows in that pattern to only  move  when
178              an non-soft window in the group moves.  Moving or resizing these
179              windows does not affect any other windows.  They are also immune
180              to edge effects.
181
182
183       *FvwmProxy: Group groupname flag
184              For  the  given  named group, activate the given flag.  The sup‐
185              ported flags are AutoInclude, AutoSoft, and IgnoreIDs.  All win‐
186              dow  grouping is normally checked to only group windows that are
187              in the same process or that have the  same  X11  client  leader.
188              IgnoreIDs deactivates this mechanism.  AutoInclude automatically
189              includes any window that matches  the  same  process  or  client
190              leader,  without  having  to  name  them specifically.  AutoSoft
191              makes all AutoInclusions soft (see inclusion description above).
192
193
194       *FvwmProxy: SlotWidth w
195              This specifies the width  of  the  icons  used  in  slots.   The
196              default is 16.
197
198
199       *FvwmProxy: SlotHeight h
200              This  specifies  the  height  of  the  icons used in slots.  The
201              default is 16.
202
203
204       *FvwmProxy: SlotSpace d
205              This specifies the space  between  icons  used  in  slots.   The
206              default is 4.
207
208
209       *FvwmProxy: GroupSlot n
210              This  specifies  the  first slot that represent a colored group.
211              Group slots don't need icons as the are drawn  by  predetermined
212              means.  The default is 2.
213
214
215       *FvwmProxy: GroupCount n
216              This specifies the number of group slots.  The default is 6.
217
218
219       *FvwmProxy: SlotStyle n style
220              For  non-group  slots, this defines the appears of the indicated
221              slot.   The  style  format  matches  ButtonStyle  command.   The
222              default is nothing.
223
224
225       *FvwmProxy: SlotAction n mouseaction response
226              For  non-group slots, this defines the behavior of the indicated
227              slot.  The mouse action and response is used  the  same  as  the
228              FvwmProxy Action configuration.  The default is Nop.
229
230
231       *FvwmProxy: UndoLimit n
232              This  specifies  the number of entries in the undo buffer.  this
233              limits how far back you can undo.  The default is 8.
234
235

COMMANDS

237       SendToModule FvwmProxy Show
238              Activate proxy windows for all windows on the current desk  that
239              do  not use the WindowListSkip option.  If the desk is switched,
240              new proxies are automatically generated.
241
242
243       SendToModule FvwmProxy Hide
244              Deactivate all proxy windows.  If a proxy is selected  (such  as
245              with  the  Next and Prev commands), the Select Action is call on
246              the window  that  the  proxy  represents.   The  default  action
247              includes  raising the window and warping the mouse to a position
248              over that window.
249
250
251       SendToModule FvwmProxy ShowToggle
252              If shown, hide.  If hidden, show.
253
254
255       SendToModule FvwmProxy Abort
256              Deactivate all proxy windows.  This differs from the  Hide  com‐
257              mand in that no action is taken on any selected window.
258
259
260       SendToModule FvwmProxy Circulate command
261              Tell FvwmProxy to run a conditional command and mark the result.
262              The imbedded command SendToModule FvwmProxy  Mark  is  automati‐
263              cally  appended  after the optional condition, so supplying your
264              own imbedded command will probably fail.  An example argument to
265              Circulate  is  ScanForWindow  East  South (CurrentPage).  If the
266              proxies aren't already shown (such as with  the  Show  command),
267              any Circulate command will automatically show the proxies.
268
269
270       SendToModule FvwmProxy Next (obsolete)
271              If a proxy window is selected, the next proxy is selected.  Win‐
272              dows with the WindowListSkip option are  ignored.   The  proxies
273              are  sorted  left to right during the Show command.  If no proxy
274              is currently selected, but a proxy on this desk was selected  on
275              a recent show, that proxy is selected.  If no proxy on this desk
276              was recently selected, the leftmost proxy is used.  This  nearly
277              duplicates  the  functionality  of  Circulate ScanForWindow East
278              South (CurrentPage).
279
280
281       SendToModule FvwmProxy Prev (obsolete)
282              If a proxy window is selected, the previous proxy  is  selected.
283              The  starting point is the same as with the Next command, except
284              that the choice with no recent selection is the rightmost proxy.
285              This  nearly  duplicates the functionality of Circulate ScanFor‐
286              Window West North (CurrentPage).
287
288
289       SendToModule FvwmProxy SoftToggle
290              Toggle the soft group inclusion setting for the selected window.
291              This setting is the same that can be activated using the SoftIn‐
292              clude and AutoSoft commands inside the FvwmProxy Group  configu‐
293              ration.
294
295
296       SendToModule FvwmProxy IsolateToggle
297              Toggle  the  isolation  setting for the selected window's group.
298              Isolated groups only allow one member to not be iconified  at  a
299              time.   The  members  are  also coerced to the same position and
300              size, constrained by their size increment.
301
302
303       SendToModule FvwmProxy PrevIsolated
304              If focused on a member of a isolating group, deiconify the  mem‐
305              ber  higher on list.  If no member is higher, deiconify the last
306              member.
307
308
309       SendToModule FvwmProxy NextIsolated
310              If focused on a member of a isolating group, deiconify the  mem‐
311              ber  lower on list.  If no member is higher, deiconify the first
312              member.
313
314
315       SendToModule FvwmProxy Undo
316              Attempt to undo the last window move and/or resize.
317
318
319       SendToModule FvwmProxy Redo
320              Attempt to redo the most recent Undo.  If another move or resize
321              occurs since the previous undo, the redo buffer will be cleared.
322
323

SAMPLE CONFIGURATION

325       The  following  are  excerpts from a .fvwm2rc file which describe Fvwm‐
326       Proxy initialization commands:
327
328           Key Tab A M SendToModule FvwmProxy Circulate \
329               ScanForWindow East South (CurrentPage)
330           Key Tab A SM SendToModule FvwmProxy Circulate \
331               ScanForWindow West North (CurrentPage)
332
333           *FvwmProxy: Action ModifierRelease M SendToModule FvwmProxy Hide
334
335       But Meta-Shift-Tab can be awkward, so Meta-Q may be a  better  alterna‐
336       tive.
337
338           Key Q A M SendToModule FvwmProxy Circulate \
339               ScanForWindow West North (CurrentPage)
340
341
342       You  might  consider adding !Sticky to the (CurrentPage) conditional if
343       you use Sticky for low-interactivity programs,  like  load  meters  and
344       music players.
345
346       To have the proxies immediately pop up when you hold the Alt key, add
347
348           Key Meta_L A N SendToModule FvwmProxy Show
349
350       If  that's  too intrusive, you can assign Alt-Esc to switch the proxies
351       on and off by adding
352
353           Key Escape A M SendToModule FvwmProxy ShowToggle
354
355       Some platforms have problems where general Alt key combinations  becom‐
356       ing  otherwise  dysfunctional  after  defining these mappings.  If this
357       happens, it might be difficult to take full advantage of this module.
358
359       To have the mouse jump to the center instead of the upper left  corner,
360       try adding
361
362           AddToFunc WindowListFunc
363           + I WarpToWindow 50 50
364
365       or just make your own list function from scratch, for example
366
367           DestroyFunc WindowListFunc
368           AddToFunc WindowListFunc
369           + I WindowId $[w.id] Raise
370           + I WindowId $[w.id] WarpToWindow 50 50
371
372
373       Note  that  the  default  configuration does not activate any Next/Prev
374       operations for Alt-Tab since that sequence  is,  by  default,  used  by
375       another  module.  Adding appropriate key mappings to your .fvwm2rc will
376       switch this responsibility to FvwmProxy.
377
378       If you use ProxyIconified, you might consider adding Iconify actions.
379
380           AddToFunc WindowListFunc
381           + I WindowId $[w.id] Iconify Off
382
383           AddToFunc Raise-and-Deiconify
384           + I WindowId $[w.id] Raise
385           + I WindowId $[w.id] Iconify Off
386
387           *FvwmProxy: Action Click1 Raise-and-Deiconify
388           *FvwmProxy: Action Click2 Iconify
389
390
391       You can set up some basic slots fairly easily.
392
393       *FvwmProxy: GroupSlot 2
394       *FvwmProxy: GroupCount 5
395
396       *FvwmProxy: SlotStyle 1 MiniIcon
397       *FvwmProxy: SlotStyle 7 Pixmap "squeeze.xpm"
398       *FvwmProxy: SlotStyle 8 Pixmap "mini-up.xpm"
399       *FvwmProxy: SlotStyle 9 Pixmap "mini-bball.xpm"
400       *FvwmProxy: SlotStyle 10 Pixmap "mini-cross.xpm"
401
402       *FvwmProxy: SlotAction 1 Click1 Popup WindowMenu
403       *FvwmProxy: SlotAction 7 Click1 SendToModule FvwmProxy IsolateToggle
404       *FvwmProxy: SlotAction 8 Click1 SendToModule FvwmProxy SoftToggle
405       *FvwmProxy: SlotAction 9 Click1 Iconify
406       *FvwmProxy: SlotAction 10 Click1 Delete
407
408       In this example, WindowMenu is something you would have to define.   If
409       your proxy width is too small, some slots can get cut off.
410
411       Undo and redo can be easily mapped to any keys.
412
413       Key Z A 3 SendToModule FvwmProxy Undo
414       Key R A 3 SendToModule FvwmProxy Redo
415
416
417       You  can rotate through an isolated group using any keys.  For example,
418       meta cursor-up and cursor-down could traverse the group.
419
420       Key Up A 3 SendToModule FvwmProxy PrevIsolated
421       Key Down A 3 SendToModule FvwmProxy NextIsolated
422
423
424       A somewhat impractical example of a group definition using GIMP  is  as
425       follows:
426
427       *FvwmProxy: Group "GIMP" Include "The GIMP"
428       *FvwmProxy: Group "GIMP" Include "Module Manager"
429       *FvwmProxy: Group "GIMP" SoftInclude "Unit Editor"
430       *FvwmProxy: Group "GIMP" AutoInclude
431       *FvwmProxy: Group "GIMP" AutoSoft
432       *FvwmProxy: Group "GIMP" Exclude "Preferences"
433
434
435       This sets up a hard attachment between the windows "The GIMP" and "Mod‐
436       ule Manager".  The "Unit  Editor"  is  also  in  the  group,  but  only
437       responds  to movement of one of the hard inclusions.  Any window in the
438       same process or with the same client leader  is  also  associated,  but
439       they  default  to soft inclusion, except "Preferences" which is explic‐
440       itly excluded.  Note that in this case, the explicit soft inclusion  of
441       "Unit  Editor"  is  redundant  with  the combination of AutoInclude and
442       AutoSoft.  However, if AutoSoft was not specified, the explicit SoftIn‐
443       clude  would distinguish that pattern from the otherwise hard inclusion
444       under just AutoInclude.
445
446

AUTHOR

448       Jason Weber
449
450
451
4523rd Berkeley Distribution  24 November 2007 (2.5.24)              FvwmProxy(1)
Impressum