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  invo‐
57       cation  "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       IconAndSelectButton                        up black grey
95       IconAndSelectColorset
96       IconButton      style for icon buttons     up black grey
97       IconColorset
98       ManagerGeometry size of manager in buttons 0x1
99       MaxButtonWidth  max width of a button
100       MaxButtonWidthByColumns
101       NoIconAction    animate iconification      NOP
102       PlainButton     style for normal buttons   up black grey
103       PlainColorset
104       ReliefThickness size of button relief      2
105       Resolution      global/desk/page/screen    page
106       Reverse         normal, icon or none       none
107       SelectButton    style for selected buttons flat black grey
108       SelectColorset
109       Shape           use shape extension        false
110       Show            list of windows to show
111       ShowOnlyIcons   only icons visible         false
112       ShowNoIcons     icons are not displayed    false
113       ShowTransient   transient windows visible  false
114       ShowOnlyFocused only focused visible       false
115       Sort            keep managers sorted       name
116       SortWeight      weight for sorting
117       Tips            Tool Tips mode             none
118       TipsDelays      Tool Tips mapping delays   1000 300
119       TipsFont        Font for Tool Tips         default fvwm font
120       TipsColorset    Tool Tips Colorset         0
121       TipsFormat      describes Tips label       the Format value
122       TipsBorderWidth Tool Tips border size      1
123       TipsPlacement   Tips placement vs button   updown
124       TipsJustification Tips Just vs button      leftup
125       TipsOffsets     Tips placement Offsets     3 2
126       Title           manager title              FvwmIconMan
127       TitleButton     style for title button     raisededge black grey
128       TitleColorset
129       UseWinList      honor WinListSkip?         true
130
131
132

CONFIGURATION OPTIONS

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

ACTIONS

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

SAMPLE CONFIGURATIONS

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

UNFINISHED BUSINESS

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

AUTHOR

850       Brady Montz (bradym@cs.arizona.edu).
851
852

THANKS

854       Thanks to:
855            David Berson <berson@cs.pitt.edu>,
856            Gren Klanderman <greg@alphatech.com>,
857            David Goldberg <dsg@mitre.org>,
858            Pete Forman <gsez020@compo.bedford.waii.com>,
859            Neil Moore <amethyst@maxwell.ml.org>,
860            Josh M. Osborne <stripes@va.pubnix.com,
861            Adam Rice <wysiwyg@glympton.airtime.co.uk>,
862            Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>,
863            Bjorn Victor <victor@delial.docs.uu.se>.
864
865       for contributing either code or truly keen ideas.
866
867
868
8693rd Berkeley Distribution  05 September 2019 (2.6.9)            FvwmIconMan(1)
Impressum