BaseWindow 构造 选项 对象
width
Integer (可选) - 窗口的宽度(以像素为单位)。 默认值为 800。height
Integer (可选) - 窗口的高度(以像素为单位)。 默认值为 600。x
Integer (可选) (如果y存在则必填) - 窗口相对于屏幕左侧的偏移量。 默认值为将窗口居中。y
Integer (可选) (如果x存在则必填) - 窗口相对于屏幕顶端的偏移量。 默认值为将窗口居中。useContentSize
boolean (可选) -width
和height
将作为 WEB 页面的尺寸使用,这意味着实际窗口尺寸还将加上窗口框架的尺寸,这将导致窗口尺寸比页面尺寸大一些。 默认值为:false
。center
boolean (可选) - 窗口是否在屏幕居中显示。 默认值为:false
。minWidth
Integer (可选) - 窗口的最小宽度。 默认值为0
。minHight
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 设置focus: false
使窗口停止与 wm(窗口管理器 - Windows Manager) 互动,所以窗口将始终保持在所有工作区的顶部。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 mode)。 默认值为:false
。title
string (可选) - 默认窗口标题。 默认值为:"Electron"
。 如果由loadURL()
加载的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 (可选) - 除非按下Alt
键,否则自动隐藏菜单栏。 默认值为:false
。enableLargerThanScreen
boolean (可选) macOS - 窗口尺寸调整时,是否允许超过屏幕尺寸。 仅与 macOS 相关,因为其他操作系统默认允许窗口比屏幕更大。 默认值为:false
。backgroundColor
string (可选) - 窗口的背景颜色,支持十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式。 如果transparent
设置为true
,则支持 #AARRGGBB 格式的透明度。 默认值为:#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 内, 窗口将一直拥有位于左上的标准窗口控制器 (“traffic lights”)。 在 Windows 和 Linux 上,当与titleBarOverlay: true
结合使用时,它将激活窗口控件覆盖层(有关更多信息,请参阅titleBarOverlay
),否则不会显示任何窗口控件。hiddenInset
macOS - 隐藏标题栏,并采用一种替代外观,其中交通灯按钮距离窗口边缘稍微向内缩进。customButtonsOnHover
macOS - 隐藏标题栏,并且内容窗口为完整尺寸,当鼠标悬停在窗口左上角时,交通灯按钮将会显示。 注意: 此选项目前为实验性功能。
titleBarOverlay
Object | Boolean (可选) - 在 macOS 上,当使用无边框窗口并结合win.setWindowButtonVisibility(true)
,或者使用titleBarStyle
使标准窗口控件(macOS 上的“交通灯”按钮)可见时,此属性将启用窗口控件覆盖层的 JavaScript API 和 CSS 环境变量。 指定为true
将使用默认的系统颜色覆盖层。 默认值为:false
。color
String (可选) Windows Linux - 窗口控件覆盖层启用时的 CSS 颜色。 默认是系统颜色。symbolColor
String (可选) Windows - 窗口控件覆盖层启用时上面符号的 CSS 颜色。 默认是系统颜色。height
Integer (optional) - The height of the title bar and Window Controls Overlay in pixels. 默认值为系统高度。
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 效果,仅适用于 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
,它也无法拖动。 这种类型通常用于启动窗(splash screens)。notification
类型创建一个行为类似于系统通知的窗口。
- 在 macOS 上的可选值为:
desktop
,textured
,panel
。textured
类型添加金属渐变外观。 这个配置已经被 废弃。desktop
类型将窗口置于桌面背景窗口层级(kCGDesktopWindowLevel - 1
)。 请注意,桌面窗口将无法被聚焦、无法接收键盘或鼠标事件,你仅可以使用globalShortcut
来接收输入。panel
类型通过在运行时添加通常为 NSPanel 保留的NSWindowStyleMaskNonactivatingPanel
样式掩码,使窗口能够浮动在全屏应用的上方。 此外, 该窗口将出现在所有空间(桌面)上。
- 在 Windows 上的可选值为:
toolbar
。