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
布尔值 (可选) - 窗口是否处于 kiosk 模式。默认值为false
。title
字符串 (可选) - 默认窗口标题。默认值为"Electron"
。如果loadURL()
加载的 HTML 文件中定义了<title>
标签,则此属性将被忽略。icon
(NativeImage | 字符串) (可选) - 窗口图标。在 Windows 上,建议使用ICO
图标以获得最佳视觉效果,也可以省略此属性,此时将使用可执行文件的图标。show
布尔值 (可选) - 创建时窗口是否应显示。默认值为true
。frame
布尔值 (可选) - 指定false
以创建无边框窗口。默认值为true
。parent
BaseWindow (可选) - 指定父窗口。默认值为null
。modal
布尔值 (可选) - 此窗口是否为模态窗口。这仅在窗口是子窗口时有效。默认值为false
。acceptFirstMouse
布尔值 (可选) macOS - 点击非活动窗口时是否也允许点击穿透到网页内容。在 macOS 上默认为false
。此选项在其他平台上不可配置。disableAutoHideCursor
布尔值 (可选) - 输入时是否隐藏光标。默认值为false
。autoHideMenuBar
布尔值 (可选) Linux Windows - 自动隐藏菜单栏,除非按下Alt
键。默认值为false
。enableLargerThanScreen
布尔值 (可选) macOS - 允许窗口调整大小超过屏幕。仅对 macOS 相关,因为其他操作系统默认允许大于屏幕的窗口。默认值为false
。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 上,除非窗口是无边框的,否则无效。type
字符串 (可选) - 窗口类型,默认为普通窗口。有关更多信息,请参阅下方。visualEffectState
字符串 (可选) macOS - 指定 macOS 上材料外观应如何反映窗口活动状态。必须与vibrancy
属性一起使用。可能的值为followWindow
- 背景应在窗口处于活动状态时自动显示为活动状态,在窗口不处于活动状态时显示为非活动状态。这是默认值。active
- 背景应始终显示为活动状态。inactive
- 背景应始终显示为非活动状态。
titleBarStyle
字符串 (可选) - 窗口标题栏的样式。默认值为default
。可能的值为default
- 在 macOS 或 Windows 上显示标准的标题栏。hidden
- 显示一个隐藏的标题栏和一个全尺寸内容窗口。在 macOS 上,窗口仍然在左上角有标准的窗口控件(“交通灯”)。在 Windows 和 Linux 上,当与titleBarOverlay: true
结合使用时,将激活窗口控件覆盖层(有关更多信息,请参阅titleBarOverlay
),否则不显示任何窗口控件。hiddenInset
macOS - 显示一个隐藏的标题栏,并具有替代外观,其中交通灯按钮会从窗口边缘稍微内缩。customButtonsOnHover
macOS - 显示一个隐藏的标题栏和一个全尺寸内容窗口,交通灯按钮将在鼠标悬停在窗口左上角时显示。注意:此选项目前处于实验阶段。
titleBarOverlay
对象 | 布尔值 (可选) - 当使用无边框窗口并结合 macOS 上的win.setWindowButtonVisibility(true)
或使用titleBarStyle
使标准窗口控件(macOS 上的“交通灯”)可见时,此属性启用窗口控件覆盖层 JavaScript API 和 CSS 环境变量。指定true
将使用默认系统颜色的覆盖层。默认值为false
。color
字符串 (可选) Windows Linux - 启用窗口控件覆盖层时的 CSS 颜色。默认为系统颜色。symbolColor
字符串 (可选) Windows Linux - 启用窗口控件覆盖层时符号的 CSS 颜色。默认为系统颜色。height
整数 (可选) - 标题栏和窗口控件覆盖层的高度(像素)。默认为系统高度。
accentColor
布尔值 | 字符串 (可选) Windows - 窗口的强调色。默认情况下,遵循系统设置中的用户偏好。设置为false
可显式禁用,或以十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式设置颜色。Alpha 值将被忽略。trafficLightPosition
Point (可选) macOS - 在无边框窗口中设置交通灯按钮的自定义位置。roundedCorners
布尔值 (可选) macOS Windows - 无边框窗口是否应具有圆角。默认值为true
。将此属性设置为false
将阻止窗口在 macOS 上全屏。在 Windows 11 Build 22000 之前的版本中,此属性无效,无边框窗口不会有圆角。thickFrame
布尔值 (可选) - 在 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 上选项点击工具栏上的绿色停止灯按钮或点击 Window > Zoom 菜单项时的行为。如果为true
,窗口将根据网页的首选宽度进行缩放,如果为false
,则会缩放到屏幕宽度。这也会影响直接调用maximize()
的行为。默认值为false
。tabbingIdentifier
字符串 (可选) 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
。