Merge pull request #257 from mkuritsu/main

Add toggle to hide unoccupied workspaces
This commit is contained in:
Lemmy 2025-09-12 16:42:36 -04:00 committed by GitHub
commit 59ce164b40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 22 additions and 8 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.qmlls.ini

2
.qmlformat.ini Normal file
View file

@ -0,0 +1,2 @@
[General]
IndentWidth=2

View file

@ -32,6 +32,8 @@ Item {
}
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 hovered: false
@ -90,6 +92,9 @@ Item {
for (var i = 0; i < WorkspaceService.workspaces.count; i++) {
const ws = WorkspaceService.workspaces.get(i)
if (ws.output.toLowerCase() === screen.name.toLowerCase()) {
if (hideUnoccupied && !ws.isOccupied && !ws.isFocused) {
continue
}
localWorkspaces.append(ws)
}
}
@ -196,8 +201,6 @@ Item {
return Color.mOnError
if (model.isActive || model.isOccupied)
return Color.mOnSecondary
if (model.isUrgent)
return Color.mOnError
return Color.mOnSurface
}
@ -213,8 +216,6 @@ Item {
return Color.mError
if (model.isActive || model.isOccupied)
return Color.mSecondary
if (model.isUrgent)
return Color.mError
return Color.mOutline
}

View file

@ -14,9 +14,10 @@ ColumnLayout {
property var widgetMetadata: null
function saveSettings() {
var settings = Object.assign({}, widgetData || {})
settings.labelMode = labelModeCombo.currentKey
return settings
var settings = Object.assign({}, widgetData || {});
settings.labelMode = labelModeCombo.currentKey;
settings.hideUnoccupied = hideUnoccupiedToggle.checked;
return settings;
}
NComboBox {
@ -41,4 +42,12 @@ ColumnLayout {
onSelected: key => labelModeCombo.currentKey = key
minimumWidth: 200 * scaling
}
NToggle {
id: hideUnoccupiedToggle
label: "Hide unoccupied"
description: "Don't display workspaces without windows."
checked: widgetData.hideUnoccupied
onToggled: checked => hideUnoccupiedToggle.checked = checked
}
}

View file

@ -87,7 +87,8 @@ Singleton {
},
"Workspace": {
"allowUserSettings": true,
"labelMode": "index"
"labelMode": "index",
"hideUnoccupied": false
},
"MediaMini": {
"allowUserSettings": true,