跳至主要内容

BaseWindowConstructorOptions 对象

  • width 整数(可选) - 窗口宽度(以像素为单位)。默认值为 800
  • height 整数(可选) - 窗口高度(以像素为单位)。默认值为 600
  • x 整数(可选) - (如果使用 y 则**必填**)窗口距屏幕左侧的偏移量。默认为将窗口居中。
  • y 整数(可选) - (如果使用 x 则**必填**)窗口距屏幕顶部的偏移量。默认为将窗口居中。
  • useContentSize 布尔值(可选) - widthheight 将用作网页的大小,这意味着实际窗口的大小将包括窗口框架的大小,并且会略大一些。默认为 false
  • center 布尔值(可选) - 在屏幕中央显示窗口。默认为 false
  • minWidth 整数(可选) - 窗口的最小宽度。默认为 0
  • minHeight 整数(可选) - 窗口的最小高度。默认为 0
  • maxWidth 整数(可选) - 窗口的最大宽度。默认为无限制。
  • maxHeight 整数(可选) - 窗口的最大高度。默认为无限制。
  • resizable 布尔值(可选) - 窗口是否可调整大小。默认为 true
  • movable 布尔值(可选) macOS Windows - 窗口是否可移动。在 Linux 上未实现。默认为 true
  • minimizable 布尔值(可选) macOS Windows - 窗口是否可最小化。在 Linux 上未实现。默认为 true
  • maximizable 布尔值(可选) macOS Windows - 窗口是否可最大化。在 Linux 上未实现。默认为 true
  • closable 布尔值(可选) macOS Windows - 窗口是否可关闭。在 Linux 上未实现。默认为 true
  • focusable 布尔值(可选) - 窗口是否可以获得焦点。默认为 true。在 Windows 上,设置 focusable: false 也意味着设置 skipTaskbar: true。在 Linux 上,设置 focusable: false 会使窗口停止与窗口管理器交互,因此窗口将始终停留在所有工作区的最顶层。
  • alwaysOnTop 布尔值(可选) - 窗口是否应始终位于其他窗口的顶部。默认为 false
  • fullscreen 布尔值(可选) - 窗口是否应以全屏显示。当显式设置为 false 时,全屏按钮将在 macOS 上隐藏或禁用。默认为 false
  • fullscreenable 布尔值(可选) - 窗口是否可以进入全屏模式。在 macOS 上,以及最大化/缩放按钮是切换全屏模式还是最大化窗口。默认为 true
  • simpleFullscreen 布尔值(可选) macOS - 在 macOS 上使用 Lion 之前的全屏模式。默认为 false
  • skipTaskbar 布尔值(可选) macOS Windows - 是否在任务栏中显示窗口。默认为 false
  • hiddenInMissionControl 布尔值(可选) macOS - 用户切换到 Mission Control 时是否应隐藏窗口。
  • kiosk 布尔值(可选) - 窗口是否处于 Kiosk 模式。默认为 false
  • title 字符串(可选) - 默认窗口标题。默认为 "Electron"。如果在 loadURL() 加载的 HTML 文件中定义了 HTML 标签 <title>,则将忽略此属性。
  • icon (NativeImage | 字符串)(可选) - 窗口图标。在 Windows 上,建议使用 ICO 图标以获得最佳视觉效果,您也可以将其保留为未定义,以便使用可执行文件的图标。
  • show 布尔值(可选) - 创建时是否应显示窗口。默认为 true
  • frame 布尔值(可选) - 指定 false 以创建无边框窗口。默认为 true
  • parent BaseWindow(可选) - 指定父窗口。默认为 null
  • modal 布尔值(可选) - 这是否为模式窗口。这只在窗口为子窗口时有效。默认为 false
  • acceptFirstMouse 布尔值(可选) macOS - 单击非活动窗口是否也会单击到网页内容。在 macOS 上默认为 false。此选项在其他平台上不可配置。
  • disableAutoHideCursor 布尔值(可选) - 是否在键入时隐藏光标。默认为 false
  • autoHideMenuBar 布尔值(可选) - 自动隐藏菜单栏,除非按下 Alt 键。默认为 false
  • enableLargerThanScreen 布尔值(可选) macOS - 启用窗口大小调整超出屏幕。仅适用于 macOS,因为其他操作系统默认允许超出屏幕的窗口。默认为 false
  • backgroundColor 字符串(可选) - 窗口的背景颜色,采用十六进制、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式。如果 transparent 设置为 true,则支持 #AARRGGBB 格式中的 Alpha。默认为 #FFF(白色)。有关更多信息,请参阅win.setBackgroundColor
  • hasShadow 布尔值(可选) - 窗口是否应有阴影。默认为 true
  • opacity 数字(可选) macOS Windows - 设置窗口的初始不透明度,介于 0.0(完全透明)和 1.0(完全不透明)之间。这仅在 Windows 和 macOS 上实现。
  • darkTheme 布尔值(可选) - 强制对窗口使用深色主题,仅适用于某些 GTK+3 桌面环境。默认为 false
  • transparent 布尔值(可选) - 使窗口透明。默认为 false。在 Windows 上,除非窗口无边框,否则不起作用。
  • type 字符串(可选) - 窗口的类型,默认为普通窗口。有关更多信息,请参见下文。
  • visualEffectState 字符串(可选) macOS - 指定材料外观应如何在 macOS 上反映窗口活动状态。必须与 vibrancy 属性一起使用。可能的值为
    • followWindow - 当窗口处于活动状态时,背景应自动显示为活动状态,而当窗口不处于活动状态时,则显示为非活动状态。这是默认值。
    • active - 背景应始终显示为活动状态。
    • inactive - 背景应始终显示为非活动状态。
  • titleBarStyle 字符串(可选) - 窗口标题栏的样式。默认为 default。可能的值为
    • default - 分别产生 macOS 或 Windows 的标准标题栏。
    • hidden - 产生隐藏的标题栏和全尺寸内容窗口。在 macOS 上,窗口在左上角仍然具有标准的窗口控件(“交通灯”)。在 Windows 和 Linux 上,当与 titleBarOverlay: true 结合使用时,它将激活窗口控件叠加层(有关更多信息,请参见 titleBarOverlay),否则将不显示任何窗口控件。
    • hiddenInset macOS - 产生隐藏的标题栏,并采用另一种外观,其中交通灯按钮稍微从窗口边缘内嵌。

    • customButtonsOnHover macOS - 导致标题栏隐藏并显示全尺寸内容窗口,窗口左上角的交通灯按钮在悬停时才会显示。注意:此选项目前处于实验阶段。
  • titleBarOverlay 对象 | 布尔值(可选) - 在 macOS 上结合使用无边框窗口和 win.setWindowButtonVisibility(true) 或使用 titleBarStyle 使标准窗口控件(macOS 上的“交通灯”)可见时,此属性启用窗口控件叠加层 JavaScript APICSS 环境变量。指定 true 将导致出现具有默认系统颜色的叠加层。默认为 false
    • color 字符串(可选) Windows Linux - 启用窗口控件叠加层时的 CSS 颜色。默认为系统颜色。
    • symbolColor 字符串(可选) Windows - 启用窗口控件叠加层上符号的 CSS 颜色。默认为系统颜色。
    • height 整数(可选) - 标题栏和窗口控件叠加层的高度(以像素为单位)。默认为系统高度。
  • trafficLightPosition Point(可选) macOS - 为无边框窗口中的交通灯按钮设置自定义位置。
  • roundedCorners 布尔值(可选) macOS - macOS 上的无边框窗口是否应具有圆角。默认为 true。将此属性设置为 false 将阻止窗口进入全屏状态。
  • thickFrame 布尔值(可选) - 在 Windows 上的无边框窗口中使用 WS_THICKFRAME 样式,这会添加标准窗口边框。将其设置为 false 将删除窗口阴影和窗口动画。默认为 true
  • vibrancy 字符串(可选) macOS - 向窗口添加一种活力效果,仅在 macOS 上。可以是 appearance-basedtitlebarselectionmenupopoversidebarheadersheetwindowhudfullscreen-uitooltipcontentunder-windowunder-page
  • backgroundMaterial 字符串(可选) Windows - 设置窗口的系统绘制背景材质,包括非客户端区域后面。可以是 autononemicaacrylictabbed。有关更多信息,请参阅 win.setBackgroundMaterial
  • zoomToPageWidth 布尔值(可选) macOS - 控制 macOS 上在工具栏上按住 Option 键点击绿色停止灯按钮或点击“窗口”>“缩放”菜单项时的行为。如果为 true,则窗口在缩放时会扩展到网页的首选宽度,false 会导致它缩放至屏幕宽度。这也会影响直接调用 maximize() 时的行为。默认为 false
  • tabbingIdentifier 字符串(可选) macOS - 选项卡组名称,允许将窗口作为本地选项卡打开。具有相同选项卡标识符的窗口将组合在一起。这还会在窗口的选项卡栏中添加一个本地新建选项卡按钮,并允许您的 app 和窗口接收 new-window-for-tab 事件。

