Репозитории 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.91.0-hmepas-minimizeall.patch
Скачать
Скачать
--- WindowMaker-0.91.0/src/event.c.vns 2005-05-18 21:40:15 +0400
+++ WindowMaker-0.91.0/src/event.c 2005-05-18 21:42:02 +0400
@@ -1410,6 +1410,10 @@
OpenWindowMenu(wwin, wwin->frame_x,
wwin->frame_y+wwin->frame->top_width, True);
break;
+ case WKBD_ALLMINIMIZE:
+ CloseWindowMenu(scr);
+ wHideAll(scr);
+ break;
case WKBD_MINIATURIZE:
if (ISMAPPED(wwin) && ISFOCUSED(wwin)
&& !WFLAGP(wwin, no_miniaturizable)) {
--- WindowMaker-0.91.0/src/actions.c.vns 2005-05-18 21:40:15 +0400
+++ WindowMaker-0.91.0/src/actions.c 2005-05-18 21:40:16 +0400
@@ -1295,6 +1295,57 @@
+// ADDED BY HMEPAS
+void wHideAll(WScreen *scr)
+{
+ WWindow *wwin;
+ WWindow **windows;
+ Window FocusedWin;
+ WMenu *menu;
+ unsigned int wcount = 0;
+ int FocusState;
+ int i;
+
+ if (!scr)
+ return;
+
+ menu = scr->switch_menu;
+
+ windows = malloc( sizeof(WWindow *) );
+
+ if (menu != NULL) {
+ for(i=0;i<menu->entry_no;i++) {
+ windows[wcount] = (WWindow *) menu->entries[i]->clientdata;
+ wcount++;
+ windows = realloc(windows, sizeof(WWindow *) * (wcount+1) );
+ }
+ } else {
+ wwin = scr->focused_window;
+
+ while(wwin) {
+ windows[wcount] = wwin;
+ wcount++;
+ windows = realloc(windows, sizeof(WWindow *) * (wcount+1) );
+ wwin = wwin->prev;
+
+ }
+ }
+
+ for(i=0;i < wcount; i++) {
+ wwin = windows[i];
+ if (wwin->frame->workspace == scr->current_workspace
+ && !(wwin->flags.miniaturized||wwin->flags.hidden)
+ && !wwin->flags.internal_window
+ && !WFLAGP(wwin, no_miniaturizable)
+ )
+ {
+ wwin->flags.skip_next_animation = 1;
+ wIconifyWindow(wwin);
+ }
+ }
+}
+
+
void
wHideOtherApplications(WWindow *awin)
{
--- WindowMaker-0.91.0/src/actions.h.vns 2004-10-12 21:53:07 +0400
+++ WindowMaker-0.91.0/src/actions.h 2005-05-18 21:40:16 +0400
@@ -69,5 +69,8 @@
void wUnfullscreenWindow(WWindow *wwin);
+// ADDED BY HMEPAS TO MINIMIZE ALL WINDOWS ON CURRENT WORKSPACE
+void wHideAll(WScreen *src);
+
#endif
--- WindowMaker-0.91.0/src/defaults.c.vns 2005-05-18 21:40:16 +0400
+++ WindowMaker-0.91.0/src/defaults.c 2005-05-18 21:40:16 +0400
@@ -705,6 +705,9 @@
NULL, getKeybind, setKeyGrab
},
#endif /* LITE */
+ {"AllMinimizeKey", "None", (void*)WKBD_ALLMINIMIZE,
+ NULL, getKeybind, setKeyGrab
+ },
{"WindowMenuKey", "None", (void*)WKBD_WINDOWMENU,
NULL, getKeybind, setKeyGrab
},
--- WindowMaker-0.91.0/src/keybind.h.vns 2004-10-12 21:55:38 +0400
+++ WindowMaker-0.91.0/src/keybind.h 2005-05-18 21:43:50 +0400
@@ -77,12 +77,13 @@
#define WKBD_WINDOW10 44
#define WKBD_SWITCH_SCREEN 45
+#define WKBD_ALLMINIMIZE 46
#ifdef KEEP_XKB_LOCK_STATUS
-# define WKBD_TOGGLE 46
-# define WKBD_TMP 47
+# define WKBD_TOGGLE 47
+# define WKBD_TMP 48
#else
-# define WKBD_TMP 46
+# define WKBD_TMP 47
#endif
#ifdef VIRTUAL_DESKTOP