kwin/convergentwindows: Don't set maximize property for fullscreen windows

Followup to https://invent.kde.org/teams/plasma-mobile/issues/-/issues/256

Otherwise the positioning affects shell windows too
This commit is contained in:
Devin Lin 2024-03-04 14:30:37 -05:00
parent b553850e0a
commit a748ecda5b

View file

@ -13,20 +13,24 @@ Loader {
if (ShellSettings.Settings.convergenceModeEnabled) {
window.noBorder = false;
} else {
const output = window.output;
const desktop = window.desktops[0]; // assume it's the first desktop that the window is on
const maximizeRect = KWinComponents.Workspace.clientArea(KWinComponents.Workspace.MaximizeArea, output, desktop);
// set the window to the maximized size and position instantly, avoiding race condition
// between maximizing and window decorations being turned off (changing window height)
// see: https://invent.kde.org/teams/plasma-mobile/issues/-/issues/256
window.frameGeometry = maximizeRect;
if (!window.fullScreen) {
const output = window.output;
const desktop = window.desktops[0]; // assume it's the first desktop that the window is on
const maximizeRect = KWinComponents.Workspace.clientArea(KWinComponents.Workspace.MaximizeArea, output, desktop);
// set the window to the maximized size and position instantly, avoiding race condition
// between maximizing and window decorations being turned off (changing window height)
// see: https://invent.kde.org/teams/plasma-mobile/issues/-/issues/256
window.frameGeometry = maximizeRect;
}
// turn off window decorations
window.noBorder = true;
// run maximize after to ensure the state is maximized
window.setMaximize(true, true);
if (!window.fullScreen) {
// run maximize after to ensure the state is maximized
window.setMaximize(true, true);
}
}
}