BaseWindow 构造 选项 对象
widthInteger (可选) - 窗口的宽度(以像素为单位)。 默认值为 800。heightInteger (可选) - 窗口的高度(以像素为单位)。 默认值为 600。xInteger (可选) (如果y存在则必填) - 窗口相对于屏幕左侧的偏移量。 默认值为将窗口居中。yInteger (可选) (如果x存在则必填) - 窗口相对于屏幕顶端的偏移量。 默认值为将窗口居中。useContentSizeboolean (可选) -width和height将作为 WEB 页面的尺寸使用,这意味着实际窗口尺寸还将加上窗口框架的尺寸,这将导致窗口尺寸比页面尺寸大一些。 默认值为:false。centerboolean (可选) - 窗口是否在屏幕居中显示。 默认值为:false。minWidthInteger (可选) - 窗口的最小宽度。 默认值为0。minHightInteger (可选) - 窗口的最小高度。 默认值为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 设置focus: false使窗口停止与 wm(窗口管理器 - Windows Manager) 互动,所以窗口将始终保持在所有工作区的顶部。alwaysOnTopboolean (可选) - 指定窗口是否一直处于其他窗口之上。 默认值为:false。fullscreenboolean (可选) - 指定窗口是否全屏显示。 在 macOS 上,当明确设置为false时,全屏按钮将被禁用或者隐藏。 默认值为:false。fullscreenableboolean (可选) - 窗口是否能进入全屏模式。 在 macOS 上,也决定了最大化/缩放按钮是应该切换全屏模式还是最大化窗口。 默认值为:true。simpleFullscreenboolean (可选) macOS - 在 macOS 上使用 Lion 之前的全屏模式。 默认值为:false。skipTaskbarboolean (可选) macOS Windows - 是否在任务栏中显示窗口。 默认值为:false。hiddenInMissionControlboolean (可选) macOS - 当用户切换到任务控制(Mission Control)时,窗口是否应隐藏。kioskboolean (可选) - 窗口是否处于信息亭模式(kiosk mode)。 默认值为: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 (optional) Linux Windows - Auto hide the menu bar unless theAltkey is pressed. 默认值为:false。enableLargerThanScreenboolean (可选) macOS - 窗口尺寸调整时,是否允许超过屏幕尺寸。 仅与 macOS 相关,因为其他操作系统默认允许窗口比屏幕更大。 默认值为:false。backgroundColorstring (可选) - 窗口的背景颜色,支持十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式。 如果transparent设置为true,则支持 #AARRGGBB 格式的透明度。 默认值为:#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 内, 窗口将一直拥有位于左上的标准窗口控制器 (“traffic lights”)。 在 Windows 和 Linux 上,当与titleBarOverlay: true结合使用时,它将激活窗口控件覆盖层(有关更多信息,请参阅titleBarOverlay),否则不会显示任何窗口控件。hiddenInsetmacOS - 隐藏标题栏,并采用一种替代外观,其中交通灯按钮距离窗口边缘稍微向内缩进。customButtonsOnHovermacOS - 隐藏标题栏,并且内容窗口为完整尺寸,当鼠标悬停在窗口左上角时,交通灯按钮将会显示。 注意: 此选项目前为实验性功能。
titleBarOverlayObject | Boolean (可选) - 在 macOS 上,当使用无边框窗口并结合win.setWindowButtonVisibility(true),或者使用titleBarStyle使标准窗口控件(macOS 上的“交通灯”按钮)可见时,此属性将启用窗口控件覆盖层的 JavaScript API 和 CSS 环境变量。 指定为true将使用默认的系统颜色覆盖层。 默认值为:false。colorString (可选) Windows Linux - 窗口控件覆盖层启用时的 CSS 颜色。 默认是系统颜色。symbolColorString (optional) Windows Linux - The CSS color of the symbols on the Window Controls Overlay when enabled. 默认是系统颜色。heightInteger (optional) - The height of the title bar and Window Controls Overlay in pixels. 默认值为系统高度。
trafficLightPositionPoint (可选) macOS - 在无边框窗口中为交通灯按钮设置自定义位置。roundedCornersboolean (可选) macOS Windows - 无边框窗口是否应具有圆角。 默认值为:true。 在 macOS 上,将此属性设置为false, 将阻止窗口进入全屏模式。 在低于 Windows 11 Build 22000 的 Windows 版本中,此属性无效,且无边框窗口将不会具有圆角。thickFrameboolean (可选) - 在 Windows 上为无边框窗口使用WS_THICKFRAME样式,这将添加标准窗口框架。 将其设置为false将移除窗口阴影和窗口动画。 默认值为:true。vibrancystring (可选) macOS - 为窗口添加一种 vibrancy 效果,仅适用于 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 - 标签组名称,允许将窗口作为原生标签打开。 具有相同标签标识符的窗口将被分组在一起。 这还会在窗口的标签栏中添加一个原生的新标签按钮,并允许您的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。