做了个 Mac 防休眠小工具,用盖子当开关

1 天前
 panghu960
大家好,我最近做了一个 macOS 菜单栏小工具,叫 FlatWhite 。

起因很简单:我以前一直用 Caffeinated 这类防休眠工具,但经常忘记点。

有时候开着 Cursor / 长下载 / 长构建,Mac 自己暗屏睡了;有时候事情做完了,又忘记把防休眠关掉。重活多的时候,一天可能要在菜单栏里来回点很多次。

后来我想,这个动作是不是不该靠人记?

MacBook 本身就有一个很自然的状态:盖子打开 / 盖子合上。所以 FlatWhite 的核心逻辑就是:

- 盖子打开:自动保持常亮
- 盖子合上:恢复系统正常睡眠逻辑
- 需要固定时长时,也可以选 5 分钟、30 分钟、1 小时、2 小时或一直保持

它是一个很轻的 SwiftUI 菜单栏 app:

- 没有 Dock 图标
- 不需要账号
- 不联网
- 不收集数据
- macOS 13+ 可用

我现在刻意没有做很复杂的快捷指令 / AppleScript / 一堆高级开关,因为这个工具的出发点就是:最好不要让用户一直想起它。

App Store:
https://apps.apple.com/us/app/flatwhite-stay-awake/id6762508707

现在比较想听 V 友两个反馈:

1. “盖子打开 = 防休眠,盖子合上 = 释放”这个模型,你们觉得自然吗?
2. 防休眠工具你们更在意“功能多”,还是“完全不用想起来点它”?

如果你们有外接显示器、长下载、长构建、演示、会议这些场景,也想听听有没有我没覆盖到的边界。
1024 次点击
所在节点    分享创造
10 条回复
panghu960
1 天前
补两张 App Store 截图,方便看界面和 Auto Mode:



xjpz
1 天前
盖子打开 = 防休眠,盖子合上 = 释放 很合理。

另外问下 开源了吗?
panghu960
1 天前
目前还没开源,主要是先把防休眠、合盖、外接显示器这些边界跑稳定。后面如果确实有开发者想看实现,我可以整理核心逻辑或开一个小仓库;现在先把产品体验验证完。
ijixiangus
1 天前
挺好的,支持!
不过我想问问,如果我直接在系统里设置成永不休眠,是不是效果也类似,合盖即休眠,开盖即永不休眠?
(我在需要防休眠时,往往会打开 youtube 静音播一个 24 小时音乐直播,感觉效果不错)
cskeleton
1 天前
https://apps.apple.com/us/app/amphetamine/id937984704?mt=12
可以参考下这个,功能很全,也比较复杂。
panghu960
19 小时 25 分钟前
这两个点都很准。

系统设置成永不休眠确实能覆盖一部分场景,但它的问题是状态太全局,做完事之后还得记得改回来。FlatWhite 想解决的是“我不想一直记得打开/关掉防休眠”这个小负担,所以才把盖子状态当开关。

YouTube 静音直播这个 workaround 也很典型,说明需求本身是存在的,只是很多人现在靠各种替代方案顶着用。

Amphetamine 我也会继续参考,它确实是成熟工具。FlatWhite 现在不会先追功能全,先验证这个更窄的模型是不是足够省心。
0x42
19 小时 4 分钟前
挺好的,我现在用 hammerspoon+AppleClaimshellState+电池状态 防止出现软件阻止我无外接电源状态下合盖不休眠
0x42
18 小时 50 分钟前
@0x42 更正一下:AppleClamshellState

这套逻辑还可以关闭一些不想在后台的软件,比如 todesk 之类的毒瘤
mengdu
18 小时 31 分钟前
caffeinate -d
ovtfkw
18 小时 15 分钟前
@panghu960 你搁这 ai 回复呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1210994

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX