MinTik 是一款极简的 macOS 专注时间管理工具,通过实时监测键鼠活跃度,帮助你掌握工作节奏,适时提醒休息。提供优雅的圆角卡片界面与状态栏常驻入口,让专注管理触手可及。
- 实时专注计时:每秒读取系统输入事件并累计工作秒数,界面以 00:28 样式显示。
- 分钟热力图:一小时 60 个量化方块,深浅代表该分钟的活跃强度。
- 状态栏驻留:红色关闭按钮不再退出,而是把窗口隐藏到托盘,那里会显示「Xm」的活跃分钟数,颜色含义:
- 白色:未超出阈值;
- 红色:超过提醒阈值(当前默认 1 分钟,方便测试);
- 黄色:处于暂停状态;
- 灰色:长时间无输入(Idle)。
- 系统通知提醒:抵达专注阈值即弹出「该休息一下啦」通知;若权限被关闭,卡片顶部会提示并可一键跳转到系统设置开启。
- 一键恢复窗口:点击状态栏文案即可打开或隐藏主窗口。
- 快速设置:在
Settings中实时调节专注时长(1-90 分钟)与休息重置时间(60-600 秒)。 - 纯暗色 UI:采用深色渐变、柔和阴影及定制圆角,无边框拖拽交互。
- macOS 12+(Monterey)
- Xcode 15 / Swift 5.9+
- 第一次运行需授权「辅助功能」,用于检测键鼠活跃度。
- 克隆仓库:
git clone https://github.com/yourusername/MinTik.git
cd MinTik- 使用 Swift Package Manager 运行:
swift run或在 Xcode 中打开 Package.swift,选择 MinTik Scheme 直接运行 (⌘R)。
- 从 GitHub Releases 下载最新的
MinTik.dmg文件 - 双击打开 DMG 文件,将 MinTik 拖放到 Applications 文件夹
- 首次打开可能会遇到 "无法验证开发者" 或 "来自未确认开发者的应用" 的提示
- 尝试直接打开 MinTik,您会看到"无法验证开发者"的提示
- 打开「系统设置」→ 「隐私与安全性」
- 在页面底部找到「安全性」部分,您会看到 MinTik 的提示
- 点击「仍要打开」按钮
- 在新弹出的窗口中再次点击「打开」
如果方法一无法解决,您可以尝试以下步骤:
- 按住
Control键并点击 MinTik 应用图标 - 在弹出的菜单中选择 "打开"
- 在新弹出的窗口中再次点击 "打开"
如果您希望完全移除这个提示,可以在终端中运行以下命令:
sudo xattr -dr com.apple.quarantine /Applications/MinTik.app在 macOS Ventura 及以后的版本中,默认隐藏了"允许任何来源"的选项。如果您遇到问题,可以通过以下终端命令启用该选项:
sudo spctl --master-disable启用后,您将在「系统设置」→ 「隐私与安全性」→ 「通用」中看到"允许从以下位置下载的应用:任何来源"的选项。
首次运行需要授权「辅助功能」权限,用于检测键盘和鼠标活跃度:
- 系统设置 → 隐私与安全性 → 辅助功能
- 添加 MinTik 并启用权限
- 重启应用
- 修改
AppConfig以设置默认专注阈值、活跃/休息判定。 - 调整
FocusDashboardView的颜色与阴影,获得不同的视觉风格。 - 状态栏文本由
Notification.Name.MinTikStatusUpdate驱动,如需改造菜单或图标,可在AppDelegate中扩展。
欢迎继续拓展,例如添加提醒通知、历史统计或导出功能。
- SwiftUI: 现代化的声明式 UI 框架
- AppKit: macOS 原生菜单栏与窗口管理
- Swift Package Manager: 项目依赖管理
- UserDefaults: 本地配置持久化
- NSEvent: 系统事件监听
MinTik/
├── Sources/
│ └── MinTik/ # 主要源代码
├── resources/ # 资源文件
├── scripts/ # 构建脚本
├── Package.swift # SPM 配置文件
├── README.md # 项目说明
└── LICENSE # MIT 开源协议
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
本项目采用 MIT License 开源协议。
感谢所有为这个项目做出贡献的开发者!