mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +01:00
Fixed issue with GNUstep applications losing focus when all their windows
are closed and there remains only their menu (Matt Rice <ratmice@yahoo.com>)
This commit is contained in:
@@ -26,6 +26,8 @@ Changes since version 0.91.0:
|
|||||||
- fixed bug with windows shrinking to very small sizes when Unmaximize was
|
- fixed bug with windows shrinking to very small sizes when Unmaximize was
|
||||||
used on them, after they were closed in a maximized state.
|
used on them, after they were closed in a maximized state.
|
||||||
- fixed bug with restoring maximized state from NetWM atoms.
|
- fixed bug with restoring maximized state from NetWM atoms.
|
||||||
|
- fixed issue with GNUstep applications losing focus when all their windows
|
||||||
|
are closed and there remains only their menu (Matt Rice <ratmice@yahoo.com>)
|
||||||
|
|
||||||
|
|
||||||
Changes since version 0.90.0:
|
Changes since version 0.90.0:
|
||||||
|
|||||||
@@ -1548,7 +1548,6 @@ wUnhideApplication(WApplication *wapp, Bool miniwindows, Bool bringToCurrentWS)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
wShowAllWindows(WScreen *scr)
|
wShowAllWindows(WScreen *scr)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -231,8 +231,11 @@ UpdateSwitchMenu(WScreen *scr, WWindow *wwin, int action)
|
|||||||
char *t;
|
char *t;
|
||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
if (wwin->flags.internal_window || WFLAGP(wwin, skip_window_list))
|
if (wwin->flags.internal_window ||
|
||||||
|
WFLAGP(wwin, skip_window_list) ||
|
||||||
|
IS_GNUSTEP_MENU(wwin)) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (wwin->frame->title)
|
if (wwin->frame->title)
|
||||||
snprintf(title, len, "%s", wwin->frame->title);
|
snprintf(title, len, "%s", wwin->frame->title);
|
||||||
|
|||||||
11
src/window.c
11
src/window.c
@@ -340,17 +340,6 @@ setupGNUstepHints(WWindow *wwin, GNUstepWMAttributes *gs_hints)
|
|||||||
wwin->client_flags.no_appicon = 1;
|
wwin->client_flags.no_appicon = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* temporary solution to avoid GS menus in our window list.
|
|
||||||
* it's temporary because it's not the proper way: windows at the
|
|
||||||
* floating level are also skipped from the window list with this.
|
|
||||||
* Fix it -Dan */
|
|
||||||
if (gs_hints->flags & GSWindowLevelAttr) {
|
|
||||||
if (gs_hints->window_level == WMMainMenuWindowLevel ||
|
|
||||||
gs_hints->window_level == WMSubmenuWindowLevel) {
|
|
||||||
wwin->client_flags.skip_window_list = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -334,6 +334,10 @@ typedef struct WWindow {
|
|||||||
|
|
||||||
#define WINDOW_LEVEL(w) ((w)->frame->core->stacking->window_level)
|
#define WINDOW_LEVEL(w) ((w)->frame->core->stacking->window_level)
|
||||||
|
|
||||||
|
#define IS_GNUSTEP_MENU(w) ((w)->wm_gnustep_attr && \
|
||||||
|
((w)->wm_gnustep_attr->flags & GSWindowLevelAttr) && \
|
||||||
|
((w)->wm_gnustep_attr->window_level==WMMainMenuWindowLevel || \
|
||||||
|
(w)->wm_gnustep_attr->window_level==WMSubmenuWindowLevel))
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user