我是一名大一学生,也是南瓜灯(Pumpkin Lights)的开发者。我每天都会在浅色和深色模式之间切换,而这个开关一直藏在「控制中心」和「系统设置」里。我想要的是另一种感觉:天黑了,点亮一盏灯;想要亮一点,就拉一下灯绳。于是我做了南瓜灯,一款把南瓜灯和灯泡挂在 Mac 菜单栏下方的免费小应用。
点亮南瓜,Mac 就暗下来
南瓜和灯泡用绳子挂在屏幕顶端。点一下南瓜,蜡烛亮起,整台 Mac 切换到深色模式;再点一下,吹灭蜡烛,又切回浅色模式。灯泡下面垂着一根拉绳,往下一拽,「咔哒」一声,回到浅色模式。不用的时候,两盏灯会缩到屏幕顶边后面,只留下一个小挂钩。

每盏灯都可以换成别的用途:让 Mac 保持唤醒、静音、打开某个应用或网站、运行一条终端命令,或者运行任意一个快捷指令。
每颗南瓜都不一样
南瓜是用光线追踪实时渲染的三维物体:带棱的表皮有一层蜡质光泽,脸是在有厚度的果壳上挖穿的,里面点着一支蜡烛,光从刻痕里透出来。每颗南瓜的形状都是随机生成的,没有两颗完全一样。
两盏灯都挂在模拟出来的绳子上。你可以拖着它摆动、旋转,往下拽一下就是拉线开关,整个过程保持 120 帧;左右晃着玩也不会误触发切换。
有一点我自己很得意:整个应用里没有一张图片、一个 3D 模型或一个音频文件。南瓜、蜡烛、绳子,连宣传片和配乐,都是用 Swift 代码生成的。具体做法写在我的英文博客文章「Carving a pumpkin out of math」里,感兴趣的话可以看看。

南瓜有四个品种、四种表情、四种火光颜色。灯座和拉手有哑光黑、拉丝镍、做旧黄铜、紫铜、白瓷、胡桃木和橡木可选,绳子有五种,拉手有圆环、木棒横柄、铃铛坠和橡果坠。

权限、隐私与安装
南瓜灯免费,没有账号、广告或追踪。它唯一会联网做的事是到官网检查更新,这一项也可以关掉。切换深浅色模式需要控制「系统事件」,第一次使用时 macOS 会询问,这是它唯一需要的权限。
每个版本都经过 Apple 签名和公证,之后会自动更新。南瓜灯需要搭载 Apple 芯片、运行 macOS 14 Sonoma 或更新版本的 Mac。在南瓜灯官网下载安装包后,把南瓜灯拖进「应用程序」文件夹再打开,南瓜就会从屏幕顶端垂下来。
灵感和一点小插曲
南瓜灯的灵感来自 Simon B. Støvring 的 Festivitas。这是一款在菜单栏上挂圣诞彩灯的应用,非常推荐。南瓜灯发布后,Simon 在 X 上转发了我的发布帖。
2026 年 10 月 31 日,9to5Mac 在「Indie App Spotlight」栏目报道了南瓜灯(英文),称它是「a nifty little menu bar app」(一款精巧的菜单栏小应用)。感谢作者 Michael Burkhardt,这对我是很大的鼓励。
顺便介绍:Optional
Optional 是我做的另一款 Mac 应用,思路和南瓜灯相通:把常用操作从菜单和搜索框里拿出来,变成一个手势。按住左侧 Option,点一个字母打开轮盘,再点一下移到下一项,松开就执行。
它有十多个开箱即用的轮盘,包括剪贴板、窗口、最近文件、音频设备、蓝牙、浏览器标签页、输入法、日历会议、系统开关、常用应用,以及前台应用的菜单命令。我自己最常用的是下面几个细节:
- 剪贴板会根据你要粘贴的地方排序:在 Safari 里链接优先,在微信里图片优先,在终端里命令优先。
- 选中文字后按 Option-空格,可以计算算式、转换大小写、在中英文之间加空格,或者去掉链接里的追踪参数,结果直接替换在原处。
- 按 Option-Z 可以撤回刚才的操作,比如刚切换的窗口、刚粘贴的内容或刚换的耳机。
- 拖动文件时,屏幕边缘会变成可以放下的位置,比如隔空投送、邮件、压缩或转换为 JPEG。
Optional 同样免费,需要搭载 Apple 芯片、运行 macOS 14 或更新版本的 Mac。它需要辅助功能权限来感知按住的按键、替你粘贴和切换窗口,但不会记录你输入的内容。可以在 Optional 官网下载。

最后
两款应用都是我课余时间做的,还有很多可以改进的地方。如果你用了,欢迎在评论区告诉我你把南瓜灯设成了什么用途,也可以发邮件到 hi@boyucheng.me。
