diff --git a/abstract_client.h b/abstract_client.h --- a/abstract_client.h +++ b/abstract_client.h @@ -430,6 +430,11 @@ void setDesktop(int); void enterDesktop(VirtualDesktop *desktop); void leaveDesktop(VirtualDesktop *desktop); + + /** + * Set the window as being on the attached list of desktops + * On X11 it will be set to the last entry + */ void setDesktops(QVector desktops); int desktop() const override { diff --git a/abstract_client.cpp b/abstract_client.cpp --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -501,7 +501,7 @@ { //on x11 we can have only one desktop at a time if (kwinApp()->operationMode() == Application::OperationModeX11 && desktops.size() > 1) { - desktops = QVector({desktops.first()}); + desktops = QVector({desktops.last()}); } if (desktops == m_desktops) {