Skip to content

gitca233/ClipboardLite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClipboardLite

ClipboardLite 是一款轻量 macOS 剪切板历史工具,支持文本、图片和文件记录,重点控制缓存和内存占用,避免复制大表格、大图片或大量文件后让 App 变得笨重。

项目说明

本项目由项目维护者提出需求、测试和调整,主要代码由 OpenAI Codex 协助生成与修改。

项目以开源方式发布,采用 MIT License。你可以自由使用、修改和分发,但请保留许可证说明。

当前能力

  • 全局快捷键弹出剪切板面板
  • 菜单栏常驻
  • 记录文本、图片、文件
  • 支持搜索历史记录
  • 支持按启用的保存类型筛选历史记录
  • 支持固定记录
  • 支持按最新复制时间显示记录
  • 支持单击复制或双击复制
  • 支持右键操作:复制为纯文本、删除记录
  • 支持图片悬停预览,并可设置预览延时和预览高度
  • 支持忽略指定应用的复制记录
  • 支持弹窗位置设置:光标附近、屏幕中央、最后位置
  • 支持菜单栏图标样式选择
  • 支持按类型清除历史记录,并二次确认
  • 支持打开弹窗面板、打开存储目录等快捷操作

安装使用

已打包好的 App 位于:

dist/ClipboardLite.app

可以直接把它拖到 macOS 的“应用程序”文件夹,然后双击启动。

如果 Finder 暂时仍显示旧图标,通常是 macOS 图标缓存未刷新,稍等一会儿或重新复制到“应用程序”即可。

开发运行

swift run ClipboardLite

重新打包:

./package-app.sh

打包后会生成:

dist/ClipboardLite.app

GitHub 发布建议

建议提交到 GitHub 的内容:

  • Sources/
  • Assets/
  • Packaging/
  • Package.swift
  • README.md
  • LICENSE
  • .gitignore
  • package-app.sh

不建议提交:

  • .build/
  • dist/
  • AppIcon.iconset/
  • .DS_Store
  • 本机运行数据:~/Library/Application Support/ClipboardLite
  • 本机日志或临时文件

权限说明

普通复制历史不需要额外权限。

如果需要“点击历史记录后自动粘贴到当前 App”,macOS 需要授予辅助功能权限:

系统设置 -> 隐私与安全性 -> 辅助功能 -> ClipboardLite

没有辅助功能权限时,ClipboardLite 仍会把内容复制到系统剪切板,只是需要手动粘贴。

存储位置

数据保存在:

~/Library/Application Support/ClipboardLite

主要文件:

  • index.json:历史记录索引、预览、类型、大小、时间等元数据
  • settings.json:用户配置
  • Payloads/:文本内容、图片原图、文件缓存、原始剪切板格式
  • Thumbnails/:图片缩略图

App 内存里主要保留历史列表元数据和预览,不会把所有原始文本、图片、文件一次性读进内存。

存储策略

默认策略:

  • 文本超过 512 KB 不保存
  • 图片超过 8 MB 不保存
  • 文件单次超过 64 MB 不保存
  • 最多保存 500
  • 总缓存默认 500 MB
  • 疑似大表格会按行数、制表符数量跳过

这些都可以在设置中调整。

文件记录说明

文件历史不是只保存原路径。

新版会把复制的文件或文件夹复制到 ClipboardLite 缓存目录中。之后从历史记录里复制文件时,复制的是缓存中的文件。删除对应历史记录时,也会删除缓存里的文件副本。

自动清理规则

当超过保存条数:

  • 不区分类型
  • 从最久未复制的记录开始删除

当超过总缓存:

  • 优先删除文件
  • 再删除图片
  • 最后删除文本
  • 每一类内部都从最久未复制的记录开始删除

置顶记录会尽量保留,不参与自动淘汰。

搜索规则

搜索不区分英文大小写。

支持简单规则:

  • A B:同时包含 AB
  • "A B":包含完整短语 A B
  • a 可以搜到 aA

Excel 复制说明

ClipboardLite 会尽量保存文本的原始剪切板格式。

从 Excel 复制表格后,再从 ClipboardLite 中复制回 Excel,通常可以保留表格格式,而不是只变成纯文本。

为了避免大表格撑爆缓存,原始剪切板格式也会受到大小限制。特别大的 Excel 内容可能会被跳过或只保留纯文本。

忽略应用

设置中可以配置忽略应用。

可以每行填写一个应用名称或 Bundle ID,例如:

微信
com.tencent.xinWeChat
Safari
com.apple.Safari

也可以在设置页从“正在运行的应用”下拉框里选择后添加。

图标资源

图标文件位于:

Assets/ClipboardLite-AppIcon.png
Assets/ClipboardLite.icns

打包时会自动将 ClipboardLite.icns 放入 App。

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors