Skip to content

Commit 385d05b

Browse files
committed
fix: support Plasma 6.7 per-output virtual desktops
1 parent 371426c commit 385d05b

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

package/contents/ui/TasksModel.qml

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -107,30 +107,39 @@ Item {
107107

108108
sortMode: TaskManager.TasksModel.SortVirtualDesktop
109109
groupMode: TaskManager.TasksModel.GroupDisabled
110-
virtualDesktop: virtualDesktopInfo.currentDesktop
111110
activity: activityInfo.currentActivity
112111
screenGeometry: root.screenGeometry
113-
filterByVirtualDesktop: true
114112
filterByScreen: root.filterByScreen
115113
filterByActivity: true
116114
filterMinimized: true
117115
onDataChanged: {
118-
Qt.callLater(() => {
119-
if (!updateTimer.running)
120-
updateTimer.start();
121-
});
116+
Qt.callLater(root.update);
122117
}
123118
onCountChanged: {
124-
Qt.callLater(() => {
125-
if (!updateTimer.running)
126-
updateTimer.start();
127-
});
119+
Qt.callLater(root.update);
120+
}
121+
Component.onCompleted: {
122+
// Plasma 6.7 per-output virtual desktops
123+
// https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3427
124+
if (tasksModel.hasOwnProperty("filterByCurrentVirtualDesktop")) {
125+
tasksModel.filterByCurrentVirtualDesktop = true;
126+
} else {
127+
tasksModel.virtualDesktop = Qt.binding(function () {
128+
return virtualDesktopInfo.currentDesktop;
129+
});
130+
tasksModel.filterByVirtualDesktop = true;
131+
}
132+
}
133+
}
134+
135+
function update() {
136+
if (!updateTimer.running) {
137+
updateTimer.start();
128138
}
129139
}
130140

131141
Timer {
132142
id: updateTimer
133-
134143
interval: 5
135144
onTriggered: {
136145
root.updateWindowsInfo();

0 commit comments

Comments
 (0)