From 8f028b3cb99fc442cdbb79cad944b40b4b85283d Mon Sep 17 00:00:00 2001 From: retrozinndev Date: Fri, 11 Apr 2025 17:35:52 -0300 Subject: [PATCH] :sparkles: ags(scripts/apps): better icon-getter functions --- ags/scripts/apps.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/ags/scripts/apps.ts b/ags/scripts/apps.ts index 5356c95..a6d17d2 100644 --- a/ags/scripts/apps.ts +++ b/ags/scripts/apps.ts @@ -36,7 +36,7 @@ export function getAppsByName(appName: string): (Array|un return (found.length > 0 ? found : undefined); } -export function getAppIcon(appName: string): (string|undefined) { +export function getIconByAppName(appName: string): (string|undefined) { if(Astal.Icon.lookup_icon(appName)) return appName; @@ -51,5 +51,18 @@ export function getAppIcon(appName: string): (string|undefined) { if(Boolean(found)) return found?.iconName; - return "application-x-executable-symbolic"; + return undefined; +} + +export function getAppIcon(app: (string|AstalApps.Application)): (string|undefined) { + if(typeof app === "string") + return getIconByAppName(app); + + if(app.iconName) + return app.iconName; + + if(app.wmClass) + return getIconByAppName(app.wmClass); + + return getIconByAppName(app.name); }