Skip to content

后续独立 RFC:window chrome / tab content 拆分 #23

Description

@lyx-tec

背景

来源于 workspace-switch-refactor-plan 中提出的长期重构方向。

方案

长期更干净的结构是拆分:

Window chrome renderer

负责:

  • workspace switcher
  • tab bar
  • widgets/sidebar
  • command palette/global UI
  • window settings

Tab content BrowserViews

负责:

  • layout
  • blocks
  • xterm
  • tab-scoped model

workspace switch 时:

window chrome 更新 workspaceId/tabids
tab content manager 选择目标 active tab BrowserView
tab content renderer 不参与 workspace chrome reinit

这能从根上避免"tab renderer 同时负责 workspace chrome"的耦合,但改动面较大,不建议作为第一步。

待讨论问题

若推进此方案,需要单独讨论:

  • 多 WebContentsView 架构
  • focus routing
  • IPC 边界
  • 窗口 resize
  • context menu
  • drag/drop
  • shortcut ownership

参考

原始文档:docs/design/workspace-switch-refactor-plan.md(第 404-437 行)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions