From c7a02a8719456c00898bbd1e6b3f8269c4a5edcb Mon Sep 17 00:00:00 2001 From: tsic404 Date: Fri, 3 Mar 2023 09:51:00 +0800 Subject: [PATCH] fix: fix launcher show at a worng postion when using multi screen dock only set postion calculated by current screen without curren screen x,y offset from top-left. log: fix launcher appears in the wrong place --- frame/window/windowmanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frame/window/windowmanager.cpp b/frame/window/windowmanager.cpp index 00199bdab..a4980f7c4 100644 --- a/frame/window/windowmanager.cpp +++ b/frame/window/windowmanager.cpp @@ -669,9 +669,9 @@ void WindowManager::onRequestUpdateFrontendGeometry() QScreen *screen = DIS_INS->screen(DOCKSCREEN_INS->current()); if (screen) { if (m_position == Dock::Position::Top || m_position == Dock::Position::Bottom) - x = qMax(0, (int)((screen->handle()->geometry().width() - (rect.width() * qApp->devicePixelRatio())) / 2)); + x = screen->handle()->geometry().x() + qMax(0, (int)((screen->handle()->geometry().width() - (rect.width() * qApp->devicePixelRatio())) / 2)); else - y = qMax(0, (int)((screen->handle()->geometry().height() - (rect.height() * qApp->devicePixelRatio())) / 2)); + y = screen->handle()->geometry().y() + qMax(0, (int)((screen->handle()->geometry().height() - (rect.height() * qApp->devicePixelRatio())) / 2)); } }