DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

2927683690myn-rgb /

2927683690myn-rgb/dsh-tab-order

Verified

对话页顶部标签:左右拖动换位、长按置顶;顺序存在本机(纯客户端插件)

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

dsh-tab-order

对话页顶部那排标签(对话 / 轨迹 / 上下文 / 文件 …):拖动着换位置,长按着置顶。纯客户端,不碰宿主。

用法

  • 拖动:按住标签横向拖动,标签抬起、其余让位,松手定序。单击仍是切标签,上下滑仍是滚页面。
  • 长按(约 0.5 秒不动)→ 弹出小菜单:
    • 置顶到最左:该标签固定排第一,前面带 📌;再点同一个标签的 取消置顶 解除。
    • 关闭:收起菜单。
  • 拖动被置顶的那个标签会自动取消置顶(否则它动不了)。
  • 顺序与置顶记在 localStorage 的 dsh-tab-order:v2,刷新页面、换会话都还在。

实现要点

  • 顺序只用 flex order 落地,置顶项额外强制 order 0;不移动、不插入 DOM 节点,React 重渲染不会冲掉。
  • 标签条里非标签的子元素(Android 适配层塞的折叠箭头等)一律 order: 9999 + margin-inline-start: auto 推到最右。
  • 手势协议:横向 > 6px 且大于纵向 → 拖动;纵向 > 10px → 放弃并交给滚动;一动就取消长按计时。
  • 标签上 user-select: none / -webkit-touch-callout: none,并在按下、开始拖动时清空选区、拦截标签条内的 contextmenu —— 长按和拖动都不会变成「选中文字 / 复制」。
  • 标签身份用可见文字而不是 class(构建产物类名带哈希)。

装法

cp -r dsh-tab-order ~/.dsh/plugins/
ln -sfn ~/.dsh/plugins/dsh-tab-order ~/.dsh/profiles/web/node_modules/dsh-tab-order
# package.json dependencies 加 "dsh-tab-order": "file:../../plugins/dsh-tab-order"
# cordis.patch.yml 末尾加:
# - insert:
#     - id: tab-order
#       name: dsh-tab-order

新增插件条目需要重启一次 DSH;之后改代码按刷新按钮即可热换。

—/ 5

No ratings yet

Verified DSH bundle

Commit 393ef7eb5ae9

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