Add toggle to hide unoccupied workspaces
This commit is contained in:
parent
722a59da80
commit
3a2bb40117
3 changed files with 19 additions and 4 deletions
|
|
@ -33,6 +33,8 @@ Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly property string labelMode: (widgetSettings.labelMode !== undefined) ? widgetSettings.labelMode : widgetMetadata.labelMode
|
readonly property string labelMode: (widgetSettings.labelMode !== undefined) ? widgetSettings.labelMode : widgetMetadata.labelMode
|
||||||
|
readonly property bool hideUnoccupied: (widgetSettings.hideUnoccupied !== undefined) ? widgetSettings.hideUnoccupied : widgetMetadata.hideUnoccupied
|
||||||
|
onHideUnoccupiedChanged: refreshWorkspaces()
|
||||||
|
|
||||||
property bool isDestroying: false
|
property bool isDestroying: false
|
||||||
property bool hovered: false
|
property bool hovered: false
|
||||||
|
|
@ -91,6 +93,9 @@ Item {
|
||||||
for (var i = 0; i < WorkspaceService.workspaces.count; i++) {
|
for (var i = 0; i < WorkspaceService.workspaces.count; i++) {
|
||||||
const ws = WorkspaceService.workspaces.get(i)
|
const ws = WorkspaceService.workspaces.get(i)
|
||||||
if (ws.output.toLowerCase() === screen.name.toLowerCase()) {
|
if (ws.output.toLowerCase() === screen.name.toLowerCase()) {
|
||||||
|
if (hideUnoccupied && !ws.isOccupied && !ws.isFocused) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
localWorkspaces.append(ws)
|
localWorkspaces.append(ws)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,10 @@ ColumnLayout {
|
||||||
property var widgetMetadata: null
|
property var widgetMetadata: null
|
||||||
|
|
||||||
function saveSettings() {
|
function saveSettings() {
|
||||||
var settings = Object.assign({}, widgetData || {})
|
var settings = Object.assign({}, widgetData || {});
|
||||||
settings.labelMode = labelModeCombo.currentKey
|
settings.labelMode = labelModeCombo.currentKey;
|
||||||
return settings
|
settings.hideUnoccupied = hideUnoccupiedToggle.checked;
|
||||||
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
NComboBox {
|
NComboBox {
|
||||||
|
|
@ -41,4 +42,12 @@ ColumnLayout {
|
||||||
onSelected: key => labelModeCombo.currentKey = key
|
onSelected: key => labelModeCombo.currentKey = key
|
||||||
minimumWidth: 200 * scaling
|
minimumWidth: 200 * scaling
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NToggle {
|
||||||
|
id: hideUnoccupiedToggle
|
||||||
|
label: "Hide unoccupied"
|
||||||
|
description: "Don't display workspaces without windows."
|
||||||
|
checked: widgetData.hideUnoccupied
|
||||||
|
onToggled: checked => hideUnoccupiedToggle.checked = checked
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@ Singleton {
|
||||||
},
|
},
|
||||||
"Workspace": {
|
"Workspace": {
|
||||||
"allowUserSettings": true,
|
"allowUserSettings": true,
|
||||||
"labelMode": "index"
|
"labelMode": "index",
|
||||||
|
"hideUnoccupied": false
|
||||||
},
|
},
|
||||||
"MediaMini": {
|
"MediaMini": {
|
||||||
"allowUserSettings": true,
|
"allowUserSettings": true,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue