跳转到主内容

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 (可选) - 除非按下 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 APICSS 环境变量。 指定为 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-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