1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

system tray: Add DMS_HIDE_TRAYIDs

This commit is contained in:
bbedward
2025-10-20 12:15:08 -04:00
parent d978740d66
commit e02b255442

View File

@@ -17,13 +17,26 @@ Rectangle {
property real widgetThickness: 30 property real widgetThickness: 30
property bool isAtBottom: false property bool isAtBottom: false
readonly property real horizontalPadding: SettingsData.dankBarNoBackground ? 2 : Theme.spacingS readonly property real horizontalPadding: SettingsData.dankBarNoBackground ? 2 : Theme.spacingS
readonly property int calculatedSize: SystemTray.items.values.length > 0 ? SystemTray.items.values.length * 24 + horizontalPadding * 2 : 0 readonly property var hiddenTrayIds: {
const envValue = Quickshell.env("DMS_HIDE_TRAYIDS") || ""
return envValue ? envValue.split(",").map(id => id.trim().toLowerCase()) : []
}
readonly property var visibleTrayItems: {
if (!hiddenTrayIds.length) {
return SystemTray.items.values
}
return SystemTray.items.values.filter(item => {
const itemId = item?.id || ""
return !hiddenTrayIds.includes(itemId.toLowerCase())
})
}
readonly property int calculatedSize: visibleTrayItems.length > 0 ? visibleTrayItems.length * 24 + horizontalPadding * 2 : 0
width: isVertical ? widgetThickness : calculatedSize width: isVertical ? widgetThickness : calculatedSize
height: isVertical ? calculatedSize : widgetThickness height: isVertical ? calculatedSize : widgetThickness
radius: SettingsData.dankBarNoBackground ? 0 : Theme.cornerRadius radius: SettingsData.dankBarNoBackground ? 0 : Theme.cornerRadius
color: { color: {
if (SystemTray.items.values.length === 0) { if (visibleTrayItems.length === 0) {
return "transparent"; return "transparent";
} }
@@ -34,7 +47,7 @@ Rectangle {
const baseColor = Theme.widgetBaseBackgroundColor; const baseColor = Theme.widgetBaseBackgroundColor;
return Qt.rgba(baseColor.r, baseColor.g, baseColor.b, baseColor.a * Theme.widgetTransparency); return Qt.rgba(baseColor.r, baseColor.g, baseColor.b, baseColor.a * Theme.widgetTransparency);
} }
visible: SystemTray.items.values.length > 0 visible: visibleTrayItems.length > 0
Loader { Loader {
id: layoutLoader id: layoutLoader
@@ -48,7 +61,7 @@ Rectangle {
spacing: 0 spacing: 0
Repeater { Repeater {
model: SystemTray.items.values model: root.visibleTrayItems
delegate: Item { delegate: Item {
property var trayItem: modelData property var trayItem: modelData
@@ -135,7 +148,7 @@ Rectangle {
spacing: 0 spacing: 0
Repeater { Repeater {
model: SystemTray.items.values model: root.visibleTrayItems
delegate: Item { delegate: Item {
property var trayItem: modelData property var trayItem: modelData