BaseWindowConstructorOptions 对象
width
Integer (可选) - 窗口的宽度,单位为像素。默认值为800
。height
Integer (可选) - 窗口的高度,单位为像素。默认值为600
。x
Integer (可选) - (使用 y 时必须) 窗口左侧相对于屏幕的偏移量。默认值是窗口居中。y
Integer (可选) - (使用 x 时必须) 窗口顶部相对于屏幕的偏移量。默认值是窗口居中。useContentSize
boolean (可选) -width
和height
将用作网页的大小,这意味着实际窗口的大小将包含窗口框架的大小,会稍微大一些。默认值为false
。center
boolean (可选) - 在屏幕中心显示窗口。默认值为false
。minWidth
Integer (可选) - 窗口的最小宽度。默认值为0
。minHeight
Integer (可选) - 窗口的最小高度。默认值为0
。maxWidth
Integer (可选) - 窗口的最大宽度。默认值为无限制。maxHeight
Integer (可选) - 窗口的最大高度。默认值为无限制。resizable
boolean (可选) - 窗口是否可调整大小。默认值为true
。movable
boolean (可选) macOS Windows - 窗口是否可移动。此选项在 Linux 上未实现。默认值为true
。minimizable
boolean (可选) macOS Windows - 窗口是否可最小化。此选项在 Linux 上未实现。默认值为true
。maximizable
boolean (可选) macOS Windows - 窗口是否可最大化。此选项在 Linux 上未实现。默认值为true
。closable
boolean (可选) macOS Windows - 窗口是否可关闭。此选项在 Linux 上未实现。默认值为true
。focusable
boolean (可选) - 窗口是否可聚焦。默认值为true
。在 Windows 上,设置focusable: false
也意味着设置skipTaskbar: true
。在 Linux 上,设置focusable: false
会使窗口停止与窗口管理器交互,因此窗口将始终在所有工作区中保持在顶部。alwaysOnTop
boolean (可选) - 窗口是否应始终置于其他窗口之上。默认值为false
。fullscreen
boolean (可选) - 窗口是否应显示为全屏。在 macOS 上,当显式设置为false
时,全屏按钮将被隐藏或禁用。默认值为false
。fullscreenable
boolean (可选) - 窗口是否可进入全屏模式。在 macOS 上,也决定最大化/缩放按钮是切换全屏模式还是最大化窗口。默认值为true
。simpleFullscreen
boolean (可选) macOS - 在 macOS 上使用 Lion 之前的全屏模式。默认值为false
。skipTaskbar
boolean (可选) macOS Windows - 是否在任务栏中显示窗口。默认值为false
。hiddenInMissionControl
boolean (可选) macOS - 当用户切换到 Mission Control 时窗口是否应隐藏。kiosk
boolean (可选) - 窗口是否处于 kiosk 模式。默认值为false
。title
string (可选) - 默认窗口标题。默认值为"Electron"
。如果在loadURL()
加载的 HTML 文件中定义了 HTML 标签<title>
,则此属性将被忽略。icon
(NativeImage | string) (可选) - 窗口图标。在 Windows 上,建议使用ICO
图标以获得最佳视觉效果,您也可以将其留空,以便使用可执行文件的图标。show
boolean (可选) - 创建窗口时是否显示。默认值为true
。frame
boolean (可选) - 指定false
创建一个无边框窗口。默认值为true
。parent
BaseWindow (可选) - 指定父窗口。默认值为null
。modal
boolean (可选) - 是否为模态窗口。此选项仅当窗口为子窗口时有效。默认值为false
。acceptFirstMouse
boolean (可选) macOS - 点击非活动窗口是否也会将点击事件传递到网页内容。在 macOS 上默认值为false
。此选项在其他平台上不可配置。disableAutoHideCursor
boolean (可选) - 打字时是否隐藏光标。默认值为false
。autoHideMenuBar
boolean (可选) Linux Windows - 自动隐藏菜单栏,除非按下Alt
键。默认值为false
。enableLargerThanScreen
boolean (可选) macOS - 允许窗口大小调整得比屏幕更大。仅适用于 macOS,因为其他操作系统默认允许窗口大于屏幕。默认值为false
。backgroundColor
string (可选) - 窗口的背景颜色,格式可以是 Hex, RGB, RGBA, HSL, HSLA 或命名的 CSS 颜色格式。如果设置了transparent
为true
,则支持#AARRGGBB
格式的 Alpha 通道。默认值为#FFF
(白色)。有关更多信息,请参见 win.setBackgroundColor。hasShadow
boolean (可选) - 窗口是否应该有阴影。默认值为true
。opacity
number (可选) macOS Windows - 设置窗口的初始不透明度,介于 0.0 (完全透明) 和 1.0 (完全不透明) 之间。此选项仅在 Windows 和 macOS 上实现。darkTheme
boolean (可选) - 强制窗口使用深色主题,仅在部分 GTK+3 桌面环境下有效。默认值为false
。transparent
boolean (可选) - 使窗口透明。默认值为false
。在 Windows 上,除非窗口是无边框的,否则此选项无效。type
string (可选) - 窗口的类型,默认为普通窗口。详情请见下文。visualEffectState
string (可选) macOS - 指定在 macOS 上,材质外观如何反映窗口活动状态。必须与vibrancy
属性一起使用。可能的值为followWindow
- 当窗口活动时,背景应自动显示为活动状态;当窗口非活动时,应显示为非活动状态。这是默认值。active
- 背景应始终显示为活动状态。inactive
- 背景应始终显示为非活动状态。
titleBarStyle
string (可选) - 窗口标题栏的样式。默认值为default
。可能的值为default
- 分别在 macOS 或 Windows 上显示标准标题栏。hidden
- 结果是没有标题栏的全尺寸内容窗口。在 macOS 上,窗口左上角仍有标准窗口控件(“红绿灯”)。在 Windows 和 Linux 上,当与titleBarOverlay: true
结合使用时,它将激活窗口控件覆盖层(详见titleBarOverlay
),否则不显示窗口控件。hiddenInset
macOS - 结果是没有标题栏,但外观不同,红绿灯按钮距离窗口边缘略微内嵌。customButtonsOnHover
macOS - 结果是没有标题栏的全尺寸内容窗口,当鼠标悬停在窗口左上角时,红绿灯按钮会显示。注意:此选项目前是实验性的。
titleBarOverlay
Object | Boolean (可选) - 在 macOS 上将无边框窗口与win.setWindowButtonVisibility(true)
结合使用,或使用titleBarStyle
使标准窗口控件(macOS 上的“红绿灯”)可见时,此属性会启用 Window Controls Overlay JavaScript API 和 CSS 环境变量。指定true
将导致使用默认系统颜色的覆盖层。默认值为false
。color
String (可选) Windows Linux - 启用 Window Controls Overlay 时的 CSS 颜色。默认为系统颜色。symbolColor
String (可选) Windows Linux - 启用 Window Controls Overlay 时,Window Controls Overlay 上的符号的 CSS 颜色。默认为系统颜色。height
Integer (可选) - 标题栏和 Window Controls Overlay 的高度,单位为像素。默认为系统高度。
trafficLightPosition
Point (可选) macOS - 在无边框窗口中为红绿灯按钮设置自定义位置。roundedCorners
boolean (可选) macOS Windows - 无边框窗口是否应具有圆角。默认值为true
。在 macOS 上将此属性设置为false
将阻止窗口进入全屏。在低于 Windows 11 Build 22000 的 Windows 版本上,此属性无效,无边框窗口将没有圆角。thickFrame
boolean (可选) - 在 Windows 上为无边框窗口使用WS_THICKFRAME
样式,这会添加标准窗口框架。将其设置为false
将移除窗口阴影和窗口动画。默认值为true
。vibrancy
string (可选) macOS - 为窗口添加一种活跃效果 (vibrancy effect),仅在 macOS 上有效。可以是appearance-based
,titlebar
,selection
,menu
,popover
,sidebar
,header
,sheet
,window
,hud
,fullscreen-ui
,tooltip
,content
,under-window
, 或under-page
。backgroundMaterial
string (可选) Windows - 设置窗口由系统绘制的背景材质,包括非客户区后方。可以是auto
,none
,mica
,acrylic
或tabbed
。有关更多信息,请参见 win.setBackgroundMaterial。zoomToPageWidth
boolean (可选) macOS - 控制在 macOS 上 option-点击工具栏上的绿色停止按钮或点击“窗口”>“缩放”菜单项时的行为。如果为true
,窗口在缩放时将扩展到网页的首选宽度;如果为false
,将缩放到屏幕宽度。这也将影响直接调用maximize()
时的行为。默认值为false
。tabbingIdentifier
string (可选) 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
类型创建一个类似 dock 的窗口行为。toolbar
类型创建一个具有工具栏外观的窗口。splash
类型表现出一种特定行为。它不可拖动,即使窗口主体的 CSS 样式包含-webkit-app-region: drag
。此类型通常用于启动画面。notification
类型创建一个行为类似于系统通知的窗口。
- 在 macOS 上,可能的类型有
desktop
,textured
,panel
。textured
类型添加金属渐变外观。此选项已弃用。desktop
类型将窗口置于桌面背景窗口层 (kCGDesktopWindowLevel - 1
)。请注意,桌面窗口将不会接收焦点、键盘或鼠标事件,但您可以使用globalShortcut
偶尔接收输入。panel
类型通过在运行时添加通常保留给NSPanel
的NSWindowStyleMaskNonactivatingPanel
样式掩码,使窗口可以浮动在全屏应用程序之上。此外,窗口将显示在所有空间(桌面)上。
- 在 Windows 上,可能的类型是
toolbar
。