OffTick 是一个轻量 macOS 菜单栏小工具,用置顶悬浮窗显示日期、时间、下班倒计时和收入进度。
图标说明:正式图标稍后提供。
功能
- 菜单栏入口:可显示/隐藏悬浮窗、打开设置、切换语言和退出应用。
- 悬浮窗:置顶、可拖动、可选择小/中/大尺寸,并可控制是否出现在截图中。
- 自定义显示内容:日期、时间、下班倒计时、今日实时收入、日均收入都可以单独开关。
- 截图控制:可选择截图时是否包含悬浮窗。
- 开机自启动:可在设置中开启登录后自动启动,需 macOS 13 或更高版本。
- 更新检查:可从 GitHub Releases 检查新版本,发现更新时打开最新 Release 页面。
- 时间与日历:支持 24 小时/12 小时制,以及国历/农历显示。
- 下班计算:支持固定下班时间,也支持按当天 5 点后首次解锁开始计时。
- 收入计算:可设置月薪和本月工作日,自动计算日均收入和今日实时收入。
- 解锁记录导出:选择“解锁计时”后,会记录每天 5 点后的首次解锁时间,并可按日期范围导出带水印的 PDF;水印中的导出时间和设备信息可在设置中开关。
- 网络时间:启动后校准网络时间,并每秒刷新悬浮窗与菜单中的实时数据。
- 下班提醒:到达下班时间时发送系统通知;悬浮窗可见时显示庆祝动画。
- 设置持久化:月薪、工作日、显示项、语言、计时模式、悬浮窗大小、截图行为等配置会保存到本机用户设置中。
- 单实例运行:重复启动时会自动退出新实例,避免开多个 OffTick。
- 菜单栏兼容:使用稳定的 Bundle ID 和状态栏 autosaveName,减少系统设置中出现重复 OffTick 的概率。
- 多语言:支持简体中文、繁体中文、英语、日语、韩语、西班牙语、法语、德语、葡萄牙语和俄语。
系统要求
- macOS 12 或更高版本
- 开机自启动功能需要 macOS 13 或更高版本
- 本地构建需要 Swift 5.9 或更高版本
从源码运行
swift build
.build/debug/OffTick
构建 App
./Scripts/build-app.sh
open .build/OffTick.app
日常使用建议通过 .app 启动。脚本会写入稳定的 Bundle ID,生成 Info.plist,并对 App 做本地签名。
本地测试分发
./Scripts/package-local.sh
脚本会生成:
dist/OffTick-0.2.1.zip
dist/OffTick-0.2.1.zip.sha256
dist/RELEASE_NOTES-0.2.1.md
这是本地签名但未经过 Apple 公证的测试包,适合小范围试用。第一次打开时,macOS 可能需要按住 Control 键点击 App 后选择“打开”,或到“系统设置 > 隐私与安全性”里点击“仍要打开”。
GitHub Release 发布清单
- 上传
OffTick-0.2.1.zip 到 GitHub Release。
- 把
OffTick-0.2.1.zip.sha256 里的 SHA256 值贴到 Release notes。
- 把
RELEASE_NOTES-0.2.1.md 里的说明贴到 Release notes。
- 明确说明这是本地签名、未经过 Apple 公证的测试版。
GitHub Release 的资源下载次数可以作为粗略、隐私友好的使用量参考。OffTick 不包含隐藏的数据埋点。
许可证
OffTick 使用 MIT License 开源。