summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/Icons.qml20
1 files changed, 15 insertions, 5 deletions
diff --git a/utils/Icons.qml b/utils/Icons.qml
index 391e39c..ca3917c 100644
--- a/utils/Icons.qml
+++ b/utils/Icons.qml
@@ -102,9 +102,7 @@ Singleton {
"395": "snowing"
})
- readonly property var desktopEntrySubs: ({
- Firefox: "firefox"
- })
+ readonly property var desktopEntrySubs: ({})
readonly property var categoryIcons: ({
WebBrowser: "web",
@@ -149,9 +147,21 @@ Singleton {
property string osIcon: ""
property string osName
+ function getDesktopEntry(name: string): DesktopEntry {
+ name = name.toLowerCase().replace(/ /g, "-");
+
+ if (desktopEntrySubs.hasOwnProperty(name))
+ name = desktopEntrySubs[name];
+
+ return DesktopEntries.applications.values.find(a => a.id.toLowerCase() === name) ?? null;
+ }
+
+ function getAppIcon(name: string): string {
+ return Quickshell.iconPath(getDesktopEntry(name)?.icon, "image-missing");
+ }
+
function getAppCategoryIcon(name: string, fallback: string): string {
- const lName = name.toLowerCase();
- const categories = DesktopEntries.applications.values.find(app => app.id.toLowerCase() === lName)?.categories;
+ const categories = getDesktopEntry(name)?.categories;
if (categories)
for (const [key, value] of Object.entries(categoryIcons))