BaseWindowConstructorOptions 对象
widthInteger (可选) - 窗口宽度(像素)。默认值为800。heightInteger (可选) - 窗口高度(像素)。默认值为600。xInteger (可选) - (如果使用了 y,则必需) 窗口相对于屏幕的左偏移量。默认会居中显示窗口。yInteger (可选) - (如果使用了 x,则必需) 窗口相对于屏幕的上偏移量。默认会居中显示窗口。useContentSizeboolean (可选) -width和height将被用作网页的尺寸,这意味着实际窗口的大小将包含窗口框架的大小,会稍大一些。默认值为false。centerboolean (可选) - 在屏幕中央显示窗口。默认值为false。minWidthInteger (可选) - 窗口的最小宽度。默认值为0。minHeightInteger (可选) - 窗口的最小高度。默认值为0。maxWidthInteger (可选) - 窗口的最大宽度。默认值为无限制。maxHeightInteger (可选) - 窗口的最大高度。默认值为无限制。resizableboolean (可选) - 窗口是否可调整大小。默认值为true。movableboolean (可选) macOS Windows - 窗口是否可移动。在 Linux 上未实现。默认值为true。minimizableboolean (可选) macOS Windows - 窗口是否可最小化。在 Linux 上未实现。默认值为true。maximizableboolean (可选) macOS Windows - 窗口是否可最大化。在 Linux 上未实现。默认值为true。closableboolean (可选) macOS Windows - 窗口是否可关闭。在 Linux 上未实现。默认值为true。focusableboolean (可选) - 窗口是否可以获得焦点。默认值为true。在 Windows 上,设置focusable: false也意味着设置skipTaskbar: true。在 Linux 上,设置focusable: false会使窗口停止与窗口管理器交互,因此窗口将始终保持在所有工作区的最前面。alwaysOnTopboolean (可选) - 窗口是否应始终显示在其他窗口之上。默认值为false。fullscreenboolean (可选) - 窗口是否应全屏显示。当明确设置为false时,macOS 上的全屏按钮将隐藏或禁用。默认值为false。fullscreenableboolean (可选) - 窗口是否可以进入全屏模式。在 macOS 上,还决定了最大化/缩放按钮是切换全屏模式还是最大化窗口。默认值为true。simpleFullscreenboolean (可选) macOS - 在 macOS 上使用 Lion 之前的全屏模式。默认值为false。skipTaskbarboolean (可选) macOS Windows - 窗口是否应显示在任务栏中。默认值为false。hiddenInMissionControlboolean (可选) macOS - 当用户切换到 Mission Control 时,窗口是否应隐藏。kioskboolean (可选) - 窗口是否处于 kiosk 模式。默认值为false。titlestring (可选) - 默认窗口标题。默认值为"Electron"。如果loadURL()加载的 HTML 文件中定义了<title>标签,则会忽略此属性。icon(NativeImage | string) (可选) - 窗口图标。在 Windows 上,建议使用ICO图标以获得最佳视觉效果,也可以留空,将使用可执行文件的图标。showboolean (可选) - 创建窗口时是否显示窗口。默认值为true。frameboolean (可选) - 指定false以创建无边框窗口。默认值为true。parentBaseWindow (可选) - 指定父窗口。默认值为null。modalboolean (可选) - 此窗口是否为模态窗口。这仅在窗口是子窗口时有效。默认值为false。acceptFirstMouseboolean (可选) macOS - 点击非活动窗口时是否也允许穿透到网页内容。在 macOS 上默认为false。此选项在其他平台上不可配置。disableAutoHideCursorboolean (可选) - 输入时是否隐藏光标。默认值为false。autoHideMenuBarboolean (可选) Linux Windows - 自动隐藏菜单栏,除非按下Alt键。默认值为false。enableLargerThanScreenboolean (可选) macOS - 允许窗口比屏幕更大。仅在 macOS 上相关,因为其他操作系统默认允许窗口大于屏幕。默认值为false。backgroundColorstring (可选) - 窗口的背景颜色,格式为 Hex、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色。如果设置了transparent为true,则支持 #AARRGGBB 格式的 Alpha 值。默认值为#FFF(白色)。更多信息请参阅 win.setBackgroundColor。hasShadowboolean (可选) - 窗口是否应有阴影。默认值为true。opacitynumber (可选) macOS Windows - 设置窗口的初始不透明度,介于 0.0(完全透明)和 1.0(完全不透明)之间。仅在 Windows 和 macOS 上实现。darkThemeboolean (可选) - 强制使用深色主题。仅在某些 GTK+3 桌面环境上生效。默认值为false。transparentboolean (可选) - 使窗口透明。默认值为false。在 Windows 上,除非窗口是无边框的,否则无效。typestring (可选) - 窗口类型,默认为普通窗口。更多信息请参阅下方。visualEffectStatestring (可选) macOS - 指定 macOS 上背景材质的外观如何反映窗口活动状态。必须与vibrancy属性一起使用。可能的值为:followWindow- 背景会在窗口活动时自动显示为活动状态,窗口不活动时显示为非活动状态。这是默认值。active- 背景将始终显示为活动状态。inactive- 背景将始终显示为非活动状态。
titleBarStylestring (可选) - 窗口标题栏的样式。默认值为default。可能的值为:default- 分别生成 macOS 或 Windows 的标准标题栏。hidden- 生成隐藏的标题栏和全尺寸内容窗口。在 macOS 上,窗口仍然具有左上角的标准窗口控件(“交通灯”按钮)。在 Windows 和 Linux 上,当与titleBarOverlay: true结合使用时,将激活窗口控件覆盖层(有关更多信息,请参阅titleBarOverlay),否则将不显示任何窗口控件。hiddenInsetmacOS - 生成隐藏的标题栏,并具有替代外观,其中交通灯按钮会比窗口边缘稍微内嵌。customButtonsOnHovermacOS - 生成隐藏的标题栏和全尺寸内容窗口,交通灯按钮将在窗口左上角悬停时显示。注意:此选项目前处于实验阶段。
titleBarOverlayObject | Boolean (可选) - 当使用无边框窗口并结合 macOS 上的win.setWindowButtonVisibility(true)或使用titleBarStyle使标准窗口控件(macOS 上的“交通灯”按钮)可见时,此属性会启用窗口控件覆盖层(Window Controls Overlay)的 JavaScript API 和 CSS 环境变量。指定true将生成具有默认系统颜色的覆盖层。默认值为false。colorString (可选) Windows Linux - 启用窗口控件覆盖层时的 CSS 颜色。默认值为系统颜色。symbolColorString (可选) Windows Linux - 启用窗口控件覆盖层时符号的 CSS 颜色。默认值为系统颜色。heightInteger (可选) - 标题栏和窗口控件覆盖层的高度(像素)。默认值为系统高度。
accentColorboolean | string (可选) Windows - 窗口的强调色。默认情况下,会跟随系统设置中的用户偏好。设置为false可显式禁用,或设置为 Hex、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式。Alpha 值将被忽略。trafficLightPositionPoint (可选) macOS - 在无边框窗口中设置交通灯按钮的自定义位置。roundedCornersboolean (可选) macOS Windows - 无边框窗口是否应具有圆角。默认值为true。将此属性设置为false将阻止窗口在 macOS 上全屏。在 Windows 11 Build 22000 之前的版本中,此属性无效,无边框窗口将没有圆角。thickFrameboolean (可选) Windows - 在 Windows 上为无边框窗口使用WS_THICKFRAME样式,这会添加标准的窗口边框。将其设置为false将移除窗口阴影和窗口动画,并禁用通过拖动窗口边缘进行窗口调整大小。默认值为true。vibrancystring (可选) macOS - 为窗口添加一种视觉效果,仅在 macOS 上可用。可以是appearance-based、titlebar、selection、menu、popover、sidebar、header、sheet、window、hud、fullscreen-ui、tooltip、content、under-window或under-page。backgroundMaterialstring (可选) Windows - 设置窗口的系统绘制背景材质,包括非客户端区域的后面。可以是auto、none、mica、acrylic或tabbed。更多信息请参阅 win.setBackgroundMaterial。zoomToPageWidthboolean (可选) macOS - 控制 macOS 上按住 Option 键单击工具栏上的绿色停止按钮或单击“窗口”>“缩放”菜单项时的行为。如果为true,窗口将扩大到网页的首选宽度以进行缩放;如果为false,则会缩放到屏幕宽度。这也将影响调用maximize()方法时的行为。默认值为false。tabbingIdentifierstring (可选) macOS - 标签组名称,允许将窗口打开为原生标签。具有相同 tabbingIdentifier 的窗口将被分组在一起。这还会为你的窗口标签栏添加一个原生新建标签按钮,并允许你的app和窗口接收new-window-for-tab事件。
当使用 minWidth/maxWidth/ minHeight/maxHeight 设置最小或最大窗口大小时,这仅约束用户。这不会阻止你向 setBounds/setSize 或 BrowserWindow 的构造函数传递不符合尺寸约束的值。
type 选项的可能值和行为是平台相关的。可能的值为:
- 在 Linux 上,可能的值为
desktop、dock、toolbar、splash、notification。desktop类型将窗口置于桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。但是,请注意,桌面窗口不会接收焦点、键盘或鼠标事件。你仍然可以使用 globalShortcut 来谨慎地接收输入。dock类型会创建类似 dock 的窗口行为。toolbar类型会创建具有工具栏外观的窗口。splash类型表现方式特殊。它不可拖动,即使窗口 body 的 CSS 样式包含 -webkit-app-region: drag。此类型通常用于启动屏幕。notification类型会创建表现得像系统通知的窗口。
- 在 macOS 上,可能的值为
desktop、textured、panel。textured类型会添加金属渐变外观。此选项已弃用。desktop类型将窗口置于桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会接收焦点、键盘或鼠标事件,但你可以使用globalShortcut来谨慎地接收输入。panel类型通过在运行时添加通常为 NSPanel 保留的NSWindowStyleMaskNonactivatingPanel样式掩码,使窗口可以浮动在全屏应用程序之上。此外,窗口将出现在所有空间(桌面)上。
- 在 Windows 上,可能的值为
toolbar。