BaseWindowConstructorOptions 对象
🌐 BaseWindowConstructorOptions Object
width整数(可选)- 窗口的宽度,以像素为单位。默认值为800。height整数(可选)- 窗口高度,单位为像素。默认值为600。x整数(可选)- (如果使用 y,则必填)窗口相对于屏幕的左偏移量。默认值是将窗口居中。y整数(可选)- (如果使用 x,则必填)窗口距离屏幕顶部的偏移量。默认情况下,窗口居中显示。useContentSize布尔值(可选)-width和height将用作网页的尺寸,这意味着实际窗口的尺寸将包括窗口边框的尺寸,会略大一些。默认值为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 - 当用户切换到任务控制时,窗口是否应被隐藏。kiosk布尔值(可选)- 窗口是否处于自助服务模式。默认值为false。title字符串(可选)- 默认窗口标题。默认值是"Electron"。如果在loadURL()加载的 HTML 文件中定义了 HTML 标签<title>,则会忽略此属性。icon(NativeImage | string)(可选)- 窗口图标。在 Windows 上,建议使用ICO图标以获得最佳视觉效果,你也可以不定义它,这样将使用可执行文件的图标。show布尔值(可选)- 创建窗口时是否显示窗口。默认值为true。frame布尔值(可选)- 指定false以创建一个无边框窗口。默认值为true。parentBaseWindow(可选)- 指定父窗口。默认值为null。modal布尔值(可选)- 是否为模态窗口。仅当窗口为子窗口时此选项才有效。默认值为false。acceptFirstMouse布尔值(可选)macOS - 是否点击非活动窗口时也会点击到网页内容。macOS 默认值为false。此选项在其他平台不可配置。disableAutoHideCursor布尔值(可选)- 输入时是否隐藏光标。默认值为false。autoHideMenuBar布尔值(可选) Linux Windows - 自动隐藏菜单栏,除非按下Alt键。默认值为false。enableLargerThanScreen布尔值(可选)macOS - 允许窗口调整为比屏幕更大的尺寸。仅适用于 macOS,其他操作系统默认允许窗口大于屏幕。默认值为false。backgroundColor字符串(可选)- 窗口的背景颜色,可以使用 Hex、RGB、RGBA、HSL、HSLA 或 CSS 命名颜色格式。如果transparent设置为true,则支持 #AARRGGBB 格式的透明度。默认值为#FFF(白色)。更多信息请参见 win.setBackgroundColor。hasShadow布尔值(可选)- 窗口是否应该有阴影。默认值为true。opacity数字(可选) macOS Windows - 设置窗口的初始不透明度,范围从 0.0(完全透明)到 1.0(完全不透明)。此功能仅在 Windows 和 macOS 上实现。darkTheme布尔值(可选)- 强制窗口使用深色主题,仅在某些 GTK+3 桌面环境中有效。默认值为false。transparent布尔值(可选)- 使窗口透明。默认值为false。在 Windows 上,如果窗口不是无边框的,则此功能无效。当你将View添加到BaseWindow时,你需要在该视图上调用view.setBackgroundColor并设置透明背景颜色,以使其背景也变为透明。type字符串(可选)- 窗口类型,默认是普通窗口。更多信息见下文。visualEffectState字符串(可选)macOS - 指定材质外观应如何反映 macOS 上的窗口活动状态。必须与vibrancy属性一起使用。可能的取值为:followWindow- 当窗口处于活动状态时,背景应自动显示为活动状态;当窗口不处于活动状态时,应显示为非活动状态。这是默认设置。active- 背景应始终保持活跃。inactive- 背景应始终显示为非活动状态。
titleBarStyle字符串(可选)- 窗口标题栏的样式。默认值为default。可能的取值有:default- 分别显示在 macOS 或 Windows 的标准标题栏中。hidden- 结果是一个隐藏的标题栏和全尺寸内容窗口。在 macOS 上,窗口的左上角仍然有标准的窗口控制(“交通灯”按钮)。在 Windows 和 Linux 上,如果与titleBarOverlay: true结合使用,它将激活窗口控制覆盖(更多信息请参见titleBarOverlay),否则将不会显示任何窗口控制。hiddenInsetmacOS - 导致标题栏隐藏,并具有一种替代外观,其中红黄绿按钮相对于窗口边缘稍微向内偏移。customButtonsOnHovermacOS - 会导致标题栏隐藏,内容窗口全屏显示,红、黄、绿按钮在鼠标悬停于窗口左上角时才会显示。**注意:**此选项目前处于试验阶段。
titleBarOverlay对象 | 布尔(可选) - 在 macOS 上将无框窗口与win.setWindowButtonVisibility(true)一起使用,或使用titleBarStyle以便显示标准窗口控件(macOS 上的“红黄绿按键”)时,此属性可启用窗口控件覆盖 JavaScript 接口 和 CSS 环境变量。指定true将生成具有默认系统颜色的覆盖。默认值为false。color字符串(可选) Windows Linux - 启用时窗口控制覆盖的 CSS 颜色。默认是系统颜色。symbolColor字符串(可选)Windows Linux - 启用时窗口控件覆盖层符号的 CSS 颜色。默认值为系统颜色。height整数(可选)- 标题栏和窗口控件覆盖的高度(像素)。默认值为系统高度。
accentColor布尔值 | 字符串(可选)Windows - 窗口的强调色。默认情况下,遵循系统设置中的用户偏好。设置为false可显式禁用,或以 Hex、RGB、RGBA、HSL、HSLA 或 CSS 命名颜色格式设置颜色。Alpha 值将被忽略。trafficLightPosition点(可选)macOS - 在无边框窗口中为交通灯按钮设置自定义位置。roundedCorners布尔值(可选)macOS Windows - 无边框窗口是否应有圆角。默认值为true。在 Windows 11 Build 22000 之前的 Windows 版本中,此属性无效,无边框窗口将不会有圆角。thickFrame布尔值(可选)Windows - 在 Windows 上为无边框窗口使用WS_THICKFRAME风格,这会添加标准窗口框架。将其设置为false将移除窗口阴影和窗口动画,并禁用通过拖动窗口边缘来调整窗口大小。默认值为true。vibrancy字符串(可选)macOS - 仅在 macOS 上为窗口添加一种模糊效果。可以是appearance-based、titlebar、selection、menu、popover、sidebar、header、sheet、window、hud、fullscreen-ui、tooltip、content、under-window或under-page。backgroundMaterial字符串(可选)Windows - 设置窗口的系统绘制背景材质,包括非客户区背后的区域。可以是auto、none、mica、acrylic或tabbed。更多信息请参见 win.setBackgroundMaterial。zoomToPageWidth布尔值(可选)macOS - 控制在 macOS 上当按住 Option 键点击工具栏的绿色停止按钮或通过点击“窗口 > 缩放”菜单项时的行为。如果为true,窗口在缩放时将增长到网页的首选宽度;如果为false,窗口将缩放到屏幕的宽度。这也会影响直接调用maximize()时的行为。默认值为false。tabbingIdentifier字符串(可选)macOS - 标签组名称,允许将窗口作为原生标签打开。具有相同标签标识符的窗口将会被分组。这还会在你的窗口标签栏中添加一个原生的新标签按钮,并允许你的app和窗口接收new-window-for-tab事件。
在使用 minWidth/maxWidth/minHeight/maxHeight 设置最小或最大窗口大小时,它仅限制用户操作。它不会阻止你将不符合大小约束的尺寸传递给 setBounds/setSize 或 BrowserWindow 的构造函数。
🌐 When setting minimum or maximum window size with minWidth/maxWidth/
minHeight/maxHeight, it only constrains the users. It won't prevent you from
passing a size that does not follow size constraints to setBounds/setSize or
to the constructor of BrowserWindow.
type 选项的可能值和行为取决于平台。可能的值有:
🌐 The possible values and behaviors of the type option are platform dependent.
Possible values are:
- 在 Linux 上,可能的类型有
desktop、dock、toolbar、splash、notification。desktop类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。但是,请注意,桌面窗口不会接收焦点、键盘或鼠标事件。你仍然可以使用 globalShortcut 来有限地接收输入。dock类型会创建类似停靠窗口的行为。toolbar类型会创建一个带有工具栏外观的窗口。splash类型具有特定的行为。即使窗口主体的 CSS 样式包含 -webkit-app-region: drag,它也无法被拖动。这种类型通常用于启动画面。notification类型创建一个行为类似系统通知的窗口。
- 在 macOS 上,可能的类型有
desktop、textured、panel。textured类型增加了金属渐变效果。此选项已 不推荐使用。desktop类型将窗口放置在桌面背景窗口级别(kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会获得焦点、键盘或鼠标事件,但你可以使用globalShortcut来少量接收输入。panel类型通过在运行时添加通常保留给 NSPanel 的NSWindowStyleMaskNonactivatingPanel样式掩码,使窗口能够在全屏应用之上浮动。此外,窗口将出现在所有空间(桌面)上。
- 在 Windows 上,可能的类型是
toolbar。