feat: frameless title bar for Windows/Linux with native overlay controls

Use titleBarStyle: 'hidden' + titleBarOverlay on Win/Linux to remove the
ugly native title bar and menu bar while keeping OS-rendered min/max/close
buttons. Hidden Edit menu preserves keyboard shortcuts (Ctrl+C/V/X/Z/A).
Title bar drag region and separator line rendered via web frontend, with
colors matching the Aether Drift design system.

Also adds electron-builder metadata (description, author, homepage,
artifactName) and multi-size icons for cross-platform builds.
This commit is contained in:
Jannis Braun
2026-03-16 06:16:43 +01:00
parent cd2f1e52ef
commit 7a86cde67e
15 changed files with 41 additions and 9 deletions
+5 -4
View File
@@ -7,7 +7,7 @@ import { JoinPage } from './components/JoinPage';
import { SwAutoUpdate } from './components/ui/SwUpdatePrompt';
import { ScreenSharePicker } from './components/voice/ScreenSharePicker';
import { useAuthStore } from './stores/authStore';
import { isElectronMac } from './platform/platform';
import { isElectron } from './platform/platform';
function ProtectedRoute({ children }: { children: React.ReactNode }) {
const token = useAuthStore((s) => s.token);
@@ -29,13 +29,14 @@ function AuthRedirect({ children }: { children: React.ReactNode }) {
}
export function App() {
const showTitleBar = isElectronMac();
const showTitleBar = isElectron();
return (
<div className={`flex flex-col ${showTitleBar ? 'h-screen' : 'contents'}`}>
{showTitleBar && (
{showTitleBar && <>
<div className="h-8 flex-shrink-0 bg-surface-base titlebar-drag" />
)}
<div className="h-px flex-shrink-0 bg-border-hard" />
</>}
<div className={showTitleBar ? 'flex-1 min-h-0' : 'contents'}>
<SwAutoUpdate />
<ScreenSharePicker />