1FvwmIconMan(1) Fvwm Modules FvwmIconMan(1)
2
3
4
6 FvwmIconMan - an fvwm icon manager
7
9 FvwmIconMan is spawned by fvwm, so no command line invocation will
10 work.
11
12
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 re‐
29 ceived. 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
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 Fo‐
43 cus, 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
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 ac‐
60 tion, and then exit. Things are somewhat complicated by the fact that
61 you can specify that FvwmIconMan creates multiple manager windows, be‐
62 havior 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
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 de‐
74 tail 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
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 ob‐
154 solete 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 de‐
180 termined 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 de‐
224 fault 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 ti‐
235 tle, class, or resource name, respectively. The default is "%c:
236 %i". Warning: m4 reserves the word format, so if you use m4,
237 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 de‐
280 fault there is no maximum. A value of 0 resets the default. The
281 maximum is only used with a non growing manager (the ManagerGe‐
282 ometry 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 re‐
349 versed so that up and down styles are reversed. This has no af‐
350 fect on flat buttons. The class can be icon, normal or none. The
351 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. Ti‐
407 tlestring 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 de‐
502 fault 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. De‐
507 fault 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
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, ei‐
575 ther 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 se‐
578 lected 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 in‐
639 struction 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 la‐
645 bel 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 un‐
684 wise 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 fo‐
729 cused button, it is selected. Otherwise, button 0 of manager 0 gets se‐
730 lected.
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
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
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
850 Brady Montz (bradym@cs.arizona.edu).
851
852
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 19 October 2022 (2.7.0) FvwmIconMan(1)