Skip to content

[Feature] History 和 History Panel 功能重复,建议合并,同时加入 Stage Bar——截图暂存侧栏,支持拖拽到输入框/pin图 #111

Description

@Alan-Youngzhe

What problem does this solve? / 想解决什么问题?

我在做设计时需要大量收集视觉参考,典型流程是:在 Pinterest 或其他参考网站上一次性截很多张图,然后切换到别的窗口去用它们——可能是把参考图发给 Claude/ChatGPT 这类 AI 的输入框,也可能是发到和同事聊天的窗口里。

痛点在于:截图是「一张一张」产生的,但使用往往是「一批一批」的。目前只能:

  • 截一张 → 切窗口贴一张 → 切回来再截一张,在两个窗口间反复横跳,收集心流不断被打断;
  • 或者把每张图都 pin 在屏幕上,屏幕很快铺满浮动窗口,而且 pin 窗口本身也不能直接拖进输入框。

另外注意到:菜单栏的 History 子菜单和 History Panel(顶部 notch 面板)展示的是同一份历史数据,是两个重复的入口。

Proposed solution / 期望的方案

把 History Panel 这个重复入口删除,引入 Stage Bar(截图暂存侧栏),同时把「pin 在原地」这个动作升级为 stage(暂存):截图后不直接钉在屏幕上,而是先收进屏幕右侧的 Stage Bar;需要钉图时从侧栏用专属手势取出。

1. 截图与暂存(stage)

  • 双击 截图后,在编辑器里点 stage(原 pin 按钮的位置,快捷键 P 不变);
  • 图片以类似 macOS 窗口最小化的缩放动效飞入右侧 Stage Bar,编辑器关闭;
  • 可以连续截图、连续 stage,把一批参考图全部攒进侧栏。

2. 面板形态

  • Stage Bar 吸附在屏幕右侧边缘,平时是缩起的细条;
  • 鼠标移过去时自动展开,显示暂存图片的缩略图列表;鼠标移开自动缩回;
  • 面板为空时完全隐藏,stage 第一张图时才出现;
  • 内容不持久化:它是工作台,不是相册——重启应用即清空(历史记录仍由菜单栏 History 子菜单承担)。

3. 拖拽语义:两种手势对应两种意图

  • 普通拖拽 = 喂给外部应用:拖进聊天框、AI 对话框、Finder 等,drop 被接收后图片从侧栏消失——它已经被「用掉」了;没有目标接收则拖拽预览弹回,什么都不发生;
  • ⌥ + 拖出 = 钉在屏幕:按住 Option 拖出走私有拖拽通道(任何应用都无法接收),松手处直接生成钉图窗口(即原有 pin 浮动窗口),同时从侧栏移除;拖拽预览带 pin 角标提示当前处于钉图模式;
  • 缩略图支持点选多选,一次拖走整组;tooltip 提示两种手势。

4. 与现有 pin 体系的双向合并

  • 快捷键进侧栏:「钉起 Finder 选中图片」「钉起剪贴板图片」两个全局快捷键改为 stage 进 Stage Bar(剪贴板文本仍钉为便签,侧栏只承载图片);
  • 钉图可收回:钉图窗口工具栏新增「收进侧栏」按钮(与编辑器 stage 按钮同一图标),点击后钉图以飞入动效收回侧栏。

图片流向由此成为闭环:收集入口(截图 / Finder / 剪贴板)→ 侧栏 ⇄ 屏幕钉图,侧栏是屏幕上所有浮动图片的「家」。

为什么这样设计

  • 批量截图 → 批量使用的工作流闭环:收集阶段不打断心流,使用阶段不来回切换;
  • 不新增功能入口:复用 History Panel 的槽位和 pin 的动作语义,功能总数不变,产品反而更清晰;
  • 原有 pin 能力无损:钉图窗口、跨 Space 显示等行为都保留,只是创建路径变为从侧栏取出;
  • 铺开对照 → 收起换批的循环走得通:钉图不再是"关掉就丢"的终点状态。

Alternatives considered / 考虑过的替代方案

  • 维持现状(逐张截贴 / 全部 pin 在屏幕上):就是上面描述的痛点本身,批量场景下不可用;
  • 在现有 History Panel 里加拖拽:History Panel 是「全部历史」,混着取色、录屏和旧截图,当暂存区用信噪比太低,而且「用完移除」的语义和历史记录冲突;
  • 完全新增一个独立面板功能:会和 History Panel 功能重叠,入口越来越多——所以倾向改造而不是叠加;
  • 「拖到屏幕空白处松手 = 钉图」(fork 实测后废弃):最初的钉图手势设计,实测发现 macOS 屏幕上几乎不存在真正的「空白处」——桌面是 Finder(直接保存文件)、浏览器直接打开图片、终端直接粘贴路径,「drop 未被接收 → 钉图」这个分支几乎永远走不到,反而每次都被光标下的应用接收走,极易误触。教训:同一个拖拽手势不能靠「目标是否接收」来区分两种用户意图,所以钉图改为 ⌥ 专属手势。

Additional context / 补充信息

以上方案(含 ⌥ 拖钉图、双向合并)已在我的 fork 上完整实现并通过真机验证,愿意提 PR。

Confirmation / 确认

  • I have searched existing issues and this is not a duplicate. / 我已搜索过现有 issue,确认这不是重复请求。

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