type NivaSize = { width: number; height: number };
type NivaPosition = { x: number; y: number };
interface WindowRootMenu {
label: string;
enabled?: boolean;
children: MenuOptions;
}
type WindowMenuOptions = Array<WindowRootMenu>;
interface NivaWindowOptions {
entry?: string;
devtools?: boolean;
title?: string;
icon?: string;
theme?: string;
size?: NivaSize;
minSize?: NivaSize;
maxSize?: NivaSize;
position?: NivaPosition;
resizable?: boolean;
minimizable?: boolean;
maximizable?: boolean;
closable?: boolean;
fullscreen?: boolean;
maximized?: boolean;
visible?: boolean;
transparent?: boolean;
decorations?: boolean;
alwaysOnTop?: boolean;
alwaysOnBottom?: boolean;
visibleOnAllWorkspaces?: boolean;
focused?: boolean;
contentProtection?: boolean;
parentWindow?: number;
movableByWindowBackground?: boolean;
titleBarTransparent?: boolean;
titleBarHidden?: boolean;
titleBarButtonsHidden?: boolean;
titleHidden?: boolean;
fullSizeContentView?: boolean;
resizeIncrements?: NivaSize;
disallowHiDpi?: boolean;
hasShadow?: boolean;
automaticWindowTabbing?: boolean;
tabbingIdentifier?: string;
parentWindow?: number;
ownerWindow?: number;
taskbarIcon?: string;
skipTaskbar?: boolean;
undecoratedShadow?: boolean;
menu?: WindowMenuOptions;
}