summaryrefslogtreecommitdiff
path: root/utils/icons.ts
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-01-14 00:22:59 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-01-14 00:22:59 +1100
commite923d39cdeed4b42e747afc01b3420d6d89af6e6 (patch)
treea6e1c4fd3af32d2c8bcaf9d4f49226ced4c9c8c0 /utils/icons.ts
parentless border (diff)
downloadcaelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.tar.gz
caelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.tar.bz2
caelestia-shell-e923d39cdeed4b42e747afc01b3420d6d89af6e6.zip
app launcher
Diffstat (limited to 'utils/icons.ts')
-rw-r--r--utils/icons.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/utils/icons.ts b/utils/icons.ts
index dff47f3..f12aee0 100644
--- a/utils/icons.ts
+++ b/utils/icons.ts
@@ -1,4 +1,5 @@
import { Gio } from "astal";
+import type AstalApps from "gi://AstalApps";
import { Apps } from "../services/apps";
// Code points from https://www.github.com/lukas-w/font-logos
@@ -73,10 +74,12 @@ const categoryIcons: Record<string, string> = {
System: "host",
};
-export const getAppCategoryIcon = (name: string) => {
+export const getAppCategoryIcon = (nameOrApp: string | AstalApps.Application) => {
const categories =
- Gio.DesktopAppInfo.new(`${name}.desktop`)?.get_categories()?.split(";") ??
- Apps.fuzzy_query(name)[0]?.categories;
+ typeof nameOrApp === "string"
+ ? Gio.DesktopAppInfo.new(`${nameOrApp}.desktop`)?.get_categories()?.split(";") ??
+ Apps.fuzzy_query(nameOrApp)[0]?.categories
+ : nameOrApp.categories;
if (categories)
for (const [key, value] of Object.entries(categoryIcons)) if (categories.includes(key)) return value;
return "terminal";