SuperAPI AI 工具集

electrobun-window-management

通用与其它

查看项目

更新于 10-15 22:11

技能介绍

用途:为 Electrobun 桌面应用提供高级窗口与视图管理方案,覆盖多窗口架构、内嵌视图、生命周期与跨窗口通信等场景。

主要能力:

  1. 多窗口管理:用 BrowserWindow 与 Map 维护窗口集合,支持创建、获取、关闭单个或全部窗口;WindowFactory 按 main/settings/editor/preview 等类型预设配置并支持覆盖。
  2. BrowserView:在窗口内嵌入 webview,无需新建窗口;可基于它实现标签页系统,通过 addBrowserView/removeBrowserView 切换,并在 resize 时用 setBounds 更新边界。
  3. 生命周期与状态持久化:WindowStateManager 将位置、尺寸、最大化状态写入 paths.userData 下的 JSON,用 Bun.write/Bun.file 读写,监听 move/resize 防抖保存并恢复。
  4. 窗口分组:WindowGroup 建立父子关系,父窗口关闭时关闭子窗口,支持 showAll/hideAll。
  5. 跨窗口通信:WindowBroadcaster 与 WindowHub 通过 window.rpc[method] 向指定窗口发送或向全部窗口广播,并用 Promise.allSettled 处理失败。
  6. 悬浮与覆盖:alwaysOnTop、skipTaskbar 实现悬浮窗,PictureInPicture 类实现画中画切换。
  7. 高级模式:showModal 创建模态对话框并禁用父窗口交互,centerWindow 与 cascadeWindows 处理窗口定位。

使用方式:从 "electrobun/bun" 导入 BrowserWindow、BrowserView、paths、screen 等;按示例实例化管理器并注册窗口,通过事件监听与 RPC 调用完成交互。

适用场景:需要多窗口、标签页、内嵌网页、悬浮工具面板或跨窗口同步状态的 Electrobun 桌面应用。

限制:资料未提供具体版本要求、平台差异、性能数据与错误处理细节;示例代码需按实际项目调整,部分 API 行为以官方文档为准。