Hello!

I'm not sure if this is interesting, but I've made some small changes
to FvwmIconMan (as seen in fvwm 2.4.0) to have it optionally just
display iconified windows. A patch for this can be seen below. It
seems to work although I've mostly tested the "only iconic mode".

One caveat: How do I correctly set the default value for this option?
(should be true I guess since that is how FvwmIconMan behaves now)

If someone is interested, I can describe the change in the man-file
and send a diff on that one as well.

Oh, the configuration option is:

*FvwmIconMan*shownoniconic   boolean

// Simon Kagstrom
-----------------


--- /home/simon/filer/fvwm-2.4.0/modules/FvwmIconMan/FvwmIconMan.h      Wed Nov 
22 19:38:58 2000
+++ modules/FvwmIconMan/FvwmIconMan.h   Sat Aug 25 13:19:22 2001
@@ -314,6 +314,7 @@
   Uchar usewinlist;
   SortType sort;
   char *AnimCommand;
+  Uchar showNonIconic;
 
   /* X11 state */
   Window theWindow, theFrame;
Only in modules/FvwmIconMan/: Makefile
Only in modules/FvwmIconMan/: fvwmiconman-patch
diff -u /home/simon/filer/fvwm-2.4.0/modules/FvwmIconMan/readconfig.c 
modules/FvwmIconMan/readconfig.c
--- /home/simon/filer/fvwm-2.4.0/modules/FvwmIconMan/readconfig.c       Tue Jun 
26 14:44:12 2001
+++ modules/FvwmIconMan/readconfig.c    Sat Aug 25 15:37:32 2001
@@ -1384,6 +1384,27 @@
        ConsoleDebug (CONFIG, "Setting followfocus to: %d\n", i);
        SET_MANAGER (manager, followFocus, i);
       }
+      else if (!strcasecmp (option1, "shownoniconic")) {
+       p = read_next_cmd (READ_ARG);
+       if (!p) {
+         ConsoleMessage ("Bad line: %s\n", current_line);
+         ConsoleMessage ("Need argument to shownoniconic\n");
+         continue;
+       }
+       if (!strcasecmp (p, "true")) {
+         i = 1;
+       }
+       else if (!strcasecmp (p, "false")) {
+         i = 0;
+       }
+       else {
+         ConsoleMessage ("Bad line: %s\n", current_line);
+         ConsoleMessage ("What is this: %s?\n", p);
+         continue;
+       }
+       ConsoleDebug (CONFIG, "Setting shownoniconic to: %d\n", i);
+       SET_MANAGER (manager, showNonIconic, i);
+      }
       else if (!strcasecmp (option1, "font")) {
        p = read_next_cmd (READ_REST_OF_LINE);
     trim(p);
diff -u /home/simon/filer/fvwm-2.4.0/modules/FvwmIconMan/xmanager.c 
modules/FvwmIconMan/xmanager.c
--- /home/simon/filer/fvwm-2.4.0/modules/FvwmIconMan/xmanager.c Mon Apr  2 
17:55:20 2001
+++ modules/FvwmIconMan/xmanager.c      Sat Aug 25 15:37:07 2001
@@ -1200,12 +1200,12 @@
     in_viewport = win_in_viewport (win);
     if (win->manager->usewinlist && DO_SKIP_WINDOW_LIST(win))
       in_viewport = 0;
-    if (win->button == NULL && in_viewport) {
+    if (win->button == NULL && in_viewport && 
(win->manager->showNonIconic?1:win->iconified)) {
       insert_windows_button (win);
       if (win->manager->window_up == 0 && globals.got_window_list)
        create_manager_window (win->manager->index);
     }
-    else if (win->button && !in_viewport) {
+    else if (win->button && 
(win->manager->showNonIconic?!in_viewport:!win->iconified)) {
       if (win->button->drawn_state.display_string)
        Free(win->button->drawn_state.display_string);
       delete_windows_button (win);

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to