diff --git a/xdgshellclient.cpp b/xdgshellclient.cpp --- a/xdgshellclient.cpp +++ b/xdgshellclient.cpp @@ -222,6 +222,10 @@ updateWindowRules(Rules::All); } + if (isFullScreen()) { + needsPlacement = false; + } + if (needsPlacement) { const QRect area = workspace()->clientArea(PlacementArea, Screens::self()->current(), desktop()); placeIn(area); @@ -1501,6 +1505,9 @@ return; } + if (!isMaximizable()) { + return; + } m_maximizeMode = maximizeMode; updateWindowRules(Rules::MaximizeHoriz | Rules::MaximizeVert | Rules::Position | Rules::Size);