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

NAME

6       FvwmIconMan - an fvwm icon manager
7

SYNOPSIS

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

DESCRIPTION

14       FvwmIconMan is an icon manager modeled after the TWM icon manager.  The
15       user  may  have multiple icon managers, each of which armed with a list
16       of window types which it manages. For example, the user  may  have  one
17       manager  which lists only emacs windows, and another which lists every‐
18       thing else. You may also specify  what  resolution  each  icon  manager
19       uses,  for  example,  one icon manager may manage windows on all desks,
20       and another may manage only those on the current desk, page or  screen.
21       FvwmIconMan  can  display  the miniature icons provided by fvwm for its
22       managed windows. The managers may have a maximum number of columns (and
23       so grows vertically), a maximum number of rows (and then grows horizon‐
24       tally), or stay at a fixed size, and adjust the size of the window but‐
25       tons  to  fit  (think win95's Taskbar). And when support is compiled in
26       for the X Shape extension, then the manager windows may be shaped.
27
28       You can specify actions to  be  run  when  mouse,  or  key  events  are
29       received. For example, you could bind the first mouse button to iconify
30       the selected window, and make bindings for the arrow keys  to  navigate
31       the manager window without the mouse.
32
33       FvwmIconMan  can  be set to display which window currently has the key‐
34       board focus, and by binding the select event (see below)  to  the  fvwm
35       Focus function, you can emulate the TWM icon manager's behavior.
36
37

INITIALIZATION

39       During  initialization, FvwmIconMan searches though the fvwm configura‐
40       tion file for the options which are described below. It is highly  rec‐
41       ommended  that you make FvwmIconMan be a sticky window. And if you want
42       to make use of the followfocus option,  and/or  binding  an  action  to
43       Focus,  then you should make FvwmIconMan clicktofocus. Also, when using
44       the Shape option, it's recommended that the FvwmIconMan window  not  be
45       decorated at all by fvwm.
46
47

INVOCATION

49       FvwmIconMan  can  be invoked by inserting the line 'Module FvwmIconMan'
50       in the .fvwm2rc file.  If FvwmIconMan is to be  spawned  during  fvwm's
51       initialization,  then  this  line should be placed in the StartFunction
52       declarations, or it can be bound to a menu, mouse button, or  keystroke
53       to invoke it later.
54
55       If  you  wish  to run FvwmIconMan in a transient mode, such as with the
56       built in window list, then pass Transient as an argument.  The  invoca‐
57       tion  "Module  FvwmIconMan  Transient"  will  do  nicely. In this mode,
58       FvwmIconMan will pop up one manager window directly under  the  cursor.
59       When  the  mouse  button  is  released, it will execute the appropriate
60       action, and then exit.  Things are somewhat  complicated  by  the  fact
61       that you can specify that FvwmIconMan creates multiple manager windows,
62       behavior which is unsuitable when running transiently. So, when running
63       transiently,  FvwmIconMan  will only create one manager window. Use the
64       manager id 'transient' to specify options for this manager window.
65
66       FvwmIconMan may accept an alias name  as  an  argument.   For  example,
67       "Module FvwmIconMan FvwmIconMan-Variant2".
68
69

CONFIGURATION OPTIONS REFERENCE CHART

71       FvwmIconMan  has acquired quite a few options. I assume others share my
72       dislike of paging though a long man page, so here is a terse  reference
73       chart  describing  the  available  options.  They are described in more
74       detail in the next section.
75
76       Name            Description                Default
77
78       NumManagers     number of managers         1
79       Action          binds command to event     Mouse 0 N sendcommand Iconify
80       Background      default background         gray
81       ButtonGeometry  size of button in pixels
82       Colorset        default colorset
83       DontShow        list of windows to ignore
84       DrawIcons       use mini icons             false
85       FocusAndSelectButton                       flat grey black
86       FocusAndSelectColorset
87       FocusButton     style for focused buttons  up grey black
88       FocusColorset
89       FollowFocus     show which win has focus   false
90       Font                                       8x13
91       Foreground      default text color         white
92       Format          describes button label     "%c: %i"
93       IconName        manager icon name          FvwmIconMan
94       IconButton      style for icon buttons     up black grey
95       IconColorset
96       ManagerGeometry size of manager in buttons 0x1
97       MaxButtonWidth  max width of a button
98       MaxButtonWidthByColumns
99       NoIconAction    animate iconification      NOP
100       PlainButton     style for normal buttons   up black grey
101       PlainColorset
102       ReliefThickness size of button relief      2
103       Resolution      global/desk/page/screen    page
104       Reverse         normal, icon or none       none
105       SelectButton    style for selected buttons flat black grey
106       SelectColorset
107       Shape           use shape extension        false
108       Show            list of windows to show
109       ShowOnlyIcons   only icons visible         false
110       ShowNoIcons     icons are not displayed    false
111       ShowTransient   transient windows visible  false
112       ShowOnlyFocused only focused visible       false
113       Sort            keep managers sorted       name
114       SortWeight      weight for sorting
115       Tips            Tool Tips mode             none
116       TipsDelays      Tool Tips mapping delays   1000 300
117       TipsFont        Font for Tool Tips         default fvwm font
118       TipsColorset    Tool Tips Colorset         0
119       TipsFormat      describes Tips label       the Format value
120       TipsBorderWidth Tool Tips border size      1
121       TipsPlacement   Tips placement vs button   updown
122       TipsJustification Tips Just vs button      leftup
123       TipsOffsets     Tips placement Offsets     3 2
124       Title           manager title              FvwmIconMan
125       TitleButton     style for title button     raisededge black grey
126       TitleColorset
127       UseWinList      honor WinListSkip?         true
128
129
130

CONFIGURATION OPTIONS

132       With the exception of the nummanagers option, all of the options may be
133       defined  on a per-manager basis. So, for example, the user may have his
134       emacs manager with a red foreground, and his xterm manager with a  blue
135       one. A configuration line may therefore have one of two forms:
136
137
138       *FvwmIconMan: OptionName OptionValue
139              To  specify  that the OptionName takes the value OptionValue for
140              all managers.
141
142       *FvwmIconMan: ManagerId OptionName OptionValue
143              To specify that the option OptionName takes the value  OptionVa‐
144              lue  for  manager  ManagerId. ManagerId may either be a positive
145              integer, or the string "transient". An integer id refers to man‐
146              agers which FvwmIconMan creates when running normally, and an id
147              of "transient" refers to the single  manager  which  FvwmIconMan
148              creates when running transiently.
149
150              The  old  syntax,  that uses an asterisk instead of white spaces
151              before ManagerId and OptionName, is supported  too,  but  it  is
152              obsolete now.
153
154
155       The following options may be specified:
156
157
158       *FvwmIconMan: NumManagers num
159              num  is  a  positive integer specifying the total number of icon
160              managers.  Since FvwmIconMan would like to know  how  many  man‐
161              agers  there  are  before handling any manager specific options,
162              this should come first. The default is 1.
163
164
165       *FvwmIconMan: [id] Action type binding
166              Binds an FvwmIconMan command to an event. Type may be one of the
167              values: Key, Mouse, or Select. Actions are described in the fol‐
168              lowing section ACTIONS.
169
170
171       *FvwmIconMan: [id] Background background
172              Specifies the default background color.
173
174
175       *FvwmIconMan: [id] ButtonGeometry geometry
176              Specifies the initial geometry of an individual button  in  pix‐
177              els.  If  the  specified  height is 0, then the button height is
178              determined from the font size. X and Y coordinates are ignored.
179
180
181       *FvwmIconMan: [id] Colorset colorset
182              The default colorset used. Overrides background and  foreground.
183              See FvwmTheme.
184
185
186       *FvwmIconMan: [id] DrawIcons value
187              If  your  version  of  fvwm is capable of using mini icons, then
188              this option determines if FvwmIconMan displays the  mini  icons.
189              Otherwise,  it  generates  an  error message.  "true" means that
190              mini icons are shown for iconified windows,  "false"  that  mini
191              icons  are  never  shown, and "always" that mini icons are shown
192              for all windows.
193
194
195       *FvwmIconMan: [id] FocusAndSelectButton style [forecolor backcolor]
196              Same as the plainbutton option, but specifies the look  of  but‐
197              tons which are both selected, and have the keyboard focus.
198
199
200       *FvwmIconMan: [id] FocusAndSelectColorset colorset
201              Works like focusandselectbutton but uses colorsets instead.  The
202              style setting can still only be applied with  focusandselectbut‐
203              ton.  See FvwmTheme.
204
205
206       *FvwmIconMan: [id] FocusButton style [forecolor backcolor]
207              Same  as  the plainbutton option, but specifies the look of but‐
208              tons whose windows have the keyboard focus.
209
210
211       *FvwmIconMan: [id] FocusColorset colorset
212              Works like focusbutton but uses colorsets  instead.   The  style
213              setting  can  still  only  be  applied  with  focusbutton.   See
214              FvwmTheme.
215
216
217       *FvwmIconMan: [id] FollowFocus boolean
218              If true, then the button appearance reflects which  window  cur‐
219              rently has focus.  Default is false.
220
221
222       *FvwmIconMan: [id] Font font
223              Specifies  the  font  to  be  used for labeling the buttons. The
224              default is 8x13.
225
226
227       *FvwmIconMan: [id] Foreground foreground
228              Specifies the default foreground color.
229
230
231       *FvwmIconMan: [id] Format formatstring
232              A printf like format string which describes  the  string  to  be
233              printed  in the manager window for each managed window. Possible
234              flags are: %t, %i, %c, and %r  for  the  window's  title,  icon,
235              class, or resource name, respectively.  The default is "%c: %i".
236              Warning: m4 reserves the word format, so if  you  use  m4,  take
237              appropriate action.
238
239
240       *FvwmIconMan: [id] IconName iconstring
241              Specifies  the  window  icon name for that manager window. Icon‐
242              string may either be a single word,  or  a  string  enclosed  in
243              quotes. The default is "FvwmIconMan".
244
245
246       *FvwmIconMan: [id] IconButton style [forecolor backcolor]
247              Same  as  the plainbutton option, but specifies the look of but‐
248              tons whose windows are iconified.
249
250
251       *FvwmIconMan: [id] IconColorset colorset
252              Works like iconbutton but uses  colorsets  instead.   The  style
253              setting   can  still  only  be  applied  with  iconbutton.   See
254              FvwmTheme.
255
256
257       *FvwmIconMan: [id] ManagerGeometry geometry
258              Specifies the initial geometry of the manager, in units of  but‐
259              tons.  If  height is 0, then the manager will use width columns,
260              and will grow vertically once it has more  than  width  windows.
261              Likewise, if width is 0, it will use height rows, and grow hori‐
262              zontally.  If both are nonzero, then the manager window will  be
263              exactly  that  size,  and stay that way. As columns are created,
264              the buttons will narrow to  accommodate.   If  the  geometry  is
265              specified  with a negative y coordinate, then the window manager
266              will grow upwards. Otherwise, it will grow downwards.
267
268
269       *FvwmIconMan: [id] MaxButtonWidth width
270              Defines a maximum for the width of  a  button  (in  pixels).  By
271              default  there  is  no maximum. A value of 0 resets the default.
272              The maximum is only used with a non growing  manager  (the  Man‐
273              agerGeometry option specifies non zero width and height).
274
275
276       *FvwmIconMan: [id] MaxButtonWidthByColumns col
277              This  is another way to set the button width.  col is the number
278              of columns of icons.  The button width is determined by dividing
279              the  total  width  of FvwmIconMan by the number of columns.  For
280              example if the width of FvwmIconMan manager is 1024,  MaxButton‐
281              WidthByColumns  is 4 then MaxButtonWidth is 256.  This is useful
282              when you do not know, at config time, the width of the  manager,
283              for example, for a swallowed FvwmIconMan.
284
285
286       *FvwmIconMan: [id] NoIconAction  action
287              Tells  FvwmIconMan  to  do  action when a NoIcon style window is
288              iconified or de-iconified. Relevant coordinates are appended  to
289              action  so that the icon can be traced to an FvwmIconMan button.
290              An example action is "*FvwwmIconMan:  NoIconAction  SendToModule
291              FvwmAnimate  animate". A blank or null action turns this feature
292              off.
293
294
295       *FvwmIconMan: [id] PlainButton style [forecolor backcolor]
296              Specifies how normal buttons look. style may be one of flat, up,
297              down,  raisededge,  or sunkedge, and describes how the button is
298              drawn. The color options are both optional, and if not set, then
299              the default colors are used. If on a monochrome screen, then the
300              style option is ignored, but must still be set.
301
302
303       *FvwmIconMan: [id] PlainColorset colorset
304              Works like plainbutton but uses colorsets  instead.   The  style
305              setting  can  still  only  be  applied  with  plainbutton.   See
306              FvwmTheme.
307
308
309       *FvwmIconMan: [id] ReliefThickness num
310              num is an integer specifying the number of pixels thick that the
311              relief  at the edge of non-flat buttons should be.  Setting this
312              to 0 will produce flat buttons, as if the values for FocusAndSe‐
313              lectButton,  FocusButton, IconButton, PlainButton, SelectButton,
314              and TitleButton were all set to flat.  If num is  negative,  the
315              button  will  be  inverted  as  if  you had used Reverse for all
316              classes.
317
318
319       *FvwmIconMan: [id] Resolution resolution
320              Specifies when the manager will display an entry for  a  certain
321              window. resolution may take one of the following values: global,
322              desk, page, screen, !desk, !page, or !screen.  If  global,  then
323              all  windows  of the appropriate type (see the show and dontshow
324              options below) will be shown. If desk, then only  those  windows
325              on  the current desk are shown. If page, then only those windows
326              on the current page are shown. If screen, then only  those  win‐
327              dows  on  the  current Xinerama screen are shown. !desk reverses
328              the sense of desk, displaying only those windows not on the cur‐
329              rent  desk.  Likewise, !page shows only those windows not on the
330              current page and !screen shows only those  windows  not  on  the
331              current Xinerama screen. The default is page. If Xinerama is not
332              active or only a single screen is  used,  page  and  screen  are
333              equivalent.
334
335              This configuration line is respected when FvwmIconMan is running
336              as well, the resolution is changed dynamically.
337
338
339       *FvwmIconMan: [id] Reverse class
340              Causes certain classes of buttons to  have  their  relief  lines
341              reversed  so  that  up and down styles are reversed. This has no
342              affect on flat buttons. The class can be icon, normal  or  none.
343              The default is none.
344
345
346       *FvwmIconMan: [id] SelectButton style [forecolor backcolor]
347              Same  as  the plainbutton option, but specifies the look of but‐
348              tons when the mouse is over them.
349
350
351       *FvwmIconMan: [id] SelectColorset colorset
352              Works like selectbutton but uses colorsets instead.   The  style
353              setting  can  still  only  be  applied  with  selectbutton.  See
354              FvwmTheme.
355
356
357       *FvwmIconMan: [id] Shape boolean
358              If True, then use make the window shaped. Probably  only  useful
359              if you have multiple columns or rows. If FvwmIconMan wasn't com‐
360              piled to support the Shape extension, this  generates  an  error
361              message. When using shaped windows, it's recommended that a fvwm
362              style is made for FvwmIconMan that has no  borders.   Otherwise,
363              fvwm will get confused.
364
365
366       *FvwmIconMan: [id] Sort value
367              If  name,  then the manager list is sorted by name. If namewith‐
368              case, then it is sorted by name sensitive to case. If  id,  then
369              the manager list is sorted by the window id, which never changes
370              after the window is created. If weighted, then the manager  list
371              is  sorted  by weight (see the description of sortweight below).
372              Or it can be set to none, which results in no  sorting.  Default
373              is name.
374
375
376       *FvwmIconMan: [id] SortWeight weight pattern-list
377              Assigns the specified weight to windows that match pattern-list.
378              The list is made up of patterns of the form type=pattern,  where
379              type  is  one of class, resource, title, or icon, and pattern is
380              an expression of the same format used in the fvwm style  command
381              (minimalistic shell pattern matching). Multiple sort weights can
382              be given.  Each window is  matched  against  the  list  of  sort
383              weights, in order, and is given the weight from the first match.
384              Lower-weighted windows are placed first in the manager list. For
385              example:
386              *FvwmIconMan: Sort       weighted
387              *FvwmIconMan: SortWeight 1 class=XTerm title=special*
388              *FvwmIconMan: SortWeight 10 class=XTerm
389              *FvwmIconMan: SortWeight 5
390              In this example, xterm windows whose titles start with "special"
391              (weight 1) are listed first, followed by  everything  but  other
392              xterms  (weight  5), and the other xterms (weight 10) are listed
393              last. If no default weight (empty pattern list)  is  given,  the
394              default  weight  is  0. Only relevant if the sort type is set to
395              weighted.
396
397
398       *FvwmIconMan: [id] Title title-string
399              Specifies the window  title  string  for  that  manager  window.
400              Titlestring may either be a single word, or a string enclosed in
401              quotes. The default is "FvwmIconMan". This will be drawn in  the
402              title  bar  of the manager window, if any, and in the title but‐
403              ton, which is the button drawn when the manager is empty.
404
405
406       *FvwmIconMan: [id] TitleButton style [forecolor backcolor]
407              Same as the plainbutton option, but specifies the  look  of  the
408              title  button  (the button drawn when the manager is empty). The
409              manager's title is drawn in the title button.
410
411
412       *FvwmIconMan: [id] UseWinList boolean
413              If true, then honor the WinListSkip style flag.  Otherwise,  all
414              windows are subject to possible management according to the show
415              and dontshow lists.
416
417
418       The two following options control which windows get  handled  by  which
419       managers.  A manager can get two lists, one of windows to show, and one
420       of windows to ignore. If only the show list is given, then that manager
421       will  show  only  the windows in the list. If only the DontShow list is
422       given, then the manager will show all windows except those in the list.
423       If  both  lists  are given, then a window will be shown if it is not in
424       the DontShow list, and in the Show list. And finally, if  neither  list
425       is  given,  then the manager will handle all windows. Each list is made
426       up of patterns of the form type=pattern, where type is  one  of  class,
427       resource, title, or icon, and pattern is an expression of the same for‐
428       mat used in the fvwm style command (minimalistic shell  pattern  match‐
429       ing).  Quotes  around  the pattern will be taken as part of the expres‐
430       sion. If a window could be handled by more than one manager,  then  the
431       manager with the lowest id gets it.
432
433
434       *FvwmIconMan: [id] Show pattern list
435              If a window matches one of the patterns in the list, then it may
436              be handled by this manager.
437
438
439       *FvwmIconMan: [id] DontShow pattern list
440              If a window matches one of the patterns in the list, then it may
441              not be handled by this manager.
442
443
444       *FvwmIconMan: [id] ShowTransient boolean
445              Show transient windows in the list (default false).
446
447
448       *FvwmIconMan: [id] ShowOnlyIcons boolean
449              Only iconified windows are shown if boolean is true.
450
451
452       *FvwmIconMan: [id] ShowNoIcons boolean
453              Only  windows  that  are  not  iconified are shown if boolean is
454              true.
455
456
457       *FvwmIconMan: [id] ShowOnlyFocused boolean
458              Only window with the focus is shown if boolean is true.
459
460
461
462       The following two options control tips.
463
464
465       *FvwmIconMan: [id] Tips value
466              where value can be always, needed or false. Default is false, no
467              tips  are displayed. With always, tips are enabled. With needed,
468              a tip is displayed only if either the button string is truncated
469              or  the tip string is not equal to the button string.  This con‐
470              figuration line is respected  when  FvwmIconMan  is  running  as
471              well.
472
473
474       *FvwmIconMan: [id] TipsDelays delay [mappeddelay]
475              where delay and mappeddelay are time out values in milliseconds.
476              If no mappeddelay is given delay is  assumed.  Default  is  1000
477              300. When the cursor is on a button, FvwmIconMan wait delay mil‐
478              liseconds before displaying the tip. In the case where a tip  is
479              already mapped and the cursor goes to an other button, FvwmIcon‐
480              Man waits mappeddelay milliseconds  before  displaying  the  new
481              tip.
482
483
484       *FvwmIconMan: [id] TipsFont fontname
485              Specifies  the  font to be used for tips. Default is the default
486              fvwm font.
487
488
489       *FvwmIconMan: [id] TipsColorset colorset
490              Specifies the colors for tips window.  Default  is  colorset  0.
491              See  FvwmTheme.
492
493
494       *FvwmIconMan: [id] TipsFormat formatstring
495              Similar  to  the  Format  option  but  for  the tips window. The
496              default is the format string from the Format option.
497
498
499       *FvwmIconMan: [id] TipsBorderWidth pixels
500              Specifies the border width  (in  pixels)  of  the  tips  window.
501              Default is 1.
502
503
504       *FvwmIconMan: [id] TipsPlacement value
505              where  value  can be up, down, right, left, updown or leftright.
506              This value specifies the position of the tips window relative to
507              its  button.  Default is updown where buttons on the top half of
508              the screen get tips below the button,  otherwise  the  tips  are
509              above the button.
510
511
512       *FvwmIconMan: [id] TipsJustification value
513              where  value  can be leftup, rightdown or center.  Specifies the
514              justification (direction) of the tips  window  relative  to  its
515              button after the tips window has been placed.  Default is leftup
516              which means that if a tip is placed above or below  its  button,
517              then  the  left border of the tip and of the button are aligned.
518              If the tip is placed on the left or on the right of its  button,
519              leftup  aligns  the  top borders. rightdown and center work like
520              leftup but in different directions.  The alignment  is  adjusted
521              by the TipsOffset option.  See next option.
522
523
524       *FvwmIconMan: [id] TipsOffsets placementoffset justoffset
525              where  placementoffset  and justoffset are offsets in pixels for
526              the TipsPlacement and  TipsJustification  configuration  option.
527              Default is 3 2.
528
529

ACTIONS

531       Actions  are commands which may be bound to an event of the type: a key
532       press, a mouse click, or the mouse entering a window manager  button  -
533       denoted by the action types Key, Mouse, and Select.
534
535       Normally,  actions  bound to a mouse click are executed when the button
536       is pressed. In transient mode, the action is executed when  the  button
537       is  released,  since  it  is assumed that FvwmIconMan was bound to some
538       mouse event. A tip/warning: FvwmIconMan still keeps track of the  mouse
539       button  and  any modifier keys in this case, so if you bind FvwmIconMan
540       to say, meta-button3, then it would be wise to ensure that  the  action
541       you want to execute will be executed when the meta-button3 event occurs
542       (which would be the button release, assuming you kept  your  finger  on
543       the meta key).
544
545       The syntax for actions are:
546
547
548       Key actions: Key Keysym Modifiers FunctionList
549              Keysym  and  Modifiers  are exactly the same as for the fvwm Key
550              command.
551
552
553       Mouse actions: Mouse Button Modifiers FunctionList
554              Button and Modifiers are exactly the same as for the fvwm  Mouse
555              command.
556
557
558       Select actions: Select FunctionList
559
560
561       A  FunctionList is a sequence of commands separated by commas. They are
562       executed in left to right order, in one shared  context  -  which  cur‐
563       rently  only contains a pointer to the "current" button. If a button is
564       selected (typically by the mouse pointer sitting on it) when the action
565       is  executed,  then  the  current button is initialized to that button.
566       Otherwise, it points to nothing.
567
568       Most of the available  commands  then  modify  this  "current"  button,
569       either  by  moving  it around, making it become the selected button, or
570       sending commands to fvwm acting on the window represented by that  but‐
571       ton.  Note  that  while  this  current  button is initialized to be the
572       selected button, the selected button  does  not  implicitly  follow  it
573       around.  This way, the user can send commands to various windows, with‐
574       out changing which button is selected.
575
576       Commands take five types of arguments: Integer, Manager,  Window,  But‐
577       ton,  and  String. A String is a string specified exactly as for fvwm -
578       either in quotes or as a single word not in quotes. Again, you may bind
579       a  sequence  of commands to an event, by listing them separated by com‐
580       mas.
581
582       Window and Button types look exactly the same in the .fvwm2rc file, but
583       are interpreted as either specifying a managed window, or a FvwmIconMan
584       button representing a window. They can either be an integer  (which  is
585       interpreted  module  N  where  N is the number of buttons - so 0 is the
586       first and -1 is the last), or one of the strings:  Select,  Focus,  Up,
587       Down,  Right, Left, Next, Prev. Select and Focus refer to the currently
588       selected or focused button or window. Up, Down, Right, and  Left  refer
589       to  the  button or window above, below, to the right of, or to the left
590       of the current button in the manager window, allowing navigation around
591       the  manager  window.  Next  and Prev designates the window, button, or
592       manager after or before the current button, allowing navigation of  the
593       one  dimensional  list of windows which is drawn in the manager window.
594       If the manager is sorted, Next and Prev move through the windows in the
595       sorted order.
596
597       The  Manager type can either be an integer, Next, or Prev.  The meaning
598       is analogous to that of the Button type, but in terms of  the  integral
599       index of the managers, restricted to managers which are nonempty.
600
601       The following functions are currently defined:
602
603       bif Button Integer/String
604              A  relative  branch  instruction.  If Button is Select or Focus,
605              then take the branch if there is a selected button or a  focused
606              button.  If  Button is an integer, then branch if nonzero. If it
607              is one of Up, Down, Right, Left, Next, Prev, then the branch  is
608              taken when the current button can move in that direction. If the
609              branch is taken, then Integer commands are skipped. No backwards
610              branches are allowed.
611
612
613       bifn Button Integer/String
614              The  complement  of bif. The branch is taken if Button evaluates
615              to false, by the criteria listed for bif.
616
617
618       gotobutton Button
619              Sets current button to Button. If Button is an integer, then the
620              current button is set to Button modulo the number of buttons, in
621              the whichever manager contains the selected button, if any.
622
623
624       gotomanager Manager
625              Sets button to button 0 of Manager. This will only go to a visi‐
626              ble,  nonempty  manager. So an integral argument is taken modulo
627              the number of such managers.
628
629
630       jmp Integer/String
631              Executes a relative  jump  of  Integer  instructions.  Backwards
632              jumps  are  not  allowed.  The  jump is computed relative to the
633              instruction following the jmp.
634
635
636       label String
637              Provides a label that previous instructions can jump to. It will
638              not  be  visible  to  subsequent jump instructions, and the same
639              label can be used multiple times in the  same  instruction  list
640              (though it would be perverse to do so.)
641
642
643       print String
644              Prints String to the console. Useful for debugging actions.
645
646
647       printdebug
648              Prints  defined  actions  to the console. Should only be used by
649              developers.  To enable this command, set  CONFIG  and  FUNCTIONS
650              variables  to  '1' in the modules/FvwmIconMan/debug.h and recom‐
651              pile this module.
652
653
654       quit   Quits FvwmIconMan.
655
656
657       refresh
658              Causes all manager windows to redraw themselves.
659
660
661       ret    Stop executing the entire action.
662
663
664       searchback String
665              Sets button to button  before  the  current  one  whose  printed
666              string in the manager window matches specified String, which may
667              contain wildcards.
668
669
670       searchforward String
671              Sets button to button after the current one whose printed string
672              in  the  manager window matches specified String, which may con‐
673              tain wildcards.
674
675
676       select Selects the current button, if any. If a select action has  been
677              specified,  it  will  then  be  run. Therefore, it is considered
678              unwise to set the select button in the select action.
679
680
681       sendcommand Command
682              Sends the fvwm command Command to the window represented by  the
683              current button, if any.
684
685
686       warp   Warps cursor to current button, if any.
687
688
689       Examples:
690       gotobutton select, gotobutton Down, select
691       Selects  the button below the currently selected button. Since the cur‐
692       rent button is already initialized to the selected button, this may  be
693       shortened to "gotobutton Down, select".
694
695       gotobutton Up, select
696       Selects the button above the currently selected button.
697
698       gotobutton 0, select
699       Selects the first button of the current manager. If there is no current
700       manager, which is the case when no button is selected, then  this  does
701       nothing.
702
703       gotobutton -1, select
704       Selects the last button of the current manager.
705
706       gotobutton focus, select
707       Selects the button corresponding to the focused window.
708
709       gotobutton focus, Iconify
710       Sends  the  fvwm  command Iconify to the focused window. Note that this
711       does not change the selected button.
712
713       bif Next 3, gotobutton 0, select, ret, gotobutton Next, select
714       If a button is selected, and it's the last button, go to button  0.  If
715       it's not the last button, go to the next button. Otherwise, do nothing.
716       Basically, this action cycles through all buttons in the  current  man‐
717       ager.
718
719       bif select 7, bif focus 3, gotomanager 0, select, ret, gotobutton focus, \
720         select, ret, gotobutton down, select
721       This is good for sending to FvwmIconMan with a SendToModule command. If
722       there is a selected button, it moves down. Otherwise,  if  there  is  a
723       focused  button,  it is selected. Otherwise, button 0 of manager 0 gets
724       selected.
725
726       bif select Select, bif focus Focus, gotomanager 0, select, ret, label Focus, \
727         gotobutton focus, select, ret, label Select, gotobutton down, select
728       Same as previous, but using the label instruction.
729
730
731       In addition to being bound to keys and mice, actions can be  sent  from
732       fvwm  to FvwmIconMan via the SendToModule command. Don't quote the com‐
733       mand when using SendToModule. Also, due to a bug in the current version
734       of fvwm, don't quote FvwmIconMan either.
735
736

SAMPLE CONFIGURATIONS

738       This  first  example  is  of  a the simplest invocation of FvwmIconMan,
739       which only has one manager, and handles all windows:
740
741
742       ##############################################################
743       # Load any modules which should be started during
744       # fvwm initialization
745       ModulePath /usr/lib/X11/fvwm:/usr/bin/X11
746       Module FvwmIconMan
747
748       # Make FvwmIconMan title-bar-less, sticky, and give it an icon
749       Style "Fvwm*"      Icon toolbox.xpm,NoTitle,NoHandles,Sticky
750       Style "FvwmIconMan" HandleWidth 5, Handles, BorderWidth 5
751
752
753       ##############################################################
754       ##############################################################
755       #Definitions used by the modules
756
757       *FvwmIconMan: NumManagers        1
758       *FvwmIconMan: Resolution         global
759       *FvwmIconMan: Background         slategrey
760       *FvwmIconMan: Foreground         white
761       *FvwmIconMan: Font               7x13
762       *FvwmIconMan: ButtonGeometry     100x0
763       *FvwmIconMan: ManagerGeometry    1x0-0+0
764
765
766       This example is the Reader's Digest version of my  personal  configura‐
767       tion.  It  has two managers, one for emacs and one for everything else,
768       minus things with no icon title. Only windows on the current  page  are
769       displayed.  The  use  of  the drawicons and shape options requires that
770       fvwm and FvwmIconMan we compiled with the correct options. Note how the
771       geometry and show options are specified per manager, and the others are
772       common to all:
773
774
775       Style "FvwmIconMan"  NoTitle, Sticky, WindowListSkip, BorderWidth 0
776       Style "FvwmIconMan"  HandleWidth 0
777
778
779       Key F8 A N SendToModule FvwmIconMan bif select Select, bif focus Focus, \
780         gotomanager 0, select, sendcommand WarpToWindow, ret, label Focus, \
781         gotobutton focus, select, sendcommand WarpToWindow, ret, label Select, \
782         gotobutton prev, select, sendcommand WarpToWindow
783       Key F9 A N SendToModule FvwmIconMan bif select Select, bif focus Focus, \
784         gotomanager 0, select, sendcommand WarpToWindow, ret, label Focus, \
785         gotobutton focus, select, sendcommand WarpToWindow, ret, label Select, \
786         gotobutton next, select, sendcommand WarpToWindow
787
788       *FvwmIconMan: NumManagers 2
789       *FvwmIconMan: Resolution  page
790       *FvwmIconMan: Background  steelblue
791       *FvwmIconMan: Foreground  white
792       *FvwmIconMan: Font        7x13
793       *FvwmIconMan: UseWinList  true
794       *FvwmIconMan: DrawIcons   true
795       *FvwmIconMan: Shape       true
796       *FvwmIconMan: FollowFocus true
797       *FvwmIconMan: Sort        name
798       *FvwmIconMan: PlainButton          up white steelblue
799       *FvwmIconMan: SelectButton         down white steelblue
800       *FvwmIconMan: FocusButton          up white brown
801       *FvwmIconMan: FocusAndSelectButton down white brown
802       *FvwmIconMan: TitleButton          raisededge white steelblue
803       *FvwmIconMan: NoIconAction         "SendToModule FvwmAnimate animate"
804
805       *FvwmIconMan: 1 Title           "Emacs windows"
806       *FvwmIconMan: 1 IconName        "FvwmIconMan: Emacs"
807       *FvwmIconMan: 1 Format          "%i"
808       *FvwmIconMan: 1 Show            resource=emacs resource=gemacs
809       *FvwmIconMan: 1 ManagerGeometry 1x0-400+0
810       *FvwmIconMan: 1 ButtonGeometry  200x0
811
812       *FvwmIconMan: 2 Title           "All windows"
813       *FvwmIconMan: 2 IconName        "FvwmIconMan: all"
814       *FvwmIconMan: 2 Format          "%c: %i"
815       *FvwmIconMan: 2 DontShow        icon=Untitled
816       *FvwmIconMan: 2 ManagerGeometry 2x4-0+0
817       *FvwmIconMan: 2 ButtonGeometry  200x0
818
819       *FvwmIconMan: transient Geometry 194x100
820       *FvwmIconMan: transient DontShow icon=Untitled
821       *FvwmIconMan: transient Action   Mouse 0 A sendcommand select select Iconify
822
823       *FvwmIconMan: Action     Mouse     1 N sendcommand Iconify
824       *FvwmIconMan: Action     Mouse     2 N sendcommand WarpToWindow
825       *FvwmIconMan: Action     Mouse     3 N sendcommand "Module FvwmIdent FvwmIdent"
826       *FvwmIconMan: Action     Key  Left  N gotobutton Left, select
827       *FvwmIconMan: Action     Key  Right N gotobutton Right, select
828       *FvwmIconMan: Action     Key  Up    N gotobutton Up, select
829       *FvwmIconMan: Action     Key  Down  N gotobutton Down, select
830       *FvwmIconMan: Action     Key  q     N quit
831
832
833

UNFINISHED BUSINESS

835       There is one bug that I know of. A honest to goodness solution to  this
836       would  be  appreciated.  When an icon manager is set to grow upwards or
837       leftwards, on some machines it may wander occasionally.
838
839       It doesn't handle windows without resource names as  gracefully  as  it
840       should.
841
842

AUTHOR

844       Brady Montz (bradym@cs.arizona.edu).
845
846

THANKS

848       Thanks to:
849            David Berson <berson@cs.pitt.edu>,
850            Gren Klanderman <greg@alphatech.com>,
851            David Goldberg <dsg@mitre.org>,
852            Pete Forman <gsez020@compo.bedford.waii.com>,
853            Neil Moore <amethyst@maxwell.ml.org>,
854            Josh M. Osborne <stripes@va.pubnix.com,
855            Adam Rice <wysiwyg@glympton.airtime.co.uk>,
856            Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>,
857            Bjorn Victor <victor@delial.docs.uu.se>.
858
859       for contributing either code or truly keen ideas.
860
861
862
8633rd Berkeley Distribution    09 May 2010 (2.5.30)               FvwmIconMan(1)
Impressum