1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-13 22:46:34 -04:00

refactor(settings): reorg to break out sections and verbiage

This commit is contained in:
purian23
2026-06-12 14:57:25 -04:00
parent 820fa07846
commit 7777e87dc8
6 changed files with 423 additions and 333 deletions
@@ -105,8 +105,8 @@ Rectangle {
}, },
{ {
"id": "compositor_layout", "id": "compositor_layout",
"text": CompositorService.isNiri ? "niri" : (CompositorService.isHyprland ? "Hyprland" : "MangoWC"), "text": CompositorService.isNiri ? "Niri" : (CompositorService.isHyprland ? "Hyprland" : "MangoWC"),
"icon": "crop_square", "icon": "layers",
"tabIndex": 37, "tabIndex": 37,
"layoutCapable": true "layoutCapable": true
} }
@@ -117,18 +117,18 @@ Rectangle {
"text": I18n.tr("Dank Bar"), "text": I18n.tr("Dank Bar"),
"icon": "toolbar", "icon": "toolbar",
"children": [ "children": [
{
"id": "dankbar_settings",
"text": I18n.tr("Settings"),
"icon": "tune",
"tabIndex": 3
},
{ {
"id": "dankbar_appearance", "id": "dankbar_appearance",
"text": I18n.tr("Appearance"), "text": I18n.tr("Appearance"),
"icon": "palette", "icon": "palette",
"tabIndex": 6 "tabIndex": 6
}, },
{
"id": "dankbar_settings",
"text": I18n.tr("Settings"),
"icon": "tune",
"tabIndex": 3
},
{ {
"id": "dankbar_widgets", "id": "dankbar_widgets",
"text": I18n.tr("Widgets"), "text": I18n.tr("Widgets"),
@@ -23,9 +23,9 @@ Item {
SettingsCard { SettingsCard {
width: parent.width width: parent.width
tags: ["niri", "layout", "gaps", "radius", "window", "border"] tags: ["niri", "layout", "gaps", "radius", "window", "border"]
title: I18n.tr("Niri Layout Overrides").replace("Niri", "niri") title: I18n.tr("Niri Layout Overrides")
settingKey: "niriLayout" settingKey: "niriLayout"
iconName: "crop_square" iconName: "layers"
visible: CompositorService.isNiri visible: CompositorService.isNiri
SettingsToggleRow { SettingsToggleRow {
+68 -67
View File
@@ -796,18 +796,81 @@ Item {
} }
} }
SettingsCard {
tab: "appearance"
iconName: "opacity"
title: I18n.tr("Opacity")
settingKey: "barTransparency"
visible: dankBarTab.appearanceOnly && selectedBarConfig?.enabled
SettingsSliderRow {
id: barTransparencySlider
visible: !SettingsData.frameEnabled
text: I18n.tr("Bar Opacity")
description: I18n.tr("Controls opacity of the bar background")
value: (selectedBarConfig?.transparency ?? 1.0) * 100
minimum: 0
maximum: 100
unit: "%"
defaultValue: 100
onSliderDragFinished: finalValue => {
SettingsData.updateBarConfig(selectedBarId, {
transparency: finalValue / 100
});
}
Binding {
target: barTransparencySlider
property: "value"
value: (selectedBarConfig?.transparency ?? 1.0) * 100
restoreMode: Binding.RestoreBinding
}
}
SettingsSliderRow {
id: widgetTransparencySlider
text: I18n.tr("Widget Opacity")
description: I18n.tr("Controls opacity of widget backgrounds")
value: (selectedBarConfig?.widgetTransparency ?? 1.0) * 100
minimum: 0
maximum: 100
unit: "%"
defaultValue: 100
onSliderDragFinished: finalValue => {
SettingsData.updateBarConfig(selectedBarId, {
widgetTransparency: finalValue / 100
});
}
Binding {
target: widgetTransparencySlider
property: "value"
value: (selectedBarConfig?.widgetTransparency ?? 1.0) * 100
restoreMode: Binding.RestoreBinding
}
}
SettingsControlledByFrame {
visible: SettingsData.frameEnabled
parentModal: dankBarTab.parentModal
settingLabel: I18n.tr("Bar Opacity")
reason: I18n.tr("Managed by Frame")
}
}
SettingsControlledByFrame { SettingsControlledByFrame {
visible: !dankBarTab.appearanceOnly && SettingsData.frameEnabled visible: dankBarTab.appearanceOnly && SettingsData.frameEnabled
parentModal: dankBarTab.parentModal parentModal: dankBarTab.parentModal
settingLabel: I18n.tr("Bar spacing and size") settingLabel: I18n.tr("Bar spacing and size")
reason: I18n.tr("Managed by Frame") reason: I18n.tr("Managed by Frame")
} }
SettingsCard { SettingsCard {
tab: "appearance"
iconName: "space_bar" iconName: "space_bar"
title: I18n.tr("Spacing") title: I18n.tr("Spacing")
settingKey: "barSpacing" settingKey: "barSpacing"
visible: !dankBarTab.appearanceOnly && (selectedBarConfig?.enabled ?? false) && !SettingsData.frameEnabled visible: dankBarTab.appearanceOnly && (selectedBarConfig?.enabled ?? false) && !SettingsData.frameEnabled
SettingsSliderRow { SettingsSliderRow {
id: edgeSpacingSlider id: edgeSpacingSlider
@@ -956,68 +1019,6 @@ Item {
} }
} }
SettingsCard {
tab: "appearance"
iconName: "opacity"
title: I18n.tr("Transparency")
settingKey: "barTransparency"
visible: dankBarTab.appearanceOnly && selectedBarConfig?.enabled
SettingsSliderRow {
id: barTransparencySlider
visible: !SettingsData.frameEnabled
text: I18n.tr("Bar Transparency")
description: I18n.tr("Opacity of the bar background")
value: (selectedBarConfig?.transparency ?? 1.0) * 100
minimum: 0
maximum: 100
unit: "%"
defaultValue: 100
onSliderDragFinished: finalValue => {
SettingsData.updateBarConfig(selectedBarId, {
transparency: finalValue / 100
});
}
Binding {
target: barTransparencySlider
property: "value"
value: (selectedBarConfig?.transparency ?? 1.0) * 100
restoreMode: Binding.RestoreBinding
}
}
SettingsSliderRow {
id: widgetTransparencySlider
text: I18n.tr("Widget Transparency")
description: I18n.tr("Opacity of widget backgrounds")
value: (selectedBarConfig?.widgetTransparency ?? 1.0) * 100
minimum: 0
maximum: 100
unit: "%"
defaultValue: 100
onSliderDragFinished: finalValue => {
SettingsData.updateBarConfig(selectedBarId, {
widgetTransparency: finalValue / 100
});
}
Binding {
target: widgetTransparencySlider
property: "value"
value: (selectedBarConfig?.widgetTransparency ?? 1.0) * 100
restoreMode: Binding.RestoreBinding
}
}
SettingsControlledByFrame {
visible: SettingsData.frameEnabled
parentModal: dankBarTab.parentModal
settingLabel: I18n.tr("Bar Transparency")
reason: I18n.tr("Managed by Frame")
}
}
SettingsSliderCard { SettingsSliderCard {
id: fontScaleSliderCard id: fontScaleSliderCard
tab: "appearance" tab: "appearance"
@@ -1358,7 +1359,7 @@ Item {
SettingsSliderRow { SettingsSliderRow {
id: borderOpacitySlider id: borderOpacitySlider
text: I18n.tr("Opacity") text: I18n.tr("Opacity")
description: I18n.tr("Transparency of the border") description: I18n.tr("Controls opacity of the border")
value: (selectedBarConfig?.borderOpacity ?? 1.0) * 100 value: (selectedBarConfig?.borderOpacity ?? 1.0) * 100
minimum: 0 minimum: 0
maximum: 100 maximum: 100
@@ -1453,7 +1454,7 @@ Item {
SettingsSliderRow { SettingsSliderRow {
id: widgetOutlineOpacitySlider id: widgetOutlineOpacitySlider
text: I18n.tr("Opacity") text: I18n.tr("Opacity")
description: I18n.tr("Transparency of the widget outline") description: I18n.tr("Controls opacity of the widget outline")
value: (selectedBarConfig?.widgetOutlineOpacity ?? 1.0) * 100 value: (selectedBarConfig?.widgetOutlineOpacity ?? 1.0) * 100
minimum: 0 minimum: 0
maximum: 100 maximum: 100
@@ -1562,7 +1563,7 @@ Item {
SettingsSliderRow { SettingsSliderRow {
visible: shadowCard.shadowActive visible: shadowCard.shadowActive
text: I18n.tr("Opacity") text: I18n.tr("Opacity")
description: I18n.tr("Transparency of the shadow layer") description: I18n.tr("Controls opacity of the shadow layer")
minimum: 10 minimum: 10
maximum: 100 maximum: 100
unit: "%" unit: "%"
+3 -3
View File
@@ -643,19 +643,19 @@ Item {
SettingsControlledByFrame { SettingsControlledByFrame {
visible: root.connectedFrameModeActive visible: root.connectedFrameModeActive
parentModal: root.parentModal parentModal: root.parentModal
settingLabel: I18n.tr("Dock margin, transparency, and border") settingLabel: I18n.tr("Dock margin, opacity, and border")
reason: I18n.tr("Managed by Frame in Connected Mode") reason: I18n.tr("Managed by Frame in Connected Mode")
} }
SettingsCard { SettingsCard {
width: parent.width width: parent.width
iconName: "opacity" iconName: "opacity"
title: I18n.tr("Transparency") title: I18n.tr("Opacity")
settingKey: "dockTransparency" settingKey: "dockTransparency"
visible: !root.connectedFrameModeActive visible: !root.connectedFrameModeActive
SettingsSliderRow { SettingsSliderRow {
text: I18n.tr("Dock Transparency") text: I18n.tr("Dock Opacity")
value: Math.round(SettingsData.dockTransparency * 100) value: Math.round(SettingsData.dockTransparency * 100)
minimum: 0 minimum: 0
maximum: 100 maximum: 100
+111 -103
View File
@@ -1639,7 +1639,7 @@ Item {
SettingsControlledByFrame { SettingsControlledByFrame {
visible: themeColorsTab.connectedFrameModeActive visible: themeColorsTab.connectedFrameModeActive
parentModal: themeColorsTab.parentModal parentModal: themeColorsTab.parentModal
settingLabel: I18n.tr("Transparency") settingLabel: I18n.tr("Surface Opacity")
reason: I18n.tr("Managed by Frame in Connected Mode") reason: I18n.tr("Managed by Frame in Connected Mode")
} }
@@ -1647,8 +1647,8 @@ Item {
tab: "theme" tab: "theme"
tags: ["surface", "popup", "transparency", "opacity", "modal"] tags: ["surface", "popup", "transparency", "opacity", "modal"]
settingKey: "popupTransparency" settingKey: "popupTransparency"
text: I18n.tr("Transparency") text: I18n.tr("Surface Opacity")
description: I18n.tr("Controls opacity of all popouts, modals, and their content layers") description: I18n.tr("Controls opacity of shell surfaces, popouts, and modals")
visible: !themeColorsTab.connectedFrameModeActive visible: !themeColorsTab.connectedFrameModeActive
value: Math.round(SettingsData.popupTransparency * 100) value: Math.round(SettingsData.popupTransparency * 100)
minimum: 0 minimum: 0
@@ -1671,6 +1671,113 @@ Item {
defaultValue: 12 defaultValue: 12
onSliderValueChanged: newValue => SettingsData.setCornerRadius(newValue) onSliderValueChanged: newValue => SettingsData.setCornerRadius(newValue)
} }
}
SettingsCard {
tab: "theme"
tags: ["blur", "background", "transparency", "glass", "frosted"]
title: I18n.tr("Background Blur")
settingKey: "blurEnabled"
iconName: "blur_on"
SettingsToggleRow {
tab: "theme"
tags: ["blur", "background", "transparency", "glass", "frosted"]
settingKey: "blurEnabled"
text: I18n.tr("Background Blur")
description: !BlurService.available ? I18n.tr("Your compositor does not support background blur (ext-background-effect-v1)") : I18n.tr("Blur the background behind bars, popouts, modals, and notifications. Requires compositor support. Adjust Opacity accordingly.")
checked: SettingsData.blurEnabled ?? false
enabled: BlurService.available
onToggled: checked => SettingsData.set("blurEnabled", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["blur", "foreground", "layers", "contrast", "glass", "frosted"]
settingKey: "blurForegroundLayers"
text: I18n.tr("Foreground Layers")
description: I18n.tr("Show foreground surfaces on blurred panels for stronger contrast")
checked: SettingsData.blurForegroundLayers ?? true
visible: BlurService.available && (SettingsData.blurEnabled ?? false)
enabled: BlurService.available
onToggled: checked => SettingsData.set("blurForegroundLayers", checked)
}
SettingsSliderRow {
tab: "theme"
tags: ["blur", "foreground", "layers", "outline", "border", "cards", "widgets", "notifications", "control center"]
settingKey: "blurLayerOutlineOpacity"
text: I18n.tr("Layer Outline Opacity")
description: I18n.tr("Controls outlines around blurred foreground cards, pills, and notification cards")
visible: BlurService.available && (SettingsData.blurEnabled ?? false)
value: Math.round((SettingsData.blurLayerOutlineOpacity ?? 0.12) * 100)
minimum: 0
maximum: 40
unit: "%"
defaultValue: 12
onSliderValueChanged: newValue => SettingsData.set("blurLayerOutlineOpacity", newValue / 100)
}
SettingsDropdownRow {
tab: "theme"
tags: ["blur", "border", "outline", "edge"]
settingKey: "blurBorderColor"
text: I18n.tr("Blur Border Color")
description: I18n.tr("Border color around blurred surfaces")
visible: SettingsData.blurEnabled
options: [I18n.tr("Outline", "blur border color"), I18n.tr("Primary", "blur border color"), I18n.tr("Secondary", "blur border color"), I18n.tr("Text Color", "blur border color"), I18n.tr("Custom", "blur border color")]
currentValue: {
switch (SettingsData.blurBorderColor) {
case "primary":
return I18n.tr("Primary", "blur border color");
case "secondary":
return I18n.tr("Secondary", "blur border color");
case "surfaceText":
return I18n.tr("Text Color", "blur border color");
case "custom":
return I18n.tr("Custom", "blur border color");
default:
return I18n.tr("Outline", "blur border color");
}
}
onValueChanged: value => {
if (value === I18n.tr("Primary", "blur border color")) {
SettingsData.set("blurBorderColor", "primary");
} else if (value === I18n.tr("Secondary", "blur border color")) {
SettingsData.set("blurBorderColor", "secondary");
} else if (value === I18n.tr("Text Color", "blur border color")) {
SettingsData.set("blurBorderColor", "surfaceText");
} else if (value === I18n.tr("Custom", "blur border color")) {
SettingsData.set("blurBorderColor", "custom");
openBlurBorderColorPicker();
} else {
SettingsData.set("blurBorderColor", "outline");
}
}
}
SettingsSliderRow {
tab: "theme"
tags: ["blur", "border", "opacity"]
settingKey: "blurBorderOpacity"
text: I18n.tr("Blur Border Opacity")
description: I18n.tr("Controls the outer edge of protocol-blurred windows")
visible: SettingsData.blurEnabled
value: Math.round((SettingsData.blurBorderOpacity ?? 0.35) * 100)
minimum: 0
maximum: 100
unit: "%"
defaultValue: 35
onSliderValueChanged: newValue => SettingsData.set("blurBorderOpacity", newValue / 100)
}
}
SettingsCard {
tab: "theme"
tags: ["elevation", "shadow", "lift", "m3", "material"]
title: I18n.tr("Shadows")
settingKey: "m3ElevationEnabled"
iconName: "layers"
SettingsToggleRow { SettingsToggleRow {
tab: "theme" tab: "theme"
@@ -1702,7 +1809,7 @@ Item {
tags: ["elevation", "shadow", "opacity", "transparency", "m3"] tags: ["elevation", "shadow", "opacity", "transparency", "m3"]
settingKey: "m3ElevationOpacity" settingKey: "m3ElevationOpacity"
text: I18n.tr("Shadow Opacity") text: I18n.tr("Shadow Opacity")
description: I18n.tr("Controls the transparency of the shadow") description: I18n.tr("Controls the opacity of the shadow")
value: SettingsData.m3ElevationOpacity ?? 30 value: SettingsData.m3ElevationOpacity ?? 30
minimum: 0 minimum: 0
maximum: 100 maximum: 100
@@ -1856,105 +1963,6 @@ Item {
} }
} }
SettingsCard {
tab: "theme"
tags: ["blur", "background", "transparency", "glass", "frosted"]
title: I18n.tr("Background Blur")
settingKey: "blurEnabled"
iconName: "blur_on"
SettingsToggleRow {
tab: "theme"
tags: ["blur", "background", "transparency", "glass", "frosted"]
settingKey: "blurEnabled"
text: I18n.tr("Background Blur")
description: !BlurService.available ? I18n.tr("Your compositor does not support background blur (ext-background-effect-v1)") : I18n.tr("Blur the background behind bars, popouts, modals, and notifications. Requires compositor support and configuration.")
checked: SettingsData.blurEnabled ?? false
enabled: BlurService.available
onToggled: checked => SettingsData.set("blurEnabled", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["blur", "foreground", "layers", "contrast", "glass", "frosted"]
settingKey: "blurForegroundLayers"
text: I18n.tr("Foreground Layers")
description: I18n.tr("Show foreground surfaces on blurred panels for stronger contrast")
checked: SettingsData.blurForegroundLayers ?? true
visible: BlurService.available && (SettingsData.blurEnabled ?? false)
enabled: BlurService.available
onToggled: checked => SettingsData.set("blurForegroundLayers", checked)
}
SettingsSliderRow {
tab: "theme"
tags: ["blur", "foreground", "layers", "outline", "border", "cards", "widgets", "notifications", "control center"]
settingKey: "blurLayerOutlineOpacity"
text: I18n.tr("Layer Outline Opacity")
description: I18n.tr("Controls outlines around blurred foreground cards, pills, and notification cards")
visible: BlurService.available && (SettingsData.blurEnabled ?? false)
value: Math.round((SettingsData.blurLayerOutlineOpacity ?? 0.12) * 100)
minimum: 0
maximum: 40
unit: "%"
defaultValue: 12
onSliderValueChanged: newValue => SettingsData.set("blurLayerOutlineOpacity", newValue / 100)
}
SettingsDropdownRow {
tab: "theme"
tags: ["blur", "border", "outline", "edge"]
settingKey: "blurBorderColor"
text: I18n.tr("Blur Border Color")
description: I18n.tr("Border color around blurred surfaces")
visible: SettingsData.blurEnabled
options: [I18n.tr("Outline", "blur border color"), I18n.tr("Primary", "blur border color"), I18n.tr("Secondary", "blur border color"), I18n.tr("Text Color", "blur border color"), I18n.tr("Custom", "blur border color")]
currentValue: {
switch (SettingsData.blurBorderColor) {
case "primary":
return I18n.tr("Primary", "blur border color");
case "secondary":
return I18n.tr("Secondary", "blur border color");
case "surfaceText":
return I18n.tr("Text Color", "blur border color");
case "custom":
return I18n.tr("Custom", "blur border color");
default:
return I18n.tr("Outline", "blur border color");
}
}
onValueChanged: value => {
if (value === I18n.tr("Primary", "blur border color")) {
SettingsData.set("blurBorderColor", "primary");
} else if (value === I18n.tr("Secondary", "blur border color")) {
SettingsData.set("blurBorderColor", "secondary");
} else if (value === I18n.tr("Text Color", "blur border color")) {
SettingsData.set("blurBorderColor", "surfaceText");
} else if (value === I18n.tr("Custom", "blur border color")) {
SettingsData.set("blurBorderColor", "custom");
openBlurBorderColorPicker();
} else {
SettingsData.set("blurBorderColor", "outline");
}
}
}
SettingsSliderRow {
tab: "theme"
tags: ["blur", "border", "opacity"]
settingKey: "blurBorderOpacity"
text: I18n.tr("Blur Border Opacity")
description: I18n.tr("Controls the outer edge of protocol-blurred windows")
visible: SettingsData.blurEnabled
value: Math.round((SettingsData.blurBorderOpacity ?? 0.35) * 100)
minimum: 0
maximum: 100
unit: "%"
defaultValue: 35
onSliderValueChanged: newValue => SettingsData.set("blurBorderOpacity", newValue / 100)
}
}
SettingsCard { SettingsCard {
tab: "theme" tab: "theme"
tags: ["modal", "darken", "background", "overlay"] tags: ["modal", "darken", "background", "overlay"]
+230 -149
View File
@@ -58,6 +58,7 @@
"targetable", "targetable",
"wallpaper" "wallpaper"
], ],
"icon": "blur_on",
"description": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.", "description": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.",
"conditionKey": "isNiri" "conditionKey": "isNiri"
}, },
@@ -727,21 +728,6 @@
], ],
"icon": "dashboard" "icon": "dashboard"
}, },
{
"section": "_tab_3",
"label": "Dank Bar",
"tabIndex": 3,
"category": "Dank Bar",
"keywords": [
"bar",
"dank",
"panel",
"statusbar",
"taskbar",
"topbar"
],
"icon": "toolbar"
},
{ {
"section": "barDisplay", "section": "barDisplay",
"label": "Display Assignment", "label": "Display Assignment",
@@ -777,30 +763,19 @@
"icon": "vertical_align_center" "icon": "vertical_align_center"
}, },
{ {
"section": "barSpacing", "section": "_tab_3",
"label": "Spacing", "label": "Settings",
"tabIndex": 3, "tabIndex": 3,
"category": "Dank Bar", "category": "Dank Bar",
"keywords": [ "keywords": [
"bar", "bar",
"between",
"dank", "dank",
"edges",
"gap",
"gaps",
"margin",
"margins",
"padding",
"panel", "panel",
"screen", "settings",
"space",
"spacing",
"statusbar", "statusbar",
"taskbar",
"topbar" "topbar"
], ],
"icon": "space_bar", "icon": "tune"
"description": "Space between the bar and screen edges"
}, },
{ {
"section": "barUseOverlayLayer", "section": "barUseOverlayLayer",
@@ -1528,6 +1503,19 @@
"windows" "windows"
] ]
}, },
{
"section": "dockTransparency",
"label": "Opacity",
"tabIndex": 5,
"category": "Dock",
"keywords": [
"dock",
"launcher bar",
"opacity",
"taskbar"
],
"icon": "opacity"
},
{ {
"section": "dockTrashFileManager", "section": "dockTrashFileManager",
"label": "Open Trash With", "label": "Open Trash With",
@@ -1745,23 +1733,6 @@
], ],
"icon": "space_bar" "icon": "space_bar"
}, },
{
"section": "dockTransparency",
"label": "Transparency",
"tabIndex": 5,
"category": "Dock",
"keywords": [
"alpha",
"dock",
"launcher bar",
"opacity",
"taskbar",
"translucent",
"transparency",
"transparent"
],
"icon": "opacity"
},
{ {
"section": "dockTrash", "section": "dockTrash",
"label": "Trash", "label": "Trash",
@@ -1798,21 +1769,6 @@
], ],
"description": "Place the dock on the Wayland overlay layer" "description": "Place the dock on the Wayland overlay layer"
}, },
{
"section": "_tab_6",
"label": "Appearance",
"tabIndex": 6,
"category": "Dank Bar",
"keywords": [
"appearance",
"bar",
"dank",
"panel",
"statusbar",
"topbar"
],
"icon": "palette"
},
{ {
"section": "barBorder", "section": "barBorder",
"label": "Border", "label": "Border",
@@ -1862,6 +1818,21 @@
"icon": "rounded_corner", "icon": "rounded_corner",
"description": "Remove corner rounding from the bar" "description": "Remove corner rounding from the bar"
}, },
{
"section": "_tab_6",
"label": "Dank Bar",
"tabIndex": 6,
"category": "Dank Bar",
"keywords": [
"bar",
"dank",
"panel",
"statusbar",
"taskbar",
"topbar"
],
"icon": "toolbar"
},
{ {
"section": "barAppearance", "section": "barAppearance",
"label": "Dank Bar", "label": "Dank Bar",
@@ -1982,6 +1953,25 @@
], ],
"description": "Use a fixed shadow direction for this bar" "description": "Use a fixed shadow direction for this bar"
}, },
{
"section": "barTransparency",
"label": "Opacity",
"tabIndex": 6,
"category": "Dank Bar",
"keywords": [
"background",
"bar",
"controls",
"dank",
"opacity",
"panel",
"statusbar",
"taskbar",
"topbar"
],
"icon": "opacity",
"description": "Controls opacity of the bar background"
},
{ {
"section": "barShadow", "section": "barShadow",
"label": "Shadow Override", "label": "Shadow Override",
@@ -2002,6 +1992,32 @@
"icon": "layers", "icon": "layers",
"description": "Override the global shadow with per-bar settings" "description": "Override the global shadow with per-bar settings"
}, },
{
"section": "barSpacing",
"label": "Spacing",
"tabIndex": 6,
"category": "Dank Bar",
"keywords": [
"bar",
"between",
"dank",
"edges",
"gap",
"gaps",
"margin",
"margins",
"padding",
"panel",
"screen",
"space",
"spacing",
"statusbar",
"taskbar",
"topbar"
],
"icon": "space_bar",
"description": "Space between the bar and screen edges"
},
{ {
"section": "trayIconTint", "section": "trayIconTint",
"label": "System Tray Icon Tint", "label": "System Tray Icon Tint",
@@ -2030,28 +2046,6 @@
"icon": "filter_b_and_w", "icon": "filter_b_and_w",
"description": "Controls how much original icon color is removed before applying tint" "description": "Controls how much original icon color is removed before applying tint"
}, },
{
"section": "barTransparency",
"label": "Transparency",
"tabIndex": 6,
"category": "Dank Bar",
"keywords": [
"alpha",
"background",
"bar",
"dank",
"opacity",
"panel",
"statusbar",
"taskbar",
"topbar",
"translucent",
"transparency",
"transparent"
],
"icon": "opacity",
"description": "Opacity of the bar background"
},
{ {
"section": "barWidgetOutline", "section": "barWidgetOutline",
"label": "Widget Outline", "label": "Widget Outline",
@@ -3792,7 +3786,6 @@
"tabIndex": 10, "tabIndex": 10,
"category": "Theme & Colors", "category": "Theme & Colors",
"keywords": [ "keywords": [
"alpha",
"appearance", "appearance",
"colors", "colors",
"controls", "controls",
@@ -3804,11 +3797,9 @@
"shadow", "shadow",
"style", "style",
"theme", "theme",
"translucent", "transparency"
"transparency",
"transparent"
], ],
"description": "Controls the transparency of the shadow" "description": "Controls the opacity of the shadow"
}, },
{ {
"section": "m3ElevationEnabled", "section": "m3ElevationEnabled",
@@ -3833,8 +3824,34 @@
"style", "style",
"theme" "theme"
], ],
"icon": "layers",
"description": "Material inspired shadows and elevation on modals, popouts, and dialogs" "description": "Material inspired shadows and elevation on modals, popouts, and dialogs"
}, },
{
"section": "popupTransparency",
"label": "Surface Opacity",
"tabIndex": 10,
"category": "Theme & Colors",
"keywords": [
"appearance",
"colors",
"controls",
"look",
"modal",
"modals",
"opacity",
"popouts",
"popup",
"scheme",
"shell",
"style",
"surface",
"surfaces",
"theme",
"transparency"
],
"description": "Controls opacity of shell surfaces, popouts, and modals"
},
{ {
"section": "syncModeWithPortal", "section": "syncModeWithPortal",
"label": "Sync Mode with Portal", "label": "Sync Mode with Portal",
@@ -3966,35 +3983,6 @@
"icon": "palette", "icon": "palette",
"description": "Select the palette algorithm used for wallpaper-based colors" "description": "Select the palette algorithm used for wallpaper-based colors"
}, },
{
"section": "popupTransparency",
"label": "Transparency",
"tabIndex": 10,
"category": "Theme & Colors",
"keywords": [
"alpha",
"appearance",
"colors",
"content",
"controls",
"layers",
"look",
"modal",
"modals",
"opacity",
"popouts",
"popup",
"scheme",
"style",
"surface",
"their",
"theme",
"translucent",
"transparency",
"transparent"
],
"description": "Controls opacity of all popouts, modals, and their content layers"
},
{ {
"section": "matugenTemplateVscode", "section": "matugenTemplateVscode",
"label": "VS Code", "label": "VS Code",
@@ -4563,6 +4551,27 @@
], ],
"description": "Automatically lock the screen when DMS starts" "description": "Automatically lock the screen when DMS starts"
}, },
{
"section": "lockBeforeSuspend",
"label": "Lock before suspend",
"tabIndex": 11,
"category": "Lock Screen",
"keywords": [
"automatic",
"automatically",
"before",
"lock",
"login",
"password",
"prepares",
"screen",
"security",
"sleep",
"suspend",
"system"
],
"description": "Automatically lock the screen when the system prepares to suspend"
},
{ {
"section": "lockScreenNotificationMode", "section": "lockScreenNotificationMode",
"label": "Notification Display", "label": "Notification Display",
@@ -5470,6 +5479,26 @@
], ],
"icon": "dashboard" "icon": "dashboard"
}, },
{
"section": "notificationBodyFontSize",
"label": "Body Font Size",
"tabIndex": 17,
"category": "Notifications",
"keywords": [
"alert",
"alerts",
"body",
"font",
"messages",
"notif",
"notification",
"notifications",
"size",
"text",
"toast"
],
"description": "Set the font size for notification body text (htmlBody)"
},
{ {
"section": "notificationCompactMode", "section": "notificationCompactMode",
"label": "Compact", "label": "Compact",
@@ -5867,22 +5896,19 @@
"keywords": [ "keywords": [
"alert", "alert",
"alerts", "alerts",
"appear", "font",
"choose",
"location",
"messages", "messages",
"notif", "notif",
"notification", "notification",
"notifications", "notifications",
"popup",
"popups", "popups",
"position", "size",
"screen", "summary",
"toast", "text",
"where" "toast"
], ],
"icon": "notifications", "icon": "notifications",
"description": "Choose where notification popups appear on screen" "description": "Set the font size for notification summary text"
}, },
{ {
"section": "notificationRules", "section": "notificationRules",
@@ -6032,6 +6058,26 @@
], ],
"description": "Hide notification content until expanded; popups show collapsed by default" "description": "Hide notification content until expanded; popups show collapsed by default"
}, },
{
"section": "notificationSummaryFontSize",
"label": "Summary Font Size",
"tabIndex": 17,
"category": "Notifications",
"keywords": [
"alert",
"alerts",
"font",
"messages",
"notif",
"notification",
"notifications",
"size",
"summary",
"text",
"toast"
],
"description": "Set the font size for notification summary text"
},
{ {
"section": "notificationDedupeEnabled", "section": "notificationDedupeEnabled",
"label": "Suppress Duplicate Notifications", "label": "Suppress Duplicate Notifications",
@@ -6054,6 +6100,32 @@
"toast" "toast"
] ]
}, },
{
"section": "notificationShowTimeoutBar",
"label": "Timeout Progress Bar",
"tabIndex": 17,
"category": "Notifications",
"keywords": [
"alerts",
"bar",
"countdown",
"drains",
"messages",
"notification",
"notifications",
"panel",
"popup",
"progress",
"show",
"statusbar",
"taskbar",
"timeout",
"timer",
"toast",
"topbar"
],
"description": "Show a bar that drains as the popup"
},
{ {
"section": "osdAlwaysShowValue", "section": "osdAlwaysShowValue",
"label": "Always Show Percentage", "label": "Always Show Percentage",
@@ -6697,27 +6769,6 @@
"icon": "schedule", "icon": "schedule",
"description": "Gradually fade the screen before locking with a configurable grace period" "description": "Gradually fade the screen before locking with a configurable grace period"
}, },
{
"section": "lockBeforeSuspend",
"label": "Lock before suspend",
"tabIndex": 21,
"category": "Power & Sleep",
"keywords": [
"automatically",
"before",
"energy",
"lock",
"power",
"prepares",
"screen",
"security",
"shutdown",
"sleep",
"suspend",
"system"
],
"description": "Automatically lock the screen when the system prepares to suspend"
},
{ {
"section": "fadeToLockGracePeriod", "section": "fadeToLockGracePeriod",
"label": "Lock fade grace period", "label": "Lock fade grace period",
@@ -7119,6 +7170,36 @@
], ],
"description": "Maximum number of entries that can be saved" "description": "Maximum number of entries that can be saved"
}, },
{
"section": "clipboardVisibleEntryActions",
"label": "Visible Entry Actions",
"tabIndex": 23,
"category": "System",
"keywords": [
"action",
"actions",
"appear",
"buttons",
"choose",
"clipboard",
"cliphist",
"copy",
"delete",
"density",
"edit",
"entries",
"entry",
"hide",
"history",
"linux",
"os",
"paste",
"pin",
"system",
"visible"
],
"description": "Choose which action buttons appear on clipboard entries"
},
{ {
"section": "_tab_24", "section": "_tab_24",
"label": "Displays", "label": "Displays",
@@ -8399,7 +8480,7 @@
"topbar", "topbar",
"window" "window"
], ],
"icon": "crop_square", "icon": "layers",
"description": "Use custom gaps instead of bar spacing", "description": "Use custom gaps instead of bar spacing",
"conditionKey": "isNiri" "conditionKey": "isNiri"
}, },