From 7777e87dc8592f46bdf53b05ed127dff62eb115f Mon Sep 17 00:00:00 2001 From: purian23 Date: Fri, 12 Jun 2026 14:57:25 -0400 Subject: [PATCH] refactor(settings): reorg to break out sections and verbiage --- .../Modals/Settings/SettingsSidebar.qml | 16 +- .../Modules/Settings/CompositorLayoutTab.qml | 4 +- quickshell/Modules/Settings/DankBarTab.qml | 135 ++++--- quickshell/Modules/Settings/DockTab.qml | 6 +- .../Modules/Settings/ThemeColorsTab.qml | 214 +++++----- .../translations/settings_search_index.json | 381 +++++++++++------- 6 files changed, 423 insertions(+), 333 deletions(-) diff --git a/quickshell/Modals/Settings/SettingsSidebar.qml b/quickshell/Modals/Settings/SettingsSidebar.qml index dc50ec21..0e3c2cdb 100644 --- a/quickshell/Modals/Settings/SettingsSidebar.qml +++ b/quickshell/Modals/Settings/SettingsSidebar.qml @@ -105,8 +105,8 @@ Rectangle { }, { "id": "compositor_layout", - "text": CompositorService.isNiri ? "niri" : (CompositorService.isHyprland ? "Hyprland" : "MangoWC"), - "icon": "crop_square", + "text": CompositorService.isNiri ? "Niri" : (CompositorService.isHyprland ? "Hyprland" : "MangoWC"), + "icon": "layers", "tabIndex": 37, "layoutCapable": true } @@ -117,18 +117,18 @@ Rectangle { "text": I18n.tr("Dank Bar"), "icon": "toolbar", "children": [ - { - "id": "dankbar_settings", - "text": I18n.tr("Settings"), - "icon": "tune", - "tabIndex": 3 - }, { "id": "dankbar_appearance", "text": I18n.tr("Appearance"), "icon": "palette", "tabIndex": 6 }, + { + "id": "dankbar_settings", + "text": I18n.tr("Settings"), + "icon": "tune", + "tabIndex": 3 + }, { "id": "dankbar_widgets", "text": I18n.tr("Widgets"), diff --git a/quickshell/Modules/Settings/CompositorLayoutTab.qml b/quickshell/Modules/Settings/CompositorLayoutTab.qml index 9f3c0ffd..87e11cd5 100644 --- a/quickshell/Modules/Settings/CompositorLayoutTab.qml +++ b/quickshell/Modules/Settings/CompositorLayoutTab.qml @@ -23,9 +23,9 @@ Item { SettingsCard { width: parent.width tags: ["niri", "layout", "gaps", "radius", "window", "border"] - title: I18n.tr("Niri Layout Overrides").replace("Niri", "niri") + title: I18n.tr("Niri Layout Overrides") settingKey: "niriLayout" - iconName: "crop_square" + iconName: "layers" visible: CompositorService.isNiri SettingsToggleRow { diff --git a/quickshell/Modules/Settings/DankBarTab.qml b/quickshell/Modules/Settings/DankBarTab.qml index a079e32a..633e2f7f 100644 --- a/quickshell/Modules/Settings/DankBarTab.qml +++ b/quickshell/Modules/Settings/DankBarTab.qml @@ -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 { - visible: !dankBarTab.appearanceOnly && SettingsData.frameEnabled + visible: dankBarTab.appearanceOnly && SettingsData.frameEnabled parentModal: dankBarTab.parentModal settingLabel: I18n.tr("Bar spacing and size") reason: I18n.tr("Managed by Frame") } SettingsCard { + tab: "appearance" iconName: "space_bar" title: I18n.tr("Spacing") settingKey: "barSpacing" - visible: !dankBarTab.appearanceOnly && (selectedBarConfig?.enabled ?? false) && !SettingsData.frameEnabled + visible: dankBarTab.appearanceOnly && (selectedBarConfig?.enabled ?? false) && !SettingsData.frameEnabled SettingsSliderRow { 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 { id: fontScaleSliderCard tab: "appearance" @@ -1358,7 +1359,7 @@ Item { SettingsSliderRow { id: borderOpacitySlider 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 minimum: 0 maximum: 100 @@ -1453,7 +1454,7 @@ Item { SettingsSliderRow { id: widgetOutlineOpacitySlider 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 minimum: 0 maximum: 100 @@ -1562,7 +1563,7 @@ Item { SettingsSliderRow { visible: shadowCard.shadowActive text: I18n.tr("Opacity") - description: I18n.tr("Transparency of the shadow layer") + description: I18n.tr("Controls opacity of the shadow layer") minimum: 10 maximum: 100 unit: "%" diff --git a/quickshell/Modules/Settings/DockTab.qml b/quickshell/Modules/Settings/DockTab.qml index d60f8b16..09bbd28c 100644 --- a/quickshell/Modules/Settings/DockTab.qml +++ b/quickshell/Modules/Settings/DockTab.qml @@ -643,19 +643,19 @@ Item { SettingsControlledByFrame { visible: root.connectedFrameModeActive 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") } SettingsCard { width: parent.width iconName: "opacity" - title: I18n.tr("Transparency") + title: I18n.tr("Opacity") settingKey: "dockTransparency" visible: !root.connectedFrameModeActive SettingsSliderRow { - text: I18n.tr("Dock Transparency") + text: I18n.tr("Dock Opacity") value: Math.round(SettingsData.dockTransparency * 100) minimum: 0 maximum: 100 diff --git a/quickshell/Modules/Settings/ThemeColorsTab.qml b/quickshell/Modules/Settings/ThemeColorsTab.qml index 8511ff61..9e9dc84c 100644 --- a/quickshell/Modules/Settings/ThemeColorsTab.qml +++ b/quickshell/Modules/Settings/ThemeColorsTab.qml @@ -1639,7 +1639,7 @@ Item { SettingsControlledByFrame { visible: themeColorsTab.connectedFrameModeActive parentModal: themeColorsTab.parentModal - settingLabel: I18n.tr("Transparency") + settingLabel: I18n.tr("Surface Opacity") reason: I18n.tr("Managed by Frame in Connected Mode") } @@ -1647,8 +1647,8 @@ Item { tab: "theme" tags: ["surface", "popup", "transparency", "opacity", "modal"] settingKey: "popupTransparency" - text: I18n.tr("Transparency") - description: I18n.tr("Controls opacity of all popouts, modals, and their content layers") + text: I18n.tr("Surface Opacity") + description: I18n.tr("Controls opacity of shell surfaces, popouts, and modals") visible: !themeColorsTab.connectedFrameModeActive value: Math.round(SettingsData.popupTransparency * 100) minimum: 0 @@ -1671,6 +1671,113 @@ Item { defaultValue: 12 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 { tab: "theme" @@ -1702,7 +1809,7 @@ Item { tags: ["elevation", "shadow", "opacity", "transparency", "m3"] settingKey: "m3ElevationOpacity" 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 minimum: 0 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 { tab: "theme" tags: ["modal", "darken", "background", "overlay"] diff --git a/quickshell/translations/settings_search_index.json b/quickshell/translations/settings_search_index.json index b83a7356..2fb6dd28 100644 --- a/quickshell/translations/settings_search_index.json +++ b/quickshell/translations/settings_search_index.json @@ -58,6 +58,7 @@ "targetable", "wallpaper" ], + "icon": "blur_on", "description": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.", "conditionKey": "isNiri" }, @@ -727,21 +728,6 @@ ], "icon": "dashboard" }, - { - "section": "_tab_3", - "label": "Dank Bar", - "tabIndex": 3, - "category": "Dank Bar", - "keywords": [ - "bar", - "dank", - "panel", - "statusbar", - "taskbar", - "topbar" - ], - "icon": "toolbar" - }, { "section": "barDisplay", "label": "Display Assignment", @@ -777,30 +763,19 @@ "icon": "vertical_align_center" }, { - "section": "barSpacing", - "label": "Spacing", + "section": "_tab_3", + "label": "Settings", "tabIndex": 3, "category": "Dank Bar", "keywords": [ "bar", - "between", "dank", - "edges", - "gap", - "gaps", - "margin", - "margins", - "padding", "panel", - "screen", - "space", - "spacing", + "settings", "statusbar", - "taskbar", "topbar" ], - "icon": "space_bar", - "description": "Space between the bar and screen edges" + "icon": "tune" }, { "section": "barUseOverlayLayer", @@ -1528,6 +1503,19 @@ "windows" ] }, + { + "section": "dockTransparency", + "label": "Opacity", + "tabIndex": 5, + "category": "Dock", + "keywords": [ + "dock", + "launcher bar", + "opacity", + "taskbar" + ], + "icon": "opacity" + }, { "section": "dockTrashFileManager", "label": "Open Trash With", @@ -1745,23 +1733,6 @@ ], "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", "label": "Trash", @@ -1798,21 +1769,6 @@ ], "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", "label": "Border", @@ -1862,6 +1818,21 @@ "icon": "rounded_corner", "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", "label": "Dank Bar", @@ -1982,6 +1953,25 @@ ], "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", "label": "Shadow Override", @@ -2002,6 +1992,32 @@ "icon": "layers", "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", "label": "System Tray Icon Tint", @@ -2030,28 +2046,6 @@ "icon": "filter_b_and_w", "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", "label": "Widget Outline", @@ -3792,7 +3786,6 @@ "tabIndex": 10, "category": "Theme & Colors", "keywords": [ - "alpha", "appearance", "colors", "controls", @@ -3804,11 +3797,9 @@ "shadow", "style", "theme", - "translucent", - "transparency", - "transparent" + "transparency" ], - "description": "Controls the transparency of the shadow" + "description": "Controls the opacity of the shadow" }, { "section": "m3ElevationEnabled", @@ -3833,8 +3824,34 @@ "style", "theme" ], + "icon": "layers", "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", "label": "Sync Mode with Portal", @@ -3966,35 +3983,6 @@ "icon": "palette", "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", "label": "VS Code", @@ -4563,6 +4551,27 @@ ], "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", "label": "Notification Display", @@ -5470,6 +5479,26 @@ ], "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", "label": "Compact", @@ -5867,22 +5896,19 @@ "keywords": [ "alert", "alerts", - "appear", - "choose", - "location", + "font", "messages", "notif", "notification", "notifications", - "popup", "popups", - "position", - "screen", - "toast", - "where" + "size", + "summary", + "text", + "toast" ], "icon": "notifications", - "description": "Choose where notification popups appear on screen" + "description": "Set the font size for notification summary text" }, { "section": "notificationRules", @@ -6032,6 +6058,26 @@ ], "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", "label": "Suppress Duplicate Notifications", @@ -6054,6 +6100,32 @@ "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", "label": "Always Show Percentage", @@ -6697,27 +6769,6 @@ "icon": "schedule", "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", "label": "Lock fade grace period", @@ -7119,6 +7170,36 @@ ], "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", "label": "Displays", @@ -8399,7 +8480,7 @@ "topbar", "window" ], - "icon": "crop_square", + "icon": "layers", "description": "Use custom gaps instead of bar spacing", "conditionKey": "isNiri" }, @@ -8821,4 +8902,4 @@ "description": "Define compositor rules for window behavior", "conditionKey": "windowRulesCapable" } -] +] \ No newline at end of file