From 8610b915ec97c8d68d32db1a10c1ff69f7790453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=E1=BB=B3nh=20Thi=E1=BB=87n=20L=E1=BB=99c?= Date: Sun, 21 Jun 2026 14:51:44 +0700 Subject: [PATCH] feat: add option to hide package source badges in launcher (#2676) --- quickshell/Common/SettingsData.qml | 1 + quickshell/Common/settings/SettingsSpec.js | 1 + .../Modals/DankLauncherV2/SourceBadge.qml | 3 +- quickshell/Modules/Settings/LauncherTab.qml | 9 ++++++ .../translations/settings_search_index.json | 28 +++++++++++++++++++ 5 files changed, 41 insertions(+), 1 deletion(-) diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index 41320ab2..a308c430 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -465,6 +465,7 @@ Singleton { onAppDrawerSectionViewModesChanged: saveSettings() property bool niriOverviewOverlayEnabled: true property string dankLauncherV2Size: "compact" + property bool dankLauncherV2ShowSourceBadges: true property bool dankLauncherV2BorderEnabled: false property int dankLauncherV2BorderThickness: 2 property string dankLauncherV2BorderColor: "primary" diff --git a/quickshell/Common/settings/SettingsSpec.js b/quickshell/Common/settings/SettingsSpec.js index 20d0c9b2..312c6cad 100644 --- a/quickshell/Common/settings/SettingsSpec.js +++ b/quickshell/Common/settings/SettingsSpec.js @@ -227,6 +227,7 @@ var SPEC = { appDrawerSectionViewModes: { def: {} }, niriOverviewOverlayEnabled: { def: true }, dankLauncherV2Size: { def: "compact" }, + dankLauncherV2ShowSourceBadges: { def: true }, dankLauncherV2BorderEnabled: { def: false }, dankLauncherV2BorderThickness: { def: 2 }, dankLauncherV2BorderColor: { def: "primary" }, diff --git a/quickshell/Modals/DankLauncherV2/SourceBadge.qml b/quickshell/Modals/DankLauncherV2/SourceBadge.qml index 98ec2414..8913e6f5 100644 --- a/quickshell/Modals/DankLauncherV2/SourceBadge.qml +++ b/quickshell/Modals/DankLauncherV2/SourceBadge.qml @@ -1,5 +1,6 @@ import QtQuick import Quickshell.Widgets +import qs.Common Item { id: root @@ -16,7 +17,7 @@ Item { readonly property string assetPath: sourceAsset[source] || "" - visible: assetPath.length > 0 + visible: SettingsData.dankLauncherV2ShowSourceBadges && assetPath.length > 0 implicitWidth: glyphSize implicitHeight: glyphSize diff --git a/quickshell/Modules/Settings/LauncherTab.qml b/quickshell/Modules/Settings/LauncherTab.qml index c0086a69..de429602 100644 --- a/quickshell/Modules/Settings/LauncherTab.qml +++ b/quickshell/Modules/Settings/LauncherTab.qml @@ -671,6 +671,15 @@ Item { onToggled: checked => SettingsData.set("dankLauncherV2UnloadOnClose", checked) } + SettingsToggleRow { + settingKey: "dankLauncherV2ShowSourceBadges" + tags: ["launcher", "appearance", "badge", "source", "flatpak"] + text: I18n.tr("Show Package Source Badges") + description: I18n.tr("Show Flatpak, Snap, AppImage, or Nix badge icons on launcher items.") + checked: SettingsData.dankLauncherV2ShowSourceBadges + onToggled: checked => SettingsData.set("dankLauncherV2ShowSourceBadges", checked) + } + SettingsToggleRow { settingKey: "dankLauncherV2BorderEnabled" tags: ["launcher", "border", "outline"] diff --git a/quickshell/translations/settings_search_index.json b/quickshell/translations/settings_search_index.json index ba37ad2c..cd2d1c6f 100644 --- a/quickshell/translations/settings_search_index.json +++ b/quickshell/translations/settings_search_index.json @@ -2679,6 +2679,34 @@ ], "description": "Show All, Apps, Files, and Plugins chips beside the Spotlight Bar input." }, + { + "section": "dankLauncherV2ShowSourceBadges", + "label": "Show Package Source Badges", + "tabIndex": 9, + "category": "Launcher", + "keywords": [ + "app drawer", + "app menu", + "appearance", + "appimage", + "applications", + "badge", + "badges", + "drawer", + "flatpak", + "icons", + "items", + "launcher", + "menu", + "package", + "show", + "snap", + "source", + "start", + "start menu" + ], + "description": "Show Flatpak, Snap, AppImage, or Nix badge icons on launcher items." + }, { "section": "launcherLogoSizeOffset", "label": "Size Offset",