跳到主内容

BaseWindowConstructorOptions 对象

  • width Integer (可选) - 窗口的像素宽度。默认值为 800
  • height Integer (可选) - 窗口的像素高度。默认值为 600
  • x Integer (可选) - (如果使用 y 则必填) 窗口从屏幕左侧的偏移量。默认值为窗口居中。
  • y Integer (可选) - (如果使用 x 则必填) 窗口从屏幕顶部的偏移量。默认值为窗口居中。
  • useContentSize boolean (可选) - widthheight 将被用作网页的大小,这意味着实际窗口的大小将包括窗口边框的大小,并且会略大。默认值为 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 会使窗口停止与 WM 交互,因此窗口将始终在所有工作区中保持在最顶层。
  • alwaysOnTop boolean (可选) - 窗口是否应始终保持在其他窗口的顶部。默认值为 false
  • fullscreen boolean (可选) - 窗口是否应以全屏模式显示。当明确设置为 false 时,macOS 上的全屏按钮将被隐藏或禁用。默认值为 false
  • fullscreenable boolean (可选) - 窗口是否可进入全屏模式。在 macOS 上,还指最大化/缩放按钮是切换全屏模式还是最大化窗口。默认值为 true
  • simpleFullscreen boolean (可选) macOS - 在 macOS 上使用 pre-Lion 全屏模式。默认值为 false
  • skipTaskbar boolean (可选) macOS Windows - 是否在任务栏中显示窗口。默认值为 false
  • hiddenInMissionControl boolean (可选) macOS - 当用户切换到 Mission Control 时,窗口是否应隐藏。
  • kiosk boolean (可选) - 窗口是否处于信息亭模式。默认值为 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 (可选) - 窗口的背景颜色,可以是十六进制、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 上的“红绿灯”)可见时,此属性启用窗口控件叠加层JavaScript APICSS 环境变量。指定 true 将导致使用默认系统颜色的叠加层。默认值为 false
    • color String (可选) Windows Linux - 启用时窗口控件叠加层的 CSS 颜色。默认值为系统颜色。
    • symbolColor String (可选) Windows Linux - 启用时窗口控件叠加层上符号的 CSS 颜色。默认值为系统颜色。
    • height Integer (可选) - 标题栏和窗口控件叠加层的高度(像素)。默认值为系统高度。
  • accentColor boolean | string (可选) Windows - 窗口的强调色。默认情况下,遵循系统设置中的用户偏好。设置为 false 可明确禁用,或以十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式设置颜色。Alpha 值将被忽略。
  • trafficLightPosition Point (可选) macOS - 为无边框窗口中的红绿灯按钮设置自定义位置。
  • roundedCorners boolean (可选) macOS Windows - 无边框窗口是否应具有圆角。默认值为 true。将此属性设置为 false 将阻止窗口在 macOS 上进入全屏模式。在 Windows 11 Build 22000 之前的 Windows 版本上,此属性无效,无边框窗口将没有圆角。
  • thickFrame boolean (可选) - 在 Windows 上,无边框窗口使用 WS_THICKFRAME 样式,该样式会添加标准窗口边框。将其设置为 false 将移除窗口阴影和窗口动画。默认值为 true
  • vibrancy string (可选) macOS - 为窗口添加一种振动效果,仅限 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, acrylictabbed。有关更多信息,请参阅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。此类型通常用于启动画面。
    • notification 类型创建行为类似于系统通知的窗口。
  • 在 macOS 上,可能的类型有 desktop, textured, panel
    • textured 类型添加金属渐变外观。此选项已弃用
    • desktop 类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会接收焦点、键盘或鼠标事件,但您可以使用 globalShortcut 来少量接收输入。
    • panel 类型通过在运行时添加 NSWindowStyleMaskNonactivatingPanel 样式掩码(通常保留给 NSPanel),使窗口能够浮动在全屏应用程序之上。此外,窗口将显示在所有空间(桌面)上。
  • 在 Windows 上,可能的类型是 toolbar