From 76072e1d4c4f221ebd78e3865dc765e3e7262932 Mon Sep 17 00:00:00 2001 From: bbedward Date: Wed, 18 Feb 2026 23:47:00 -0500 Subject: [PATCH] launcher: always heuristic lookup cached entries --- .../Modals/DankLauncherV2/Controller.qml | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/quickshell/Modals/DankLauncherV2/Controller.qml b/quickshell/Modals/DankLauncherV2/Controller.qml index a1b086c3..184f3d83 100644 --- a/quickshell/Modals/DankLauncherV2/Controller.qml +++ b/quickshell/Modals/DankLauncherV2/Controller.qml @@ -1614,25 +1614,41 @@ Item { itemExecuted(); } - function launchApp(app) { + function _resolveDesktopEntry(app) { if (!app) + return null; + if (app.command) + return app; + var id = app.id || app.execString || app.exec || ""; + if (!id) + return null; + return DesktopEntries.heuristicLookup(id); + } + + function launchApp(app) { + var entry = _resolveDesktopEntry(app); + if (!entry) return; - SessionService.launchDesktopEntry(app); - AppUsageHistoryData.addAppUsage(app); + SessionService.launchDesktopEntry(entry); + AppUsageHistoryData.addAppUsage(entry); } function launchAppWithNvidia(app) { - if (!app) + var entry = _resolveDesktopEntry(app); + if (!entry) return; - SessionService.launchDesktopEntry(app, true); - AppUsageHistoryData.addAppUsage(app); + SessionService.launchDesktopEntry(entry, true); + AppUsageHistoryData.addAppUsage(entry); } function launchAppAction(actionItem) { - if (!actionItem || !actionItem.parentApp || !actionItem.actionData) + if (!actionItem || !actionItem.actionData) return; - SessionService.launchDesktopAction(actionItem.parentApp, actionItem.actionData); - AppUsageHistoryData.addAppUsage(actionItem.parentApp); + var entry = _resolveDesktopEntry(actionItem.parentApp); + if (!entry) + return; + SessionService.launchDesktopAction(entry, actionItem.actionData); + AppUsageHistoryData.addAppUsage(entry); } function openFile(path) {