83322e0
diff -Naur WindowMaker-0.91.0/src/cycling.c WindowMaker-0.91.0.me/src/cycling.c
83322e0
--- WindowMaker-0.91.0/src/cycling.c	2005-06-03 12:10:33 +0300
83322e0
+++ WindowMaker-0.91.0.me/src/cycling.c	2005-06-03 12:06:40 +0300
83322e0
@@ -107,6 +107,10 @@
83322e0
     scr->flags.doing_alt_tab = 1;
83322e0
 
83322e0
     swpanel =  wInitSwitchPanel(scr, wwin, scr->current_workspace);
83322e0
+    if (swpanel == NULL) {
83322e0
+	    newFocused = NULL;
83322e0
+	    goto exiting;
83322e0
+    }
83322e0
     oldFocused = wwin;
83322e0
   
83322e0
     if (swpanel) {
83322e0
@@ -237,6 +241,9 @@
83322e0
             break;
83322e0
         }
83322e0
     }
83322e0
+
83322e0
+exiting:
83322e0
+
83322e0
     if (keymap)
83322e0
         XFreeModifiermap(keymap);
83322e0
 
83322e0
diff -Naur WindowMaker-0.91.0/src/defaults.c WindowMaker-0.91.0.me/src/defaults.c
83322e0
--- WindowMaker-0.91.0/src/defaults.c	2005-06-03 12:10:33 +0300
83322e0
+++ WindowMaker-0.91.0.me/src/defaults.c	2005-06-03 12:09:09 +0300
83322e0
@@ -419,6 +419,12 @@
83322e0
     {"CirculateRaise",	"NO",			NULL,
83322e0
     &wPreferences.circ_raise, 	getBool, 	NULL
83322e0
     },
83322e0
+    {"ShowMiniaturized","YES",			NULL,
83322e0
+    &wPreferences.show_miniaturized, getBool, 	NULL
83322e0
+    },
83322e0
+    {"ShowHidden",	"YES",			NULL,
83322e0
+    &wPreferences.show_hidden, getBool, 	NULL
83322e0
+    },
83322e0
     {"Superfluous",	"NO",			NULL,
83322e0
     &wPreferences.superfluous, 	getBool, 	NULL
83322e0
     },
83322e0
diff -Naur WindowMaker-0.91.0/src/switchpanel.c WindowMaker-0.91.0.me/src/switchpanel.c
83322e0
--- WindowMaker-0.91.0/src/switchpanel.c	2005-06-03 12:10:33 +0300
83322e0
+++ WindowMaker-0.91.0.me/src/switchpanel.c	2005-06-03 12:12:39 +0300
83322e0
@@ -409,7 +409,9 @@
83322e0
         for (wwin= curwin; wwin; wwin= wwin->prev) {
83322e0
             if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&
83322e0
                 (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window) &&
83322e0
-                (wwin->flags.mapped || include_unmapped)) {
83322e0
+                (wwin->flags.mapped || include_unmapped) &&
83322e0
+                (wPreferences.show_miniaturized || !wwin->flags.miniaturized ) && 
83322e0
+                (wPreferences.show_hidden || !wwin->flags.hidden)) {
83322e0
                 WMAddToArray(windows, wwin);
83322e0
             }
83322e0
         }
83322e0
@@ -421,7 +423,9 @@
83322e0
         for (wwin= curwin; wwin && wwin != curwin; wwin= wwin->prev) {
83322e0
             if (((!fl && canReceiveFocus(wwin) > 0) || (fl && canReceiveFocus(wwin) < 0)) &&
83322e0
                 (!WFLAGP(wwin, skip_window_list) || wwin->flags.internal_window) &&
83322e0
-                (wwin->flags.mapped || include_unmapped)) {
83322e0
+                (wwin->flags.mapped || include_unmapped) &&
83322e0
+                (wPreferences.show_miniaturized || !wwin->flags.miniaturized ) && 
83322e0
+                (wPreferences.show_hidden || !wwin->flags.hidden)) {
83322e0
                 WMAddToArray(windows, wwin);
83322e0
             }
83322e0
         }
83322e0
diff -Naur WindowMaker-0.91.0/src/WindowMaker.h WindowMaker-0.91.0.me/src/WindowMaker.h
83322e0
--- WindowMaker-0.91.0/src/WindowMaker.h	2005-06-03 12:10:33 +0300
83322e0
+++ WindowMaker-0.91.0.me/src/WindowMaker.h	2005-06-03 11:16:49 +0300
83322e0
@@ -365,6 +365,8 @@
83322e0
 
83322e0
     char windows_cycling;	       /* windoze cycling */
83322e0
     char circ_raise;		       /* raise window after Alt-tabbing */
83322e0
+    char show_miniaturized;	       /* show miniaturized windows in Alt-tabbing panel */
83322e0
+    char show_hidden;		       /* show hidden       windows in Alt-tabbing panel */
83322e0
 
83322e0
     char ignore_focus_click;
83322e0