Fix: Linux tray quit and zombie icons (#24)
* Fix: Linux tray quit and zombie icons (#23) - Add before-quit handler to set isQuitting flag - Change pgrep -x to pgrep -xi for case-insensitive matching on Linux - Add antigravity-manager to self-kill exclusion filter - Destroy existing tray before creating new one in initTray() - Destroy tray in will-quit handler - Export destroyTray function for cleanup Fixes #23 Co-Authored-By: Claude Opus 4.5 <[email protected]> * Fix: Address code review feedback - Add icon validation before creating tray (isEmpty check) - Add try/catch around tray.destroy() calls for error handling - Add try/catch around destroyTray() in will-quit handler - Add explicit !manager check in Linux process filter for defensive coding Co-Authored-By: Claude Opus 4.5 <[email protected]> --------- Co-authored-by: Jirka <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]>
This commit is contained in:
3 files changed
+51
-6
No files matched your search
@@ -25,7 +25,7 @@ export async function isProcessRunning(): Promise<boolean> {
|
||||
command = `${cmd} /FI "IMAGENAME eq Antigravity.exe" /NH`;
|
||||
} else {
|
||||
// macOS and Linux (native)
|
||||
command = 'pgrep -x Antigravity';
|
||||
command = 'pgrep -xi Antigravity';
|
||||
}
|
||||
|
||||
logger.debug(`Checking process with command: ${command}`);
|
||||
@@ -189,18 +189,22 @@ export async function closeAntigravity(): Promise<void> {
|
||||
if (p.pid === currentPid) {
|
||||
return false;
|
||||
}
|
||||
// Exclude this electron app (if named Antigravity Manager)
|
||||
if (p.cmd.includes('Antigravity Manager')) {
|
||||
// Exclude this electron app (if named Antigravity Manager or antigravity-manager)
|
||||
if (p.cmd.includes('Antigravity Manager') || p.cmd.includes('antigravity-manager')) {
|
||||
return false;
|
||||
}
|
||||
// Match Antigravity
|
||||
// Match Antigravity (but not manager)
|
||||
if (platform === 'win32') {
|
||||
return (
|
||||
p.cmd.includes('Antigravity.exe') ||
|
||||
(p.cmd.includes('antigravity') && !p.cmd.includes('manager'))
|
||||
);
|
||||
} else {
|
||||
return p.cmd.includes('Antigravity') || p.cmd.includes('antigravity');
|
||||
// Explicit !manager check for Linux/macOS to be defensive
|
||||
return (
|
||||
(p.cmd.includes('Antigravity') || p.cmd.includes('antigravity')) &&
|
||||
!p.cmd.includes('manager')
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user