在使用 minWidth/maxWidth/ minHeight/maxHeight 设置窗口的最小或最大大小时,它只会限制用户。它不会阻止您将不符合大小限制的大小传递给 setBounds/setSizeBrowserWindow 的构造函数。

type 选项的可能值和行为取决于平台。可能的值包括:

  • 在 Linux 上,可能的类型为 desktopdocktoolbarsplashnotification
    • desktop 类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。但是,请注意,桌面窗口不会接收焦点、键盘或鼠标事件。您仍然可以使用 globalShortcut 适度地接收输入。
    • dock 类型创建类似码头的窗口行为。
    • toolbar 类型创建具有工具栏外观的窗口。
    • splash 类型的行为方式特定。即使窗口主体 CSS 样式包含 -webkit-app-region: drag,它也无法拖动。此类型通常用于启动画面。
    • notification 类型创建一个行为类似于系统通知的窗口。
  • 在 macOS 上,可能的类型为 desktoptexturedpanel
    • textured 类型添加金属渐变外观 (NSWindowStyleMaskTexturedBackground)。
    • desktop 类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会接收焦点、键盘或鼠标事件,但您可以使用 globalShortcut 适度地接收输入。
    • panel 类型通过添加 NSWindowStyleMaskNonactivatingPanel 样式掩码(通常保留给 NSPanel)在运行时启用窗口浮动在全屏应用程序之上。此外,窗口将显示在所有空间(桌面)上。
  • 在 Windows 上,可能的类型为 toolbar