跳转到主内容

BaseWindow 构造 选项 对象

  • width Integer (可选) - 窗口的宽度(以像素为单位)。 默认值为 800。
  • height Integer (可选) - 窗口的高度(以像素为单位)。 默认值为 600。
  • x Integer (可选) (如果y存在则必填) - 窗口相对于屏幕左侧的偏移量。 默认值为将窗口居中。
  • y Integer (可选) (如果x存在则必填) - 窗口相对于屏幕顶端的偏移量。 默认值为将窗口居中。
  • useContentSize boolean (可选) - widthheight 将作为 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 (optional) Linux Windows - Auto hide the menu bar unless the Alt key is pressed. 默认值为: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 APICSS 环境变量。 指定为 true 将使用默认的系统颜色覆盖层。 默认值为:false
    • color String (可选) Windows Linux - 窗口控件覆盖层启用时的 CSS 颜色。 默认是系统颜色。
    • symbolColor String (optional) Windows Linux - The CSS color of the symbols on the Window Controls Overlay when enabled. 默认是系统颜色。
    • height Integer (optional) - The height of the title bar and Window Controls Overlay in pixels. 默认值为系统高度。
  • accentColor boolean | string (optional) Windows - The accent color for the window. By default, follows user preference in System Settings. Set to false to explicitly disable, or set the color in Hex, RGB, RGBA, HSL, HSLA or named CSS color format. Alpha values will be ignored.
  • 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-basedtitlebarselectionmenupopoversidebarheadersheetwindowhudfullscreen-uitooltipcontentunder-windowunder-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/setSizeBrowserWindow 的构造函数。

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