diff --git a/abstract_client.cpp b/abstract_client.cpp index 5439542086..efdbac7f0e 100644 --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -78,7 +78,7 @@ AbstractClient::AbstractClient() connect(this, &AbstractClient::frameGeometryChanged, this, [this] (Toplevel *c, const QRect &old) { Q_UNUSED(c) - if (isOnScreenDisplay() && !frameGeometry().isEmpty() && old.size() != frameGeometry().size() && !isInitialPositionSet()) { + if (isOnScreenDisplay() && !frameGeometry().isEmpty() && old.size() != frameGeometry().size() && isPlaceable()) { GeometryUpdatesBlocker blocker(this); const QRect area = workspace()->clientArea(PlacementArea, Screens::self()->current(), desktop()); Placement::self()->place(this, area); diff --git a/abstract_client.h b/abstract_client.h index 9aecb96110..8520beb16b 100644 --- a/abstract_client.h +++ b/abstract_client.h @@ -819,10 +819,6 @@ public: bool unresponsive() const; - virtual bool isInitialPositionSet() const { - return false; - } - /** * Default implementation returns @c null. * Mostly intended for X11 clients, from EWMH: diff --git a/autotests/integration/plasma_surface_test.cpp b/autotests/integration/plasma_surface_test.cpp index 6650227bbc..a075be36c4 100644 --- a/autotests/integration/plasma_surface_test.cpp +++ b/autotests/integration/plasma_surface_test.cpp @@ -253,7 +253,7 @@ void PlasmaSurfaceTest::testOSDPlacementManualPosition() auto c = Test::renderAndWaitForShown(surface.data(), QSize(100, 50), Qt::blue); QVERIFY(c); - QVERIFY(c->isInitialPositionSet()); + QVERIFY(!c->isPlaceable()); QCOMPARE(c->windowType(), NET::OnScreenDisplay); QVERIFY(c->isOnScreenDisplay()); QCOMPARE(c->frameGeometry(), QRect(50, 70, 100, 50)); diff --git a/inputpanelv1client.h b/inputpanelv1client.h index e47eb287f6..2491c46d56 100644 --- a/inputpanelv1client.h +++ b/inputpanelv1client.h @@ -40,7 +40,6 @@ public: bool takeFocus() override { return false; } bool wantsInput() const override { return false; } bool isInputMethod() const override { return true; } - bool isInitialPositionSet() const override { return true; } NET::WindowType windowType(bool /*direct*/, int /*supported_types*/) const override; QRect inputGeometry() const override; diff --git a/layershellv1client.cpp b/layershellv1client.cpp index 556e44a068..c2e4a42a0a 100644 --- a/layershellv1client.cpp +++ b/layershellv1client.cpp @@ -127,11 +127,6 @@ bool LayerShellV1Client::isResizable() const return false; } -bool LayerShellV1Client::isInitialPositionSet() const -{ - return true; -} - bool LayerShellV1Client::takeFocus() { setActive(true); diff --git a/layershellv1client.h b/layershellv1client.h index c59cc01eba..b494f8c5ce 100644 --- a/layershellv1client.h +++ b/layershellv1client.h @@ -37,7 +37,6 @@ public: bool isMovable() const override; bool isMovableAcrossScreens() const override; bool isResizable() const override; - bool isInitialPositionSet() const override; bool takeFocus() override; bool wantsInput() const override; StrutRect strutRect(StrutArea area) const override; diff --git a/workspace.cpp b/workspace.cpp index a4486865c1..ccbf88db85 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -721,9 +721,6 @@ void Workspace::addShellClient(AbstractClient *client) if (client->isPlaceable()) { const QRect area = clientArea(PlacementArea, Screens::self()->current(), client->desktop()); bool placementDone = false; - if (client->isInitialPositionSet()) { - placementDone = true; - } if (client->isFullScreen()) { placementDone = true; } diff --git a/xdgshellclient.cpp b/xdgshellclient.cpp index 7694d71e6e..31f9737e69 100644 --- a/xdgshellclient.cpp +++ b/xdgshellclient.cpp @@ -284,11 +284,6 @@ QRect XdgSurfaceClient::adjustMoveResizeGeometry(const QRect &rect) const return geometry; } -bool XdgSurfaceClient::isInitialPositionSet() const -{ - return m_plasmaShellSurface ? m_plasmaShellSurface->isPositionSet() : false; -} - void XdgSurfaceClient::requestGeometry(const QRect &rect) { WaylandClient::requestGeometry(rect); @@ -1189,7 +1184,7 @@ void XdgToplevelClient::initialize() { blockGeometryUpdates(true); - bool needsPlacement = !isInitialPositionSet(); + bool needsPlacement = isPlaceable(); updateDecoration(false, false); diff --git a/xdgshellclient.h b/xdgshellclient.h index 1cad828050..5efff17a53 100644 --- a/xdgshellclient.h +++ b/xdgshellclient.h @@ -57,7 +57,6 @@ public: QRect frameRectToBufferRect(const QRect &rect) const override; QRect inputGeometry() const override; QMatrix4x4 inputTransformation() const override; - bool isInitialPositionSet() const override; void destroyClient() override; void setVirtualKeyboardGeometry(const QRect &geo) override;