Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.05 KB

File metadata and controls

65 lines (46 loc) · 2.05 KB

TimeToSleep

没有什么事比睡觉更重要。

早睡是好睡眠的前提,而大多数人晚睡的原因就是放不下电脑。但让人主动远离电脑,本身就是反人性的——那不如换个思路:到点了,电脑自己锁死。

不需要你有多自律,不需要你"再看五分钟"。时间到了,屏幕黑了,今天就结束了。这才是顺应人性的做法。

一个跑在终端里的早睡承诺装置。你和自己签一份契约,电脑替你守住底线。

English

它做什么

  • 睡前提醒:逐步降低屏幕亮度、降低音量、发送通知
  • 全面锁定:全屏覆盖所有显示器,暂停媒体,静音
  • 无法逃出:锁定后到起床时间前无法解锁,重启电脑也会立即重新锁定
  • 连续记录:记录你的早睡连续天数和历史,锁屏界面上展示你的成就

安装

git clone https://github.com/znygithub/TimeToSleep.git
cd TimeToSleep
bash install.sh

需要 macOS 11+,无需安装其他依赖。

开始使用

zzz init

交互式引导你完成设置:几点睡、几点起、哪几天启用、提前多久开始提醒。

命令

zzz              # 今晚状态 + 倒计时
zzz status       # 详细统计
zzz config       # 查看 / 修改设置
zzz tonight off  # 跳过今晚(需要说明原因)
zzz log          # 历史记录
zzz test         # 测试锁屏(10 秒)
zzz uninstall    # 卸载

设计原则

  • 锁定是绝对的。 到起床时间前无法解除。重启电脑会立即重新锁定——没有后门。
  • 卸载是自由的,但会让你反思。 卸载前展示你的连续天数和统计。不挽留,只是让你看一眼你积累了什么。

技术实现

  • zzz CLI(Shell 脚本)负责所有交互
  • Swift 预编译的全屏覆盖层(支持多显示器,arm64 + x86_64 通用二进制)
  • macOS launchd 定时调度 + 开机自检(防重启绕过)
  • osascript 控制媒体和系统通知
  • 配置存储在 ~/.timetosleep/

许可

MIT