# FvwmIconMan.patch # This patch adds one option to FvwmIconMan: # FvwmIconMan [id]: ShowOnlyIcons Never # If this option is set, FvwmIconMan doesn't display iconified windows # This patch was created by Grzegorz Niewęgłowski (\hoppke) # for FVWM - Crystal project # If you want to apply this patch, copy it to your FVWM source directory # and execute command below: # $ patch -p1 < FvwmIconMan.patch # Then recompile and reinstall your FVWM package diff -pruN fvwm/modules/FvwmIconMan/FvwmIconMan.1 fvwm-m/modules/FvwmIconMan/FvwmIconMan.1 --- fvwm/modules/FvwmIconMan/FvwmIconMan.1 2002-10-16 15:15:20.000000000 +0200 +++ fvwm-m/modules/FvwmIconMan/FvwmIconMan.1 2003-03-13 15:57:55.000000000 +0100 @@ -361,8 +361,10 @@ handled by this manager. .IP "*FvwmIconMan: [id] ShowTransient \fIboolean\fP" Show transient windows in the list (default false). -.IP "*FvwmIconMan: [id] ShowOnlyIcons \fIboolean\fP" -Only iconified windows are shown if \fIboolean\fP is true. +.IP "*FvwmIconMan: [id] ShowOnlyIcons \fIvalue\fP" +If set to "false" both normal and iconified windows are shown. If "true" then +only iconified windows will get displayed, and "never" means that no iconified +windows will be shown. .SH ACTIONS Actions are commands which may be bound to an event of the type: a key press, a diff -pruN fvwm/modules/FvwmIconMan/FvwmIconMan.h fvwm-m/modules/FvwmIconMan/FvwmIconMan.h --- fvwm/modules/FvwmIconMan/FvwmIconMan.h 2003-03-03 09:42:42.000000000 +0100 +++ fvwm-m/modules/FvwmIconMan/FvwmIconMan.h 2003-03-13 15:52:53.000000000 +0100 @@ -315,7 +315,7 @@ typedef struct win_manager { WeightedSort *weighted_sorts; int weighted_sorts_len, weighted_sorts_size; char *AnimCommand; - Uchar showonlyiconic; + int showonlyiconic; Uchar showtransient; rectangle managed_g; /* dimensions of managed screen portion */ diff -pruN fvwm/modules/FvwmIconMan/readconfig.c fvwm-m/modules/FvwmIconMan/readconfig.c --- fvwm/modules/FvwmIconMan/readconfig.c 2003-01-24 15:30:17.000000000 +0100 +++ fvwm-m/modules/FvwmIconMan/readconfig.c 2003-03-13 15:52:54.000000000 +0100 @@ -1466,11 +1466,14 @@ void read_in_resources (char *file) ConsoleMessage ("Need argument to showonlyicons\n"); continue; } - if (!strcasecmp (p, "true")) { + if (!strcasecmp (p, "false")) { + i = 0; + } + else if (!strcasecmp (p, "true")) { i = 1; } - else if (!strcasecmp (p, "false")) { - i = 0; + else if (!strcasecmp (p, "never")) { + i = 2; } else { ConsoleMessage ("Bad line: %s\n", current_line); diff -pruN fvwm/modules/FvwmIconMan/xmanager.c fvwm-m/modules/FvwmIconMan/xmanager.c --- fvwm/modules/FvwmIconMan/xmanager.c 2003-03-03 09:42:42.000000000 +0100 +++ fvwm-m/modules/FvwmIconMan/xmanager.c 2003-03-13 15:52:54.000000000 +0100 @@ -1415,8 +1415,11 @@ void check_in_window (WinData *win) if (win->manager && win->complete) { is_state_selected = - ((!win->manager->showonlyiconic || win->iconified) && - (win->manager->showtransient || !IS_TRANSIENT(win))); + (((!win->iconified&&(win->manager->showonlyiconic==2))|| + (win->manager->showonlyiconic==0)|| + ((win->iconified&&(win->manager->showonlyiconic==1)) + ))&& + (win->manager->showtransient || !IS_TRANSIENT(win))); in_viewport = win_in_viewport (win); if (win->manager->usewinlist && DO_SKIP_WINDOW_LIST(win)) in_viewport = 0;