Репозитории ALT
S: | 0.96.0-alt1 |
5.1: | 0.92.0-alt6 |
4.1: | 0.92.0-alt2 |
4.0: | 0.92.0-alt2 |
3.0: | 0.91.0-alt1 |
+backports: | 0.92.0-alt0.M30.1 |
Группа :: Графические оболочки/Window Maker
Пакет: WindowMaker
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: WindowMaker-0.92.0-sga-swpanel-customization.patch
Скачать
Скачать
src/WindowMaker.h | 2 ++
src/cycling.c | 7 +++++++
src/defaults.c | 6 ++++++
src/switchpanel.c | 8 ++++++--
4 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index e234478..2a2475e 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -365,6 +365,8 @@ typedef struct WPreferences {
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;
diff --git a/src/cycling.c b/src/cycling.c
index 86bdb39..54ed570 100644
--- a/src/cycling.c
+++ b/src/cycling.c
@@ -107,6 +107,10 @@ StartWindozeCycle(WWindow *wwin, XEvent *event, Bool next)
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 @@ StartWindozeCycle(WWindow *wwin, XEvent *event, Bool next)
break;
}
}
+
+exiting:
+
if (keymap)
XFreeModifiermap(keymap);
diff --git a/src/defaults.c b/src/defaults.c
index 22eb7ae..884db8b 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -419,6 +419,12 @@ WDefaultEntry optionList[] = {
{"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 --git a/src/switchpanel.c b/src/switchpanel.c
index 51298ce..b8b4bb1 100644
--- a/src/switchpanel.c
+++ b/src/switchpanel.c
@@ -409,7 +409,9 @@ static WMArray *makeWindowListArray(WScreen *scr, WWindow *curwin, int workspace
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 @@ static WMArray *makeWindowListArray(WScreen *scr, WWindow *curwin, int workspace
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);
}
}