support per-screen active window tracking

This commit is contained in:
Moody Liu committed 2024-03-07 19:40:42 +00:00
1 parent 53e808d29a
commit 9c75774ca9
4 files changed
+23 -1

No files matched your search

+4
View File
@@ -38,6 +38,10 @@
<default>true</default>
<label>if false active window can be on any screen</label>
</entry>
<entry name="perScreenActive" type="Bool">
<default>false</default>
<label>Per-screen active window</label>
</entry>
<entry name="hiddenState" type="Enum">
<choices>
<choice name="SlideOut"/>
+1 -1
View File
@@ -28,7 +28,7 @@ Item {
id: plasmaTasksItem
property bool filterByScreen: true
readonly property bool existsWindowActive: lastActiveTaskItem && tasksRepeater.count > 0 && lastActiveTaskItem.isActive
readonly property bool existsWindowActive: lastActiveTaskItem && tasksRepeater.count > 0 && (root.perScreenActive || lastActiveTaskItem.isActive)
readonly property bool existsWindowShown: lastActiveTaskItem && tasksRepeater.count > 0 && !lastActiveTaskItem.isMinimized
property Item lastActiveTaskItem: null
@@ -40,6 +40,7 @@ Item {
property alias cfg_buttonSizePercentage: buttonSizeSpn.value
property alias cfg_visibility: root.visibility
property alias cfg_filterByScreen: byScreenChk.checked
property alias cfg_perScreenActive: stickyChk.checked
property alias cfg_hiddenState: root.hiddenState
property alias cfg_inactiveStateEnabled: inactiveChk.checked
property alias cfg_useDecorationMetrics: decorationMetricsChk.checked
@@ -53,6 +54,7 @@ Item {
property var cfg_containmentType
property var cfg_containmentTypeDefault
property var cfg_filterByScreenDefault
property var cfg_perScreenActiveDefault
property var cfg_formFactor
property var cfg_formFactorDefault
property var cfg_hiddenStateDefault
@@ -336,6 +338,19 @@ Item {
}
}
GridLayout {
Label {
Layout.minimumWidth: Math.max(centerFactor * root.width, minimumWidth)
text: i18n("Per-screen active window:")
horizontalAlignment: Text.AlignRight
}
CheckBox {
id: stickyChk
text: i18n("Enabled")
}
}
GridLayout{
columns: 2
rows: 2
+3
View File
@@ -47,6 +47,8 @@ PlasmoidItem {
property int animatedMinimumWidth: minimumWidth
property int animatedMinimumHeight: minimumHeight
property int screen: plasmoid.containment.screen
readonly property bool inEditMode: latteInEditMode || plasmoid.userConfiguring
readonly property bool mustHide: {
@@ -77,6 +79,7 @@ PlasmoidItem {
readonly property int containmentType: plasmoid.configuration.containmentType
readonly property int visibility: plasmoid.configuration.visibility
readonly property bool perScreenActive: plasmoid.configuration.perScreenActive
readonly property int minimumWidth: {
if (plasmoid.formFactor === PlasmaCore.Types.Horizontal) {