allow FS mapping of geometry restricted windows
and copy isSpecialWindow() check as rulebook input to setFullscreen() Client::isFullScreenable() checks: * fullscreen rule * fullscreen_hack (-> for normal windows) * geometry restrictions * special window Client::manage() for fullscreeining checks: * fullscreen rule (with correct "initial" parameter) * fullscreen_hack -> this breaks the fullscreen rule for geometry restricted windows and causes inconsistent behavior between client requests at runtime (which do not test ::isFullScreenable()) and on mapping. Otoh, the specialWindow() protection should apply generally - those kind of windows should not be fullscreened since the user can not exit this state via kwin for them - and there's hardly a good reason for them to be fullscreen, esp. not to enter that state at runtime REVIEW: 118442 CCBUG: 335617 Cherry-picked from kde-workspace 43229afee9fac4303e3d280ea63f96f034b3ffb5
This commit is contained in:
parent
5185fe81cf
commit
75a298a4fb
2 changed files with 2 additions and 2 deletions
|
@ -2390,7 +2390,7 @@ void Client::setFullScreen(bool set, bool user)
|
||||||
return;
|
return;
|
||||||
if (user && !userCanSetFullScreen())
|
if (user && !userCanSetFullScreen())
|
||||||
return;
|
return;
|
||||||
set = rules()->checkFullScreen(set);
|
set = rules()->checkFullScreen(set && !isSpecialWindow());
|
||||||
setShade(ShadeNone);
|
setShade(ShadeNone);
|
||||||
bool was_fs = isFullScreen();
|
bool was_fs = isFullScreen();
|
||||||
if (was_fs)
|
if (was_fs)
|
||||||
|
|
|
@ -527,7 +527,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
|
||||||
demandAttention();
|
demandAttention();
|
||||||
if (info->state() & NET::Modal)
|
if (info->state() & NET::Modal)
|
||||||
setModal(true);
|
setModal(true);
|
||||||
if (fullscreen_mode != FullScreenHack && isFullScreenable())
|
if (fullscreen_mode != FullScreenHack)
|
||||||
setFullScreen(rules()->checkFullScreen(info->state() & NET::FullScreen, !isMapped), false);
|
setFullScreen(rules()->checkFullScreen(info->state() & NET::FullScreen, !isMapped), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue