mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
Fixed problem with kcalc not having a miniaturize button
This commit is contained in:
34
src/window.c
34
src/window.c
@@ -390,17 +390,17 @@ wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace)
|
||||
WSETUFLAG(wwin, kill_close, 1);
|
||||
|
||||
/* transients can't be iconified or maximized */
|
||||
if (wwin->transient_for) {
|
||||
WSETUFLAG(wwin, no_miniaturizable, 1);
|
||||
if (wwin->transient_for!=None && wwin->transient_for!=scr->root_win) {
|
||||
WSETUFLAG(wwin, no_miniaturizable, 1);
|
||||
WSETUFLAG(wwin, no_miniaturize_button, 1);
|
||||
}
|
||||
|
||||
/* if the window can't be resized, remove the resizebar */
|
||||
if (wwin->normal_hints->flags & (PMinSize|PMaxSize)
|
||||
&& (wwin->normal_hints->min_width==wwin->normal_hints->max_width)
|
||||
&& (wwin->normal_hints->min_height==wwin->normal_hints->max_height)) {
|
||||
WSETUFLAG(wwin, no_resizable, 1);
|
||||
WSETUFLAG(wwin, no_resizebar, 1);
|
||||
&& (wwin->normal_hints->min_width==wwin->normal_hints->max_width)
|
||||
&& (wwin->normal_hints->min_height==wwin->normal_hints->max_height)) {
|
||||
WSETUFLAG(wwin, no_resizable, 1);
|
||||
WSETUFLAG(wwin, no_resizebar, 1);
|
||||
}
|
||||
|
||||
/* set GNUstep window attributes */
|
||||
@@ -474,20 +474,24 @@ wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace)
|
||||
*/
|
||||
if (wwin->user_flags.no_appicon && wwin->defined_user_flags.no_appicon)
|
||||
wwin->user_flags.emulate_appicon = 0;
|
||||
//WSETUFLAG(wwin, emulate_appicon, 0);
|
||||
|
||||
if (wwin->main_window!=None) {
|
||||
WApplication *wapp = wApplicationOf(wwin->main_window);
|
||||
if (wapp && !wapp->flags.emulated)
|
||||
wwin->user_flags.emulate_appicon = 0;
|
||||
//WSETUFLAG(wwin, emulate_appicon, 0);
|
||||
}
|
||||
|
||||
if (wwin->transient_for!=None
|
||||
&& wwin->transient_for!=wwin->screen_ptr->root_win)
|
||||
wwin->user_flags.emulate_appicon = 0;
|
||||
//WSETUFLAG(wwin, emulate_appicon, 0);
|
||||
|
||||
if (wwin->user_flags.sunken && wwin->defined_user_flags.sunken
|
||||
&& wwin->user_flags.floating && wwin->defined_user_flags.floating)
|
||||
wwin->user_flags.sunken = 0;
|
||||
//WSETUFLAG(wwin, sunken, 0);
|
||||
|
||||
WSETUFLAG(wwin, no_shadeable, WFLAGP(wwin, no_titlebar));
|
||||
}
|
||||
@@ -1162,7 +1166,7 @@ wManageWindow(WScreen *scr, Window window)
|
||||
foo |= WFF_LEFT_BUTTON;
|
||||
#ifdef XKB_BUTTON_HINT
|
||||
if (WFLAGP(wwin, no_language_button) || WFLAGP(wwin, no_focusable))
|
||||
foo |= WFF_LANGUAGE_BUTTON;
|
||||
foo |= WFF_LANGUAGE_BUTTON;
|
||||
#endif
|
||||
if (foo!=0)
|
||||
wFrameWindowHideButton(wwin->frame, foo);
|
||||
@@ -1317,7 +1321,8 @@ wManageWindow(WScreen *scr, Window window)
|
||||
#endif
|
||||
|
||||
if (wPreferences.superfluous && !wPreferences.no_animations
|
||||
&& !scr->flags.startup && wwin->transient_for==None
|
||||
&& !scr->flags.startup &&
|
||||
(wwin->transient_for==None || wwin->transient_for==scr->root_win)
|
||||
/*
|
||||
* The brain damaged idiotic non-click to focus modes will
|
||||
* have trouble with this because:
|
||||
@@ -1344,11 +1349,7 @@ wManageWindow(WScreen *scr, Window window)
|
||||
|
||||
/* setup stacking descriptor */
|
||||
if (transientOwner) {
|
||||
/* && wPreferences.on_top_transients */
|
||||
if (transientOwner) {
|
||||
wwin->frame->core->stacking->child_of =
|
||||
transientOwner->frame->core;
|
||||
}
|
||||
wwin->frame->core->stacking->child_of = transientOwner->frame->core;
|
||||
} else {
|
||||
wwin->frame->core->stacking->child_of = NULL;
|
||||
}
|
||||
@@ -1557,12 +1558,7 @@ wManageInternalWindow(WScreen *scr, Window window, Window owner,
|
||||
XMapSubwindows(dpy, wwin->frame->core->window);
|
||||
|
||||
/* setup stacking descriptor */
|
||||
if (
|
||||
#ifdef removed
|
||||
wPreferences.on_top_transients &&
|
||||
#endif
|
||||
wwin->transient_for!=None
|
||||
&& wwin->transient_for!=scr->root_win) {
|
||||
if (wwin->transient_for!=None && wwin->transient_for!=scr->root_win) {
|
||||
WWindow *tmp;
|
||||
tmp = wWindowFor(wwin->transient_for);
|
||||
if (tmp)
|
||||
|
||||
Reference in New Issue
Block a user