19
19
*/
20
20
21
21
import QtQuick
22
- import org.kde.taskmanager 0.1 as TaskManager
22
+ import org.kde.taskmanager as TaskManager
23
23
24
24
Item {
25
25
@@ -34,11 +34,15 @@ Item {
34
34
property var isWindow: abstractTasksModel .IsWindow
35
35
property var isFullScreen: abstractTasksModel .IsFullScreen
36
36
property var isMinimized: abstractTasksModel .IsMinimized
37
+ property bool filterByActive: false
38
+ property var activeTask: null
37
39
38
40
Connections {
39
41
target: plasmoid .configuration
40
42
function onValueChanged () {
41
- updateWindowsinfo ()
43
+ if (! updateTimer .running ) {
44
+ updateTimer .start ()
45
+ }
42
46
}
43
47
}
44
48
@@ -63,13 +67,17 @@ Item {
63
67
filterByActivity: true
64
68
filterMinimized: true
65
69
66
- onActiveTaskChanged: {
67
- updateWindowsinfo ()
68
- }
69
70
onDataChanged: {
70
- updateWindowsinfo ()
71
+ if (! updateTimer .running ) {
72
+ updateTimer .start ()
73
+ }
71
74
}
72
- onCountChanged: {
75
+ }
76
+
77
+ Timer {
78
+ id: updateTimer
79
+ interval: 5
80
+ onTriggered: {
73
81
updateWindowsinfo ()
74
82
}
75
83
}
@@ -80,13 +88,14 @@ Item {
80
88
let maximizedCount = 0
81
89
for (var i = 0 ; i < tasksModel .count ; i++ ) {
82
90
const currentTask = tasksModel .index (i, 0 )
83
- if (currentTask === undefined ) continue
84
- if (tasksModel .data (currentTask, isWindow)) {
85
- if (tasksModel .data (currentTask, isMaximized) || tasksModel .data (currentTask, isFullScreen)) maximizedCount+= 1
86
- }
91
+ if (currentTask === undefined || ! tasksModel .data (currentTask, isWindow)) continue
92
+ const active = tasksModel .data (currentTask, isActive)
93
+ if (filterByActive && ! active) continue
94
+ if (active) activeTask = currentTask
95
+ if (tasksModel .data (currentTask, isMaximized)) maximizedCount += 1
87
96
}
88
97
root .visibleExists = visibleCount > 0
89
- root .maximizedExists = maximizedCount > 0
98
+ root .maximizedExists = filterByActive ? tasksModel . data (activeTask, isMaximized) : maximizedCount > 0
90
99
root .activeExists = activeCount > 0
91
100
}
92
101
}
0 commit comments