24 lines
671 B
TypeScript
24 lines
671 B
TypeScript
import type { BrowserWindowConstructorOptions } from 'electron';
|
|
|
|
type NativeWindowMaterialOptions = Pick<
|
|
BrowserWindowConstructorOptions,
|
|
'backgroundColor' | 'transparent' | 'vibrancy' | 'visualEffectState'
|
|
>;
|
|
|
|
/**
|
|
* Use the native macOS material only where Electron and the window manager
|
|
* support it. Other platforms keep the normal opaque window as a safe fallback.
|
|
*/
|
|
export function getNativeWindowMaterialOptions(
|
|
platform: NodeJS.Platform,
|
|
): NativeWindowMaterialOptions {
|
|
if (platform !== 'darwin') return {};
|
|
|
|
return {
|
|
backgroundColor: '#00000000',
|
|
transparent: true,
|
|
vibrancy: 'under-window',
|
|
visualEffectState: 'active',
|
|
};
|
|
}
|