Fix monitor offset w/ left-of-center monitors in overview (#1656)

This commit is contained in:
end-4
2025-07-21 06:25:01 +02:00
committed by GitHub
2 changed files with 6 additions and 8 deletions
@@ -172,10 +172,8 @@ Item {
property int workspaceColIndex: (windowData?.workspace.id - 1) % Config.options.overview.columns property int workspaceColIndex: (windowData?.workspace.id - 1) % Config.options.overview.columns
property int workspaceRowIndex: Math.floor((windowData?.workspace.id - 1) % root.workspacesShown / Config.options.overview.columns) property int workspaceRowIndex: Math.floor((windowData?.workspace.id - 1) % root.workspacesShown / Config.options.overview.columns)
xOffset: { xOffset: (root.workspaceImplicitWidth + workspaceSpacing) * workspaceColIndex
return (root.workspaceImplicitWidth + workspaceSpacing) * workspaceColIndex - (monitor?.x * root.scale) yOffset: (root.workspaceImplicitHeight + workspaceSpacing) * workspaceRowIndex
}
yOffset: (root.workspaceImplicitHeight + workspaceSpacing) * workspaceRowIndex - (monitor?.y * root.scale)
Timer { Timer {
id: updateWindowPosition id: updateWindowPosition
@@ -183,8 +181,8 @@ Item {
repeat: false repeat: false
running: false running: false
onTriggered: { onTriggered: {
window.x = Math.round(Math.max((windowData?.at[0] - monitorData?.reserved[0]) * root.scale, 0) + xOffset) window.x = Math.round(Math.max((windowData?.at[0] - (monitor?.x ?? 0) - monitorData?.reserved[0]) * root.scale, 0) + xOffset)
window.y = Math.round(Math.max((windowData?.at[1] - monitorData?.reserved[1]) * root.scale, 0) + yOffset) window.y = Math.round(Math.max((windowData?.at[1] - (monitor?.y ?? 0) - monitorData?.reserved[1]) * root.scale, 0) + yOffset)
} }
} }
@@ -18,8 +18,8 @@ Item { // Window
property var availableWorkspaceWidth property var availableWorkspaceWidth
property var availableWorkspaceHeight property var availableWorkspaceHeight
property bool restrictToWorkspace: true property bool restrictToWorkspace: true
property real initX: Math.max((windowData?.at[0] - monitorData?.reserved[0]) * root.scale, 0) + xOffset property real initX: Math.max((windowData?.at[0] - (monitorData?.x ?? 0) - monitorData?.reserved[0]) * root.scale, 0) + xOffset
property real initY: Math.max((windowData?.at[1] - monitorData?.reserved[1]) * root.scale, 0) + yOffset property real initY: Math.max((windowData?.at[1] - (monitorData?.y ?? 0) - monitorData?.reserved[1]) * root.scale, 0) + yOffset
property real xOffset: 0 property real xOffset: 0
property real yOffset: 0 property real yOffset: 0