mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-17 00:34:01 -04:00
desktop: add right click context menu for actions on compositors where
it doesnt interfere, with a setting to turn it off Some compositors like kwin/labwc/sway cannot have this without breaking some built in layering they do. niri can have this, but for focus follow mouse it may need to be disabled. fixes #3717
This commit is contained in:
@@ -1131,6 +1131,7 @@ Singleton {
|
||||
|
||||
property var desktopWidgetInstances: Spec.SPEC.desktopWidgetInstances.def
|
||||
property var desktopWidgetGroups: Spec.SPEC.desktopWidgetGroups.def
|
||||
property string desktopContextMenu: Spec.SPEC.desktopContextMenu.def
|
||||
property var lockScreenWidgetInstances: Spec.SPEC.lockScreenWidgetInstances.def
|
||||
property var greeterWidgetInstances: Spec.SPEC.greeterWidgetInstances.def
|
||||
property bool greeterFollowLockScreen: Spec.SPEC.greeterFollowLockScreen.def
|
||||
|
||||
@@ -1493,6 +1493,9 @@ var LOCAL_SPEC = {
|
||||
desktopWidgetGroups: {
|
||||
def: []
|
||||
},
|
||||
desktopContextMenu: {
|
||||
def: "auto"
|
||||
},
|
||||
builtInPluginSettings: {
|
||||
def: {}
|
||||
},
|
||||
|
||||
@@ -61,6 +61,10 @@ Item {
|
||||
|
||||
DesktopWidgetEditor {}
|
||||
|
||||
DesktopContextMenu {
|
||||
Component.onCompleted: PopoutService.desktopContextMenu = this
|
||||
}
|
||||
|
||||
Lock {
|
||||
id: lock
|
||||
}
|
||||
|
||||
@@ -393,7 +393,10 @@ Item {
|
||||
hint: modelData.category
|
||||
accent: SettingsTabs.accentFor(modelData.page || SettingsTabs.pageForTabIndex(modelData.tabIndex))
|
||||
active: root.searchSelectedIndex === index
|
||||
onClicked: keyboard => root.selectSearchResult(modelData, keyboard)
|
||||
onClicked: keyboard => {
|
||||
root.searchSelectedIndex = index;
|
||||
root.selectSearchResult(modelData, keyboard);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -152,10 +152,9 @@ DBottomSheet {
|
||||
signal chosen(string widgetId)
|
||||
signal toggleRequested
|
||||
|
||||
height: expanded ? items.y + items.implicitHeight + Theme.spacingL : collapsedHeight
|
||||
height: expanded ? itemsClip.y + items.implicitHeight + Theme.spacingL : collapsedHeight
|
||||
radius: Theme.cornerRadiusXL
|
||||
color: CcMetrics.rowColor
|
||||
clip: true
|
||||
|
||||
Behavior on height {
|
||||
enabled: CcMetrics.animationsEnabled
|
||||
@@ -237,15 +236,22 @@ DBottomSheet {
|
||||
}
|
||||
}
|
||||
|
||||
PreviewGrid {
|
||||
id: items
|
||||
Item {
|
||||
id: itemsClip
|
||||
x: Theme.spacingL
|
||||
y: header.height + Theme.spacingM
|
||||
width: parent.width - Theme.spacingL * 2
|
||||
entries: card.entries
|
||||
height: Math.max(0, card.height - y)
|
||||
visible: card.height > card.collapsedHeight
|
||||
enabled: card.expanded
|
||||
onChosen: widgetId => card.chosen(widgetId)
|
||||
clip: true
|
||||
|
||||
PreviewGrid {
|
||||
id: items
|
||||
width: parent.width
|
||||
entries: card.entries
|
||||
enabled: card.expanded
|
||||
onChosen: widgetId => card.chosen(widgetId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
DContextMenu {
|
||||
id: root
|
||||
|
||||
layerNamespace: "dms:desktop-context-menu"
|
||||
keyboardNavigable: true
|
||||
menuItems: [
|
||||
{
|
||||
type: "item",
|
||||
icon: "add",
|
||||
text: I18n.tr("Add widget"),
|
||||
action: () => DesktopWidgetRegistry.startEditing(root.targetScreen, true)
|
||||
},
|
||||
{
|
||||
type: "item",
|
||||
icon: "edit",
|
||||
text: I18n.tr("Edit widgets"),
|
||||
action: () => DesktopWidgetRegistry.startEditing(root.targetScreen, false)
|
||||
},
|
||||
{
|
||||
type: "separator"
|
||||
},
|
||||
{
|
||||
type: "item",
|
||||
icon: "wallpaper",
|
||||
text: I18n.tr("Wallpaper & colors"),
|
||||
action: () => PopoutService.openSettingsWithTab("personalization")
|
||||
},
|
||||
{
|
||||
type: "item",
|
||||
icon: "widgets",
|
||||
text: I18n.tr("Desktop widgets"),
|
||||
action: () => PopoutService.openSettingsWithTab("desktop_widgets")
|
||||
},
|
||||
{
|
||||
type: "item",
|
||||
icon: "monitor",
|
||||
text: I18n.tr("Displays"),
|
||||
action: () => PopoutService.openSettingsWithTab("displays")
|
||||
}
|
||||
]
|
||||
|
||||
onBackdropRightClicked: (x, y) => open(targetScreen, x, y, false)
|
||||
}
|
||||
@@ -81,7 +81,10 @@ FocusScope {
|
||||
}
|
||||
|
||||
focus: true
|
||||
Component.onCompleted: forceActiveFocus()
|
||||
Component.onCompleted: {
|
||||
libraryOpen = DesktopWidgetRegistry.libraryScreen === editLayer.screenName;
|
||||
forceActiveFocus();
|
||||
}
|
||||
Keys.onEscapePressed: dismiss()
|
||||
|
||||
MouseArea {
|
||||
|
||||
@@ -103,7 +103,7 @@ Column {
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: root.currentMode === "custom" ? customChip.height + Theme.spacingM : 0
|
||||
height: root.currentMode === "custom" ? customChip.y + customChip.height + Theme.spacingM : 0
|
||||
opacity: root.currentMode === "custom" ? 1 : 0
|
||||
clip: true
|
||||
|
||||
@@ -127,6 +127,7 @@ Column {
|
||||
id: customChip
|
||||
|
||||
x: SettingsMetrics.rowPaddingH
|
||||
y: Theme.focusRingOffset
|
||||
width: parent.width - SettingsMetrics.rowPaddingH * 2
|
||||
height: Theme.listItemHeight
|
||||
radius: Theme.cornerRadiusM
|
||||
|
||||
@@ -613,6 +613,18 @@ Item {
|
||||
tags: ["widget", "style", "pills", "segments", "opacity", "padding", "maximize"]
|
||||
visible: bar.selectedBarConfig?.enabled ?? false
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "barNoBackground"
|
||||
tags: ["transparent", "background", "invisible"]
|
||||
text: I18n.tr("Background")
|
||||
resetStore: bar
|
||||
resetKeys: ["noBackground"]
|
||||
checked: !(bar.selectedBarConfig?.noBackground ?? false)
|
||||
onToggled: checked => SettingsData.updateBarConfig(bar.selectedBarId, {
|
||||
noBackground: !checked
|
||||
})
|
||||
}
|
||||
|
||||
SettingsRow {
|
||||
settingKey: "barWidgetStyle"
|
||||
tags: ["widget", "style", "segments", "pills", "flat", "connected", "group"]
|
||||
@@ -689,18 +701,6 @@ Item {
|
||||
})
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "barNoBackground"
|
||||
tags: ["transparent", "background", "invisible"]
|
||||
text: I18n.tr("Background")
|
||||
resetStore: bar
|
||||
resetKeys: ["noBackground"]
|
||||
checked: !(bar.selectedBarConfig?.noBackground ?? false)
|
||||
onToggled: checked => SettingsData.updateBarConfig(bar.selectedBarId, {
|
||||
noBackground: !checked
|
||||
})
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "barMaximizeWidgetIcons"
|
||||
tags: ["maximize", "icons", "stretch"]
|
||||
|
||||
@@ -17,6 +17,7 @@ Item {
|
||||
}
|
||||
|
||||
readonly property bool selectedIslandEnabled: bar.selectedBarIsIsland && (bar.selectedBarConfig?.enabled ?? false)
|
||||
readonly property string clickThroughHint: I18n.tr("Disabled by Click through", "bar hover popouts card, Click through is the Advanced toggle name")
|
||||
readonly property bool selectedIslandFree: bar.selectedBarIsIsland && SettingsData.islandFreePlacement(bar.selectedBarConfig)
|
||||
readonly property bool selectedIslandDocked: bar.selectedBarIsIsland && !selectedIslandFree
|
||||
readonly property int placementIndex: !bar.islandSetting("islandFloating") ? 0 : (bar.islandSetting("islandPlacement") === "free" ? 2 : 1)
|
||||
@@ -405,6 +406,7 @@ Item {
|
||||
tags: ["bar", "hover", "popout", "reveal", "widget", "delay"]
|
||||
iconName: "touch_app"
|
||||
title: I18n.tr("Hover popouts")
|
||||
description: enabled ? "" : root.clickThroughHint
|
||||
visible: bar.selectedBarConfig?.enabled ?? false
|
||||
enabled: !(bar.selectedBarConfig?.clickThrough ?? false)
|
||||
opacity: (bar.selectedBarConfig?.clickThrough ?? false) ? 0.5 : 1.0
|
||||
|
||||
@@ -97,6 +97,24 @@ Item {
|
||||
SettingsPage {
|
||||
id: mainColumn
|
||||
|
||||
SettingsCard {
|
||||
settingKey: "desktopGeneral"
|
||||
tags: ["desktop", "context", "menu", "right click", "wallpaper"]
|
||||
width: parent.width
|
||||
iconName: "mouse"
|
||||
title: I18n.tr("General")
|
||||
|
||||
SettingsDropdownRow {
|
||||
settingKey: "desktopContextMenu"
|
||||
text: I18n.tr("Right-click menu")
|
||||
description: I18n.tr("Auto turns it off on compositors that use clicks on the empty desktop themselves", "desktop context menu dropdown description")
|
||||
options: [I18n.tr("Auto"), I18n.tr("On"), I18n.tr("Off")]
|
||||
readonly property var values: ["auto", "on", "off"]
|
||||
currentValue: options[Math.max(0, values.indexOf(SettingsData.desktopContextMenu))]
|
||||
onValueChanged: value => SettingsData.set("desktopContextMenu", values[options.indexOf(value)])
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
settingKey: "desktopWidgetGroups"
|
||||
tags: ["groups", "profiles", "layouts"]
|
||||
|
||||
@@ -122,13 +122,13 @@ Item {
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: themeCategoryGroup.implicitHeight
|
||||
height: themeCategoryGroup.implicitHeight + Theme.focusRingOffset * 2
|
||||
clip: true
|
||||
|
||||
DButtonGroup {
|
||||
id: themeCategoryGroup
|
||||
arrowKeysSelect: false
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.centerIn: parent
|
||||
buttonPadding: parent.width < 420 ? Theme.spacingS : Theme.spacingL
|
||||
minButtonWidth: parent.width < 420 ? 44 : 64
|
||||
textSize: parent.width < 420 ? Theme.fontSizeSmall : Theme.fontSizeMedium
|
||||
@@ -660,14 +660,14 @@ Item {
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: flavorButtonGroup.implicitHeight
|
||||
height: flavorButtonGroup.implicitHeight + Theme.focusRingOffset * 2
|
||||
clip: true
|
||||
visible: variantSelector.isMultiVariant && variantSelector.flavorOptions.length > 1
|
||||
|
||||
DButtonGroup {
|
||||
id: flavorButtonGroup
|
||||
arrowKeysSelect: false
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.centerIn: parent
|
||||
property int _count: variantSelector.flavorNames.length
|
||||
property real _maxPerItem: _count > 1 ? (parent.width - (_count - 1) * spacing) / _count : parent.width
|
||||
buttonPadding: _maxPerItem < 55 ? Theme.spacingXS : (_maxPerItem < 75 ? Theme.spacingS : Theme.spacingL)
|
||||
@@ -737,14 +737,14 @@ Item {
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: variantButtonGroup.implicitHeight
|
||||
height: variantButtonGroup.implicitHeight + Theme.focusRingOffset * 2
|
||||
clip: true
|
||||
visible: !variantSelector.isMultiVariant && variantSelector.variantNames.length > 0
|
||||
|
||||
DButtonGroup {
|
||||
id: variantButtonGroup
|
||||
arrowKeysSelect: false
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.centerIn: parent
|
||||
property int _count: variantSelector.variantNames.length
|
||||
property real _maxPerItem: _count > 1 ? (parent.width - (_count - 1) * spacing) / _count : parent.width
|
||||
buttonPadding: _maxPerItem < 55 ? Theme.spacingXS : (_maxPerItem < 75 ? Theme.spacingS : Theme.spacingL)
|
||||
|
||||
@@ -85,7 +85,7 @@ Item {
|
||||
Item {
|
||||
width: parent.width
|
||||
visible: root.checked || height > 0
|
||||
height: root.checked ? control.height + SettingsMetrics.rowPaddingV : 0
|
||||
height: root.checked ? control.y + control.height + SettingsMetrics.rowPaddingV : 0
|
||||
clip: true
|
||||
|
||||
Behavior on height {
|
||||
@@ -104,6 +104,7 @@ Item {
|
||||
SettingsSliderControl {
|
||||
id: control
|
||||
x: SettingsMetrics.rowPaddingH
|
||||
y: Theme.focusRingOffset
|
||||
width: parent.width - SettingsMetrics.rowPaddingH * 2
|
||||
enabled: root.checked
|
||||
value: root.value
|
||||
|
||||
@@ -13,6 +13,16 @@ Variants {
|
||||
// An entry present in PanelWindow.onCompleted means we're recreating
|
||||
// after a wl_output rebind, not at initial startup.
|
||||
property var _seenScreens: ({})
|
||||
readonly property bool desktopMenuEnabled: {
|
||||
switch (SettingsData.desktopContextMenu) {
|
||||
case "on":
|
||||
return true;
|
||||
case "off":
|
||||
return false;
|
||||
default:
|
||||
return !CompositorService.reservesDesktopInput;
|
||||
}
|
||||
}
|
||||
model: SettingsData.getFilteredScreens("wallpaper")
|
||||
|
||||
PanelWindow {
|
||||
@@ -36,8 +46,18 @@ Variants {
|
||||
|
||||
updatesEnabled: root.renderActive || root._settleFrames > 0
|
||||
|
||||
mask: Region {
|
||||
item: Item {}
|
||||
Region {
|
||||
id: emptyRegion
|
||||
}
|
||||
|
||||
mask: variants.desktopMenuEnabled ? null : emptyRegion
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
z: 1
|
||||
enabled: variants.desktopMenuEnabled
|
||||
acceptedButtons: Qt.RightButton
|
||||
onClicked: mouse => PopoutService.desktopContextMenu?.open(wallpaperWindow.screen, mouse.x, mouse.y, false)
|
||||
}
|
||||
|
||||
Item {
|
||||
|
||||
@@ -25,6 +25,7 @@ Singleton {
|
||||
property bool isLabwc: false
|
||||
property bool isAqueous: false
|
||||
property bool isUmbriel: false
|
||||
property bool isKwin: false
|
||||
property string compositor: "unknown"
|
||||
property bool compositorDetected: false
|
||||
property bool outputPowerAvailable: false
|
||||
@@ -145,6 +146,8 @@ Singleton {
|
||||
readonly property bool supportsPersistentWorkspaces: isHyprland || isMango || isSway || isScroll || isMiracle
|
||||
readonly property bool supportsWorkspaceUrgency: isKnownCompositor && !isLabwc
|
||||
readonly property bool supportsWorkspaceFollowFocus: isKnownCompositor && !isLabwc
|
||||
// labwc root menu and desktop scroll, sway/scroll --whole-window binds, plasmashell desktop menu
|
||||
readonly property bool reservesDesktopInput: isLabwc || isSway || isScroll || isKwin
|
||||
readonly property bool supportsSmartDock: isNiri || isHyprland || isMango || isAqueous
|
||||
readonly property bool supportsNativeOverview: isNiri || isAqueous
|
||||
readonly property bool supportsPointerConfig: isNiri || isMango
|
||||
@@ -170,6 +173,8 @@ Singleton {
|
||||
return "Aqueous";
|
||||
case "umbriel":
|
||||
return "Umbriel";
|
||||
case "kwin":
|
||||
return "KWin";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
@@ -1413,6 +1418,8 @@ Singleton {
|
||||
return "aqueous";
|
||||
case "umbriel":
|
||||
return "umbriel";
|
||||
case "kwin_wayland":
|
||||
return "kwin";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
@@ -1428,6 +1435,7 @@ Singleton {
|
||||
isLabwc = name === "labwc";
|
||||
isAqueous = name === "aqueous";
|
||||
isUmbriel = name === "umbriel";
|
||||
isKwin = name === "kwin";
|
||||
compositor = name;
|
||||
compositorDetected = true;
|
||||
if (isNiri)
|
||||
@@ -1601,6 +1609,12 @@ Singleton {
|
||||
present: !!hyprlandSignature,
|
||||
test: ["test", "-S", runtimeDir + "/hypr/" + hyprlandSignature + "/.socket.sock"],
|
||||
detail: "HYPRLAND_INSTANCE_SIGNATURE " + hyprlandSignature
|
||||
},
|
||||
{
|
||||
name: "kwin",
|
||||
present: !!Quickshell.env("KDE_FULL_SESSION"),
|
||||
test: ["pgrep", "-x", "kwin_wayland"],
|
||||
detail: "KDE_FULL_SESSION"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -12,9 +12,20 @@ Singleton {
|
||||
property var registeredWidgets: ({})
|
||||
property var registeredWidgetsList: []
|
||||
property bool editing: false
|
||||
property string libraryScreen: ""
|
||||
|
||||
signal registryChanged
|
||||
|
||||
onEditingChanged: {
|
||||
if (!editing)
|
||||
libraryScreen = "";
|
||||
}
|
||||
|
||||
function startEditing(screen, openLibrary) {
|
||||
libraryScreen = openLibrary ? (screen?.name ?? "") : "";
|
||||
editing = true;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
registerBuiltins();
|
||||
registerLockBuiltins();
|
||||
|
||||
@@ -32,6 +32,7 @@ Singleton {
|
||||
property var clipboardHistoryPopout: null
|
||||
property var clipboardHistoryPopoutLoader: null
|
||||
|
||||
property var desktopContextMenu: null
|
||||
property var settingsModal: null
|
||||
property var settingsModalLoader: null
|
||||
property var clipboardHistoryModal: null
|
||||
|
||||
@@ -79,7 +79,8 @@ Singleton {
|
||||
"frameEnabled": () => SettingsData.frameEnabled,
|
||||
"islandEnabled": () => SettingsData.islandBarConfigs.length > 0,
|
||||
"dotEnabled": () => SettingsData.dotBarConfig?.enabled ?? false,
|
||||
"cellularAvailable": () => NetworkService.cellularAvailable
|
||||
"cellularAvailable": () => NetworkService.cellularAvailable,
|
||||
"dockEnabled": () => (SettingsData.dockConfigs ?? []).some(dock => dock.enabled)
|
||||
})
|
||||
|
||||
property var pluginSettingLabels: ({})
|
||||
|
||||
@@ -406,6 +406,8 @@ def find_settings_components(content, filename, wrappers, tab_meta, hub_meta):
|
||||
if file_tab_index == -1 and not file_page:
|
||||
return results
|
||||
|
||||
card_conditions = []
|
||||
|
||||
for component in SEARCHABLE_COMPONENTS + sorted(wrappers):
|
||||
defaults = wrappers.get(component, {})
|
||||
pattern = rf"\b{component}\s*\{{"
|
||||
@@ -413,6 +415,7 @@ def find_settings_components(content, filename, wrappers, tab_meta, hub_meta):
|
||||
block = parse_component_block(content, match.start(), component)
|
||||
if not block:
|
||||
continue
|
||||
block_end = content.index(block, match.start()) + len(block)
|
||||
|
||||
setting_key = extract_property(block, "settingKey") or defaults.get("settingKey")
|
||||
if setting_key:
|
||||
@@ -502,6 +505,8 @@ def find_settings_components(content, filename, wrappers, tab_meta, hub_meta):
|
||||
condition_key = "dmsConnected"
|
||||
elif "Theme.matugenAvailable" in visible_raw:
|
||||
condition_key = "matugenAvailable"
|
||||
elif "dock.config.enabled" in visible_raw:
|
||||
condition_key = "dockEnabled"
|
||||
if filename in BAR_TAB_FILES and not condition_key:
|
||||
if setting_key.startswith("frame"):
|
||||
condition_key = "frameEnabled"
|
||||
@@ -509,6 +514,10 @@ def find_settings_components(content, filename, wrappers, tab_meta, hub_meta):
|
||||
condition_key = "islandEnabled"
|
||||
if filename == "DDotTab.qml" and not condition_key and setting_key != "dotEnabled":
|
||||
condition_key = "dotEnabled"
|
||||
if component == "SettingsCard":
|
||||
card_conditions.append((match.start(), block_end, condition_key if extract_property(own, "visible") else None))
|
||||
elif not condition_key:
|
||||
condition_key = next((cond for start, end, cond in card_conditions if start < match.start() < end), None)
|
||||
|
||||
category, parent_label, _ = page_meta if page_meta else tab_meta.get(tab_index, TAB_META_DEFAULT)
|
||||
enriched_keywords = enrich_keywords(label, description, category, tags, parent_label)
|
||||
|
||||
@@ -4605,7 +4605,8 @@
|
||||
"panel",
|
||||
"taskbar"
|
||||
],
|
||||
"parentLabel": "Dock"
|
||||
"parentLabel": "Dock",
|
||||
"conditionKey": "dockEnabled"
|
||||
},
|
||||
{
|
||||
"section": "dockDisplays",
|
||||
@@ -4672,7 +4673,8 @@
|
||||
"widgets"
|
||||
],
|
||||
"parentLabel": "Dock",
|
||||
"icon": "edit"
|
||||
"icon": "edit",
|
||||
"conditionKey": "dockEnabled"
|
||||
},
|
||||
{
|
||||
"section": "dockLayout",
|
||||
@@ -4711,7 +4713,8 @@
|
||||
"space",
|
||||
"taskbar"
|
||||
],
|
||||
"parentLabel": "Dock"
|
||||
"parentLabel": "Dock",
|
||||
"conditionKey": "dockEnabled"
|
||||
},
|
||||
{
|
||||
"section": "dockSmartAutoHide",
|
||||
@@ -4767,7 +4770,8 @@
|
||||
],
|
||||
"parentLabel": "Dock",
|
||||
"icon": "visibility_off",
|
||||
"description": "Hides only while a window overlaps the dock"
|
||||
"description": "Hides only while a window overlaps the dock",
|
||||
"conditionKey": "dockEnabled"
|
||||
},
|
||||
{
|
||||
"section": "barNoBackground",
|
||||
@@ -6423,7 +6427,8 @@
|
||||
"start",
|
||||
"start menu",
|
||||
"style"
|
||||
]
|
||||
],
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "niriOverviewOverlayEnabled",
|
||||
@@ -6446,7 +6451,8 @@
|
||||
"start menu",
|
||||
"typing"
|
||||
],
|
||||
"description": "Typing in the overview opens the launcher"
|
||||
"description": "Typing in the overview opens the launcher",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "launcherNiriOverview",
|
||||
@@ -6902,7 +6908,8 @@
|
||||
"wallpaper colors"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"description": "Regenerate matugen colors when DMS starts, even if nothing changed."
|
||||
"description": "Regenerate matugen colors when DMS starts, even if nothing changed.",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenSpec",
|
||||
@@ -11459,6 +11466,33 @@
|
||||
"icon": "widgets",
|
||||
"description": "Clocks, monitors, plugins"
|
||||
},
|
||||
{
|
||||
"section": "desktopGeneral",
|
||||
"label": "General",
|
||||
"tabIndex": 27,
|
||||
"category": "Desktop widgets",
|
||||
"keywords": [
|
||||
"auto",
|
||||
"clicks",
|
||||
"components",
|
||||
"compositors",
|
||||
"conky",
|
||||
"context",
|
||||
"desktop",
|
||||
"desktop clock",
|
||||
"empty",
|
||||
"general",
|
||||
"menu",
|
||||
"modules",
|
||||
"right click",
|
||||
"themselves",
|
||||
"turns",
|
||||
"wallpaper",
|
||||
"widgets"
|
||||
],
|
||||
"icon": "mouse",
|
||||
"description": "Auto turns it off on compositors that use clicks on the empty desktop themselves"
|
||||
},
|
||||
{
|
||||
"section": "desktopWidgetGroups",
|
||||
"label": "Groups",
|
||||
@@ -11477,6 +11511,30 @@
|
||||
],
|
||||
"icon": "folder"
|
||||
},
|
||||
{
|
||||
"section": "desktopContextMenu",
|
||||
"label": "Right-click menu",
|
||||
"tabIndex": 27,
|
||||
"category": "Desktop widgets",
|
||||
"keywords": [
|
||||
"auto",
|
||||
"click",
|
||||
"clicks",
|
||||
"components",
|
||||
"compositors",
|
||||
"conky",
|
||||
"desktop",
|
||||
"desktop clock",
|
||||
"empty",
|
||||
"menu",
|
||||
"modules",
|
||||
"right",
|
||||
"themselves",
|
||||
"turns",
|
||||
"widgets"
|
||||
],
|
||||
"description": "Auto turns it off on compositors that use clicks on the empty desktop themselves"
|
||||
},
|
||||
{
|
||||
"section": "pluginDirectory",
|
||||
"label": "Directory",
|
||||
@@ -14491,7 +14549,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "_tab_50",
|
||||
@@ -14554,7 +14613,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateEmacs",
|
||||
@@ -14580,7 +14640,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateFcitx5",
|
||||
@@ -14607,7 +14668,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateFirefox",
|
||||
@@ -14633,7 +14695,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateNeovimSetBackground",
|
||||
@@ -14663,7 +14726,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateGtk",
|
||||
@@ -14689,7 +14753,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "systemAppTheming",
|
||||
@@ -14744,7 +14809,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateHyprland",
|
||||
@@ -14770,7 +14836,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateKcolorscheme",
|
||||
@@ -14797,7 +14864,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplates",
|
||||
@@ -14898,7 +14966,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "runUserMatugenTemplates",
|
||||
@@ -14932,7 +15001,8 @@
|
||||
"wallpaper colors"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"description": "Also runs the templates in your matugen config.toml"
|
||||
"description": "Also runs the templates in your matugen config.toml",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "syncModeWithPortal",
|
||||
@@ -15036,7 +15106,8 @@
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"description": "Requires the DMS Theme extension from the editor marketplace"
|
||||
"description": "Requires the DMS Theme extension from the editor marketplace",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateWezterm",
|
||||
@@ -15063,7 +15134,8 @@
|
||||
"wallpaper",
|
||||
"wezterm"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateZed",
|
||||
@@ -15089,7 +15161,8 @@
|
||||
"wallpaper",
|
||||
"zed"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateDgop",
|
||||
@@ -15115,7 +15188,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateEquibop",
|
||||
@@ -15142,7 +15216,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateFoot",
|
||||
@@ -15169,7 +15244,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateKitty",
|
||||
@@ -15196,7 +15272,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateMangowc",
|
||||
@@ -15222,7 +15299,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateNeovim",
|
||||
@@ -15251,7 +15329,8 @@
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"description": "Required plugin: "
|
||||
"description": "Required plugin: ",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateNiri",
|
||||
@@ -15277,7 +15356,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplatePywalfox",
|
||||
@@ -15303,7 +15383,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateQt5ct",
|
||||
@@ -15329,7 +15410,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateQt6ct",
|
||||
@@ -15355,7 +15437,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateQtengine",
|
||||
@@ -15382,7 +15465,8 @@
|
||||
"tint",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateVencord",
|
||||
@@ -15409,7 +15493,8 @@
|
||||
"vencord",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateVesktop",
|
||||
@@ -15436,7 +15521,8 @@
|
||||
"vesktop",
|
||||
"wallpaper"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateZenBrowser",
|
||||
@@ -15462,7 +15548,8 @@
|
||||
"wallpaper",
|
||||
"zenbrowser"
|
||||
],
|
||||
"parentLabel": "Wallpaper & colors"
|
||||
"parentLabel": "Wallpaper & colors",
|
||||
"conditionKey": "matugenAvailable"
|
||||
},
|
||||
{
|
||||
"section": "themeModeAutoEnabled",
|
||||
|
||||
Reference in New Issue
Block a user