mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-03-17 10:03:08 +00:00
fix: resolve desktop entry launch failure and hide Electron menu bar on Linux
- Add --ozone-platform-hint=auto before app.whenReady() so Electron auto-detects X11 vs Wayland when launched from a desktop entry where the display protocol is not guaranteed (fixes immediate crash on Fedora/GNOME Wayland sessions) - Add autoHideMenuBar: true to BrowserWindow so the default Chromium File/Edit/View/Help menu bar is hidden by default (still accessible via Alt); removes visible Electron significance from the packaged app - Add scripts/rpm-after-install.sh and wire it via afterInstall in the electron-builder RPM config to chmod 4755 chrome-sandbox, ensuring the setuid sandbox works on kernels with restricted user namespaces Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,9 @@ export function createWindow(): void {
|
||||
contextIsolation: true,
|
||||
nodeIntegration: false,
|
||||
},
|
||||
// Hide the default Electron/Chromium menu bar on Linux (File/Edit/View/Help).
|
||||
// It still appears on Alt-press so keyboard-only users aren't locked out.
|
||||
autoHideMenuBar: true,
|
||||
// titleBarStyle is macOS-only; use hiddenInset for native look on macOS
|
||||
...(process.platform === 'darwin' && { titleBarStyle: 'hiddenInset' as const }),
|
||||
backgroundColor: '#0a0a0a',
|
||||
|
||||
@@ -48,6 +48,13 @@ if (isDev) {
|
||||
}
|
||||
}
|
||||
|
||||
// On Linux, auto-detect X11 vs Wayland so the app launches correctly from
|
||||
// desktop entries where the display protocol isn't guaranteed to be X11.
|
||||
// Must be set before app.whenReady() — has no effect on macOS/Windows.
|
||||
if (process.platform === 'linux') {
|
||||
app.commandLine.appendSwitch('ozone-platform-hint', 'auto');
|
||||
}
|
||||
|
||||
// Register IPC handlers
|
||||
registerAllHandlers();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user