BaseWindowConstructorOptions 对象
width整数 (可选) - 窗口的宽度,以像素为单位。默认值为800。height整数 (可选) - 窗口的高度,以像素为单位。默认值为600。x整数 (可选) - (如果使用了 y,则为必需) 窗口相对于屏幕的左侧偏移量。默认情况下,窗口居中显示。y整数 (可选) - (如果使用了 x,则为必需) 窗口相对于屏幕的顶部偏移量。默认情况下,窗口居中显示。useContentSize布尔值 (可选) -width和height将用作网页的大小,这意味着实际窗口的大小将包括窗口框架的大小,并且会稍大一些。默认值为false。center布尔值 (可选) - 将窗口显示在屏幕中央。默认值为false。minWidth整数 (可选) - 窗口的最小宽度。默认值为0。minHeight整数 (可选) - 窗口的最小高度。默认值为0。maxWidth整数 (可选) - 窗口的最大宽度。默认值是没有限制。maxHeight整数 (可选) - 窗口的最大高度。默认值是没有限制。resizable布尔值 (可选) - 是否允许调整窗口大小。默认值为true。movable布尔值 (可选) macOS Windows - 是否允许移动窗口。在 Linux 上未实现。默认值为true。minimizable布尔值 (可选) macOS Windows - 是否允许最小化窗口。在 Linux 上未实现。默认值为true。maximizable布尔值 (可选) macOS Windows - 是否允许最大化窗口。在 Linux 上未实现。默认值为true。closable布尔值 (可选) macOS Windows - 是否允许关闭窗口。在 Linux 上未实现。默认值为true。focusable布尔值 (可选) - 是否允许将焦点设置到窗口。默认值为true。在 Windows 上,将focusable设置为false也会暗示将skipTaskbar设置为true。在 Linux 上,将focusable设置为false会使窗口停止与窗口管理器交互,因此窗口将始终位于所有工作区的最上方。alwaysOnTop布尔值 (可选) - 是否使窗口始终位于其他窗口的上方。默认值为false。fullscreen布尔值 (可选) - 是否以全屏模式显示窗口。当显式设置为false时,macOS 上的全屏按钮将被隐藏或禁用。默认值为false。fullscreenable布尔值 (可选) - 是否允许将窗口置于全屏模式。在 macOS 上,也决定最大化/缩放按钮是切换全屏模式还是最大化窗口。默认值为true。simpleFullscreen布尔值 (可选) macOS - 在 macOS 上使用 Lion 之前的全屏模式。默认值为false。skipTaskbar布尔值 (可选) macOS Windows - 是否在任务栏中显示窗口。默认值为false。hiddenInMissionControl布尔值 (可选) macOS - 用户切换到 Mission Control 时,是否隐藏窗口。kiosk布尔值 (可选) - 窗口是否处于亭亭模式。默认值为false。title字符串 (可选) - 默认窗口标题。默认值为"Electron"。如果通过loadURL()加载的 HTML 文件中定义了<title>标签,则此属性将被忽略。icon(NativeImage | 字符串) (可选) - 窗口图标。在 Windows 上,建议使用ICO图标以获得最佳视觉效果,也可以将其留空,以便使用可执行文件的图标。show布尔值 (可选) - 窗口创建时是否应显示。默认值为true。frame布尔值 (可选) - 指定false以创建 无边框窗口。默认值为true。parentBaseWindow (可选) - 指定父窗口。默认值为null。modal布尔值 (可选) - 是否为模态窗口。只有当窗口是子窗口时才有效。默认值为false。acceptFirstMouse布尔值 (可选) macOS - 是否单击非活动窗口也会单击穿透到 Web 内容。默认值为 macOS 上的false。此选项在其他平台上不可配置。disableAutoHideCursor布尔值 (可选) - 是否在键入时隐藏光标。默认值为false。autoHideMenuBar布尔值 (可选) Linux Windows - 除非按下Alt键,否则自动隐藏菜单栏。默认值为false。enableLargerThanScreen布尔值 (可选) macOS - 启用窗口调整大小到大于屏幕。仅适用于 macOS,因为其他操作系统默认允许大于屏幕的窗口。backgroundColor字符串 (可选) - 窗口的背景颜色,采用十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式。如果transparent设置为true,则支持 #AARRGGBB 格式中的 Alpha 值。默认值为#FFF(白色)。有关更多信息,请参阅 win.setBackgroundColor。hasShadow布尔值 (可选) - 窗口是否应具有阴影。默认值为true。opacity数字 (可选) macOS Windows - 设置窗口的初始不透明度,介于 0.0(完全透明)和 1.0(完全不透明)之间。这仅在 Windows 和 macOS 上实现。darkTheme布尔值 (可选) - 强制为窗口使用深色主题,仅适用于某些 GTK+3 桌面环境。默认值为false。transparent布尔值 (可选) - 使窗口 透明。默认值为false。在 Windows 上,除非窗口是无边框窗口,否则无法工作。当您将View添加到BaseWindow时,您需要在该视图上调用view.setBackgroundColor,并使用透明的背景颜色,才能使其背景也透明。type字符串 (可选) - 窗口的类型,默认值为普通窗口。有关更多信息,请参见下文。visualEffectState字符串 (可选) macOS - 指定如何在 macOS 上根据窗口活动状态反映材料外观。必须与vibrancy属性一起使用。可能的值是followWindow- 后台应自动在窗口处于活动状态时显示为活动状态,并在窗口不处于活动状态时显示为非活动状态。这是默认值。active- 后台应始终显示为活动状态。inactive- 后台应始终显示为非活动状态。
titleBarStyle字符串 (可选) - 窗口标题栏的样式。默认值为default。可能的值是default- 结果是 macOS 或 Windows 分别标准的标题栏。hidden- 结果是隐藏的标题栏和全尺寸内容窗口。在 macOS 上,窗口仍然在左上角具有标准的窗口控件(“交通灯”)。在 Windows 和 Linux 上,与titleBarOverlay: true结合使用时,将激活窗口控件叠加(请参阅titleBarOverlay以获取更多信息),否则将不显示任何窗口控件。hiddenInsetmacOS - 结果是隐藏的标题栏,具有替代外观,其中交通灯按钮略微从窗口边缘缩进。customButtonsOnHovermacOS - 结果是隐藏的标题栏和全尺寸内容窗口,交通灯按钮将在窗口左上角悬停时显示。注意:此选项当前是实验性的。
titleBarOverlay对象 | 布尔值 (可选) - 在 macOS 上使用无边框窗口并结合使用win.setWindowButtonVisibility(true),或使用titleBarStyle使得标准的窗口控件(macOS 上的“交通灯”)可见时,此属性启用窗口控件叠加 JavaScript APIs 和 CSS Environment Variables。指定true将导致具有默认系统颜色的叠加层。默认值为false。color字符串 (可选) Windows Linux - 启用时窗口控件叠加的 CSS 颜色。symbolColor字符串 (可选) Windows Linux - 启用时窗口控件叠加上符号的 CSS 颜色。height整数 (可选) - 标题栏和窗口控件叠加的高度,以像素为单位。默认值为系统高度。
accentColor布尔值 | 字符串 (可选) Windows - 窗口的强调色。默认情况下,遵循系统设置中的用户偏好设置。设置为false以显式禁用,或以十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式设置颜色。将忽略 Alpha 值。trafficLightPositionPoint (可选) macOS - 设置无边框窗口中交通灯按钮的自定义位置。roundedCorners布尔值 (可选) macOS Windows - 是否使无边框窗口具有圆角。在 Windows 11 Build 22000 之前的版本上,此属性无效,并且无边框窗口将没有圆角。thickFrame布尔值 (可选) Windows - 在 Windows 上为无边框窗口使用WS_THICKFRAME样式,这将添加标准的窗口框架。将其设置为false将删除窗口阴影和窗口动画,并禁用通过拖动窗口边缘来调整窗口大小的功能。默认值为true。vibrancy字符串 (可选) macOS - 在 macOS 上为窗口添加一种活力效果。可以是appearance-based、titlebar、selection、menu、popover、sidebar、header、sheet、window、hud、fullscreen-ui、tooltip、content、under-window或under-page。backgroundMaterial字符串 (可选) Windows - 设置窗口的系统绘制背景材质,包括非客户端区域之外。可以是auto、none、mica、acrylic或tabbed。有关更多信息,请参阅 win.setBackgroundMaterial。zoomToPageWidth布尔值 (可选) macOS - 控制在 macOS 上选项点击工具栏上的绿色停止按钮或点击“窗口 > 缩放”菜单项时的行为。如果为true,窗口将增长到网页的首选宽度进行缩放,false将使其缩放到屏幕宽度。这也会影响直接调用maximize()时的行为。默认值为false。tabbingIdentifier字符串 (可选) macOS - 标签组名称,允许将窗口作为原生标签打开。具有相同标签标识符的窗口将被分组在一起。这还会为您的窗口的标签栏添加原生的新标签按钮,并允许您的app和窗口接收new-window-for-tab事件。
在使用 minWidth/maxWidth/ minHeight/maxHeight 设置最小或最大窗口大小时,它仅限制用户。它不会阻止您传递不符合大小约束的尺寸到 setBounds/setSize 或 BrowserWindow 的构造函数。
type 选项的可能值和行为取决于平台。可能的值是
- 在 Linux 上,可能的类型是
desktop、dock、toolbar、splash、notification。desktop类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。但是,请注意,桌面窗口将不会接收焦点、键盘或鼠标事件。您仍然可以使用 globalShortcut 偶尔接收输入。dock类型创建类似停靠站的窗口行为。toolbar类型创建具有工具栏外观的窗口。splash类型表现出特定的方式。即使窗口的 body 的 CSS 样式包含 -webkit-app-region: drag,它也无法拖动。此类型通常用于启动画面。notification类型创建的行为类似于系统通知的窗口。
- 在 macOS 上,可能的类型是
desktop、textured、panel。textured类型添加金属渐变外观。此选项已弃用。desktop类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。请注意,桌面窗口将不会接收焦点、键盘或鼠标事件,但您可以使用globalShortcut偶尔接收输入。panel类型通过在运行时添加通常为 NSPanel 保留的NSWindowStyleMaskNonactivatingPanel样式遮罩,使窗口能够在全屏应用程序之上浮动。此外,窗口将出现在所有空间(桌面)上。
- 在 Windows 上,可能的类型是
toolbar。