Skip to content

面板可以拖到不挡正文的位置(本地已有实现,要的话我发 PR) #16

Open

Description

@rezon-aki

Is your feature request related to a problem?

面板固定挂在「用量」按钮正上方,内容一多或窗口一窄就会挡住正文;开着皮肤时 dock 还带模糊/变换,可用空间更小。现在除了把面板收起来没有别的办法把它挪开——想一边看正文一边看成本的时候很别扭。

Describe the solution you would like

面板顶部加一条拖动把手:按住即可把面板拖到任意位置,位置写入 localStorage(刷新 / 重开窗口后保持),双击「用量」按钮复位到按钮正上方。拖动只在 transform: translate() 上叠加位移,边界用与锚点同一个 containingBlock() 夹取(即 #14 那套包含块换算),保证面板四条边至少留 48px 在可视区内、拖不出屏幕;锚点计算与默认落点不变,不影响现在的自动跟随行为。

Alternatives considered

  1. 自动避让:不加交互,改成「面板与正文重叠时自动上移 / 翻转 / 贴边」。零学习成本,但要猜用户想让它去哪,遇到固定高度的 dock 容易来回跳。如果你更想要这个形态,我可以改成它。
  2. 只记忆位置但不给拖动入口:没有实际收益,跳过。

Additional context

已在本地实现并验证:src/client/panel-position.ts(持久化读取容错 + 边界夹取纯函数)、src/client/UsageIndicator.tsx(pointer 拖动 + 双击复位 + 顶部把手)、src/client/i18n.ts / styles.ts、tests/panel-position.test.mjs(4 例)。npm run verify 通过 50/50(v1.1.7 的 46 项 + 新增 4 项)。

实现挂在自己的 fork 分支上,随时可以按 PR 模板发 PR(只动 src/、双语 CHANGELOG 与测试,不含生成的 lib/):
https://github.com/rezon-aki/dsh-usage-chart/tree/pr/panel-drag

如果这个方向你不想要,直接关掉这条 issue 就行,我不会再跟进。

Activity

  1. Max-Samson commented on Oct 9, 2026

    @Max-Samson
    Owner

    好的,感谢你的issue,欢迎pr。很抱歉最近没有时间关注到,dsh使用的也比较少。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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