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