DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

2315137135 /

2315137135/dsh-rightbar-exit-strip

Verified

右侧栏全屏时的左边缘退出条,可用双击分割线进入全屏 · An exit strip on the left edge of the fullscreen right sidebar, plus double-click on the divider to enter fullscreen

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@74ba9dae

右侧栏退出条 · dsh-rightbar-exit-strip

右侧栏被 Harness 切成全屏后会盖住视口,出口只剩右上角那两个面板控件。这个插件补两个入口:全屏中左边缘的退出条,和双击分割线直接进全屏。

安装

从 GitHub 安装(纯 JavaScript,无需构建):

plugin_manager install_bundle
target: github:2315137135/dsh-rightbar-exit-strip

也可以使用 git+https://github.com/2315137135/dsh-rightbar-exit-strip.git,或克隆到本地后用绝对目录安装。安装后刷新 Harness 页面。

仓库:https://github.com/2315137135/dsh-rightbar-exit-strip

用法

手势 结果
双击会话与右侧栏之间的拖拽分割线 进入全屏
全屏中悬停左侧竖条 → 点击 退出全屏
全屏中 分割线不渲染,退出只能走竖条或右上角的面板按钮

竖条平时是 5px 半透明竖条,悬停变宽成 11px、显示右向箭头并转成品牌色;上下各留 18%,避开页签条和面板左下角的缩放控件。键盘聚焦同样会展开竖条,回车即可退出。

实现要点

  • 只在全屏时渲染:检测 [data-sidebar-right-panel="fullscreen"],位置取自该面板的 getBoundingClientRect(),所以 Windows 桌面端的标题栏内缩、左侧栏展开宽度、窗口缩放都自动跟随(另挂 ResizeObserver、窗口 resize 与 MutationObserver)。
  • 为什么 portal 到 document.body:shell.overlay 容器是 z-index:20 的层叠上下文,而全屏面板内部的 ._tabCell 用 z-index: var(--dsh-dockkit-dock-layer)(全屏为 40)参与同一个层叠上下文,浮层里的元素再高的 z-index 也压不过面板。跳出这个上下文才是正解。
  • 为什么不用 dblclick:分割线是框架的 [data-side="rightbar"] 拖拽柄,它在 pointerdown 里 preventDefault(),兼容性鼠标事件会被抑制。双击由插件自己在捕获阶段数左键 pointerdown:500ms 内、6px 范围内两次即判定。
  • 走同一条路径:进出全屏都用 ctx.sidebarRight.commandTarget() + toggleFullscreen(),与面板上的按钮一致,会记入布局历史;服务不可用时退回点击面板自己的 [data-sidebar-right-mode] 控件。

依赖的出厂契约

插件读的是面板的 DOM 标记与 ARIA 属性,Harness 大版本升级后若这些标记改名,需要同步调整:

  • [data-sidebar-right-panel="fullscreen"] —— 全屏形态标记
  • [data-side]=rightbar —— 会话与右侧栏之间的拖拽分割线
  • [data-sidebar-right-mode] —— 面板右上角的形态切换按钮(值为下一个形态)

许可

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 74ba9dae8c76

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout