1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-18 00:55:20 -04:00

fix(settings): dedupe search index tab entries (#2643)

This commit is contained in:
jbwfu
2026-06-16 04:50:41 +08:00
committed by GitHub
parent 53cea7023f
commit a6ab3bab4c
2 changed files with 33 additions and 119 deletions
@@ -452,8 +452,14 @@ def parse_tabs_from_sidebar(sidebar_file):
return tabs
def generate_tab_entries(sidebar_file):
def generate_tab_entries(sidebar_file, settings_entries=None):
tabs = parse_tabs_from_sidebar(sidebar_file)
settings_entries = settings_entries or []
highlightable_labels = {
(entry["tabIndex"], entry["label"])
for entry in settings_entries
if not str(entry["section"]).startswith("_tab_")
}
label_counts = Counter([t["label"] for t in tabs])
@@ -466,6 +472,9 @@ def generate_tab_entries(sidebar_file):
)
category = TAB_CATEGORY_MAP.get(tab["tabIndex"], "Settings")
if (tab["tabIndex"], label) in highlightable_labels:
continue
keywords = enrich_keywords(tab["label"], None, category, [])
if tab["parent"]:
@@ -543,7 +552,7 @@ def main():
print("Extracting settings search index...")
settings_entries = extract_settings_index(root_dir)
tab_entries = generate_tab_entries(sidebar_file)
tab_entries = generate_tab_entries(sidebar_file, settings_entries)
all_entries = tab_entries + settings_entries
@@ -428,6 +428,28 @@
],
"description": "Automatically determine your location using your IP address"
},
{
"section": "calendarBackend",
"label": "Calendar Backend",
"tabIndex": 1,
"category": "Time & Weather",
"keywords": [
"backend",
"calendar",
"clock",
"daemon",
"dankcalendar",
"date",
"day",
"events",
"forecast",
"khal",
"month",
"time",
"weather",
"year"
]
},
{
"section": "dateFormat",
"label": "Date Format",
@@ -1818,21 +1840,6 @@
"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",
@@ -6369,25 +6376,6 @@
],
"description": "Choose where on-screen displays appear on screen"
},
{
"section": "_tab_18",
"label": "On-screen Displays",
"tabIndex": 18,
"category": "On-screen Displays",
"keywords": [
"displays",
"indicator",
"monitor",
"monitors",
"osd",
"output",
"outputs",
"popup",
"screen",
"screens"
],
"icon": "tune"
},
{
"section": "osd",
"label": "On-screen Displays",
@@ -6523,20 +6511,6 @@
"icon": "tune",
"description": "Open a terminal and run a custom command instead of the in-shell upgrade flow."
},
{
"section": "_tab_20",
"label": "System Updater",
"tabIndex": 20,
"category": "System Updater",
"keywords": [
"packages",
"system",
"updater",
"updates",
"upgrade"
],
"icon": "refresh"
},
{
"section": "systemUpdater",
"label": "System Updater",
@@ -7991,19 +7965,6 @@
],
"description": "Reveal the arcs where surfaces meet the frame"
},
{
"section": "_tab_33",
"label": "Frame",
"tabIndex": 33,
"category": "Frame",
"keywords": [
"border",
"decoration",
"frame",
"window"
],
"icon": "frame_source"
},
{
"section": "frameEnabled",
"label": "Frame",
@@ -8882,23 +8843,6 @@
],
"description": "Space between windows"
},
{
"section": "_tab_38",
"label": "Window Rules",
"tabIndex": 38,
"category": "Applications",
"keywords": [
"applications",
"apps",
"floating",
"matching",
"programs",
"rules",
"window"
],
"icon": "select_window",
"conditionKey": "windowRulesCapable"
},
{
"section": "windowRules",
"label": "Window Rules",
@@ -8922,19 +8866,6 @@
"description": "Define compositor rules for window behavior",
"conditionKey": "windowRulesCapable"
},
{
"section": "_tab_39",
"label": "Ethernet",
"tabIndex": 39,
"category": "Network",
"keywords": [
"connectivity",
"ethernet",
"network",
"online"
],
"icon": "settings_ethernet"
},
{
"section": "networkEthernet",
"label": "Ethernet",
@@ -8951,19 +8882,6 @@
],
"icon": "settings_ethernet"
},
{
"section": "_tab_40",
"label": "WiFi",
"tabIndex": 40,
"category": "Network",
"keywords": [
"connectivity",
"network",
"online",
"wifi"
],
"icon": "wifi"
},
{
"section": "networkWifi",
"label": "WiFi",
@@ -8982,19 +8900,6 @@
],
"icon": "wifi"
},
{
"section": "_tab_41",
"label": "VPN",
"tabIndex": 41,
"category": "Network",
"keywords": [
"connectivity",
"network",
"online",
"vpn"
],
"icon": "vpn_key"
},
{
"section": "networkVpn",
"label": "VPN",