fix(desktop): Linux AppImage tray menu and system file-manager icons

Resize Linux tray icons so StatusNotifier hosts show them, add Show/Hide/Close
context-menu actions, and resolve FreeDesktop theme icons for Open-in apps
(including the default file manager) instead of skipping Linux icon fetch.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-07-28 17:57:44 +00:00
co-authored by Serhii Dziupin
parent ca33f68c36
commit 0caff15b3e
8 changed files with 388 additions and 50 deletions
@@ -24,11 +24,11 @@ type OpenInAppOptionWithFallback = OpenInAppOption & {
const withFallbackIcon = (app: OpenInAppOption): OpenInAppOptionWithFallback => ({
...app,
fallbackIconDataUrl: app.id === 'finder' && window.__OPENCHAMBER_PLATFORM__ !== 'win32'
fallbackIconDataUrl: app.id === 'finder' && window.__OPENCHAMBER_PLATFORM__ === 'darwin'
? FINDER_DEFAULT_ICON_DATA_URL
: app.id === 'terminal'
? TERMINAL_DEFAULT_ICON_DATA_URL
: undefined,
? TERMINAL_DEFAULT_ICON_DATA_URL
: undefined,
});
const AppIcon = ({
-5
View File
@@ -936,11 +936,6 @@ export const fetchDesktopInstalledApps = async (
return { apps: [], success: false, hasCache: false, isCacheStale: false };
}
// Linux desktop does not resolve installed GUI apps; skip the IPC round-trip.
if (getElectronPlatform() === 'linux') {
return { apps: [], success: true, hasCache: false, isCacheStale: false };
}
const candidate = Array.isArray(apps) ? apps.filter((value) => typeof value === 'string') : [];
if (candidate.length === 0) {
return { apps: [], success: true, hasCache: false, isCacheStale: false };