article_image

参与以下两种软件的相关讨论,最容易暴露年龄:第一类是主题美化,第二类就是倒数日。

撇除开玩笑的成分,倒数日确实很有市场,在 iPhone 4 攻城略地之时,Android 阵营曾抛出一系列号称刚需——尽管我不喜欢这个词——的功能,其中就包括倒数日。十多年前,几乎每一台三星或 HTC 手机的靓照上,都有一个集成了翻页日历、倒数日和动态天气的小部件,充满了商务气息,似乎在暗示,这些 Android 旗舰才是成功人士的选择。

白驹过隙,时至今日,iOS 已经稳坐半壁江山,而在战国时代也仅仅有战术意义而无战略价值的倒数日,当然是苹果看不上的。即便在通知中心小部件和桌面小组件放开之后,通常也要指望第三方软件。

不过,总有人怀念这些官方没空搭理的小功能,也 有人 用桌面小组件实现了倒数日。我本不愿居于人后,但倒数日的原生方案至今仍鲜有人问津,因此我也不怕当一回第二(尽管效果大不相同),分享自己的方案。你可以先在下面下载 Shortcuts 动作,同时可以在我的 GitHub 上及时受到更新。

Alt text
倒数日在小部件中的效果

Shortcuts 动作下载:创建倒数日

Shortcuts 动作下载:删除倒数日

批量创建倒数日

自 iOS 14 开始,我就一直以小组件显示事件倒计时,并且做了一套完整的倒数日批量生成/删除 Shortcuts(快捷指令)动作。

倒数日本质上也是一个日程,只不过带有进度信息。而进度信息既可以写进日程备注,也可以直接写入日程标题,不见得要为此专门装一个软件。一旦意识到倒数日和普通日程之间没有本质差别,后续的工作就简单了——最简单的做法,就是把日程写成 日程 当前天数/总天数 的形式,例如 交材料 1/10,表示还有 10 天上交材料,今天是第 1 天。而当新一天的晨光降临时,交材料 2/10交材料 3/10交材料 3/10 等事项就会自动更新。

创建倒数日时,只需先输入日程名称,再根据提示选好截止日期与开始日期,即可批量创建前述格式的倒数日日程。倒数日的开始日默认就是当前日期,这个预设多少可以减少一些操作;随后如何计算总天数,以及如何草拟日程标题并批量导入日历,就是 Shortcuts 的工作了,使用者不再需要操心。

Alt text
创建倒数日

默认情况下,倒数日日程和普通日程会显示在同一个小组件中。我不喜欢功能杂糅的工具,亲手制作 Shortcuts 动作时当然也有所坚持,因此动作和小组件都的功能都非常明确:Shortcuts 只负责创建倒数日,不管其他日历或任务管理方面的需求;小组件只显示倒数日,不管其他的日程。为专物专用,可以长按桌面小组件,编辑之,取消默认的镜像选项,转而只选择包含倒数日的日历。

Alt text
在特定小部件中只显示倒数日

小组件有不同大小,显示效果也有差异,如果需要在小号或中号(如上图)组件中显示日程名,则最好取名从简。盖日程标题和到期天数也会影响显示效果,若是标题太长,则末尾的文字会显示为 ,那就看不到最后的数字,和显示到期天数的初衷南辕北辙了。不过,如果更习惯使用大号桌面组件,则可以用将近一整个屏幕的宽度显示日程,通常就无所谓标题字数限制。1

批量清理倒数日

随着创建倒数日一同而来的问题,就是如何批量清理它们。这不是精神洁癖,非得把已经过去的日程删除干净;而是万一需要更改日程,则如何批量删除已经创建的倒数日,从而为新事项让路。

删除时,只需要运行 Shortcuts 动作,输入想删除之事的关键词(不用输全,输入一部分即可),随后 Shortcuts 就会在今后的日程中——已经过去的日程,一般没有必要删除,否则真的是精神洁癖了——找出符合关键词的、属于倒数日性质的日程,以供进一步选择并一次性删除。

Alt text
删除倒数日

至于为何 Shortcuts 能够识别“倒数日性质”的日程,其实背后的工作在创建日程时已经完成了。我在批量创建倒数日时,就给所有日程添加了备注 countBackwards,回头寻找倒数日就时就沿着这些预先准备好的面包屑,不会遗漏,也不会误删其他日程。

Alt text
清理倒数日的步骤

设计批量创建的 Shortcuts 动作时,难免走一些弯路,创建一堆格式错误的日程,连我自己都不愿意挨个删除它们,读者想必也是同样的兴趣。因此在设计了批量创建的动作后,紧接着做一个批量删除的动作,也是顺水推舟。

小结

清理倒数日,又是 Shortcuts 的一大妙用。和以往风光一时的下载视频、扒取图片或远程控制等等动作不同,创建或删除倒数日,所涉及的步骤均较为简单。当初 Hum 随口和我提了一嘴,说桌面小组件可以用来显示倒数日;我没多问,聊天的时候顺手就做了一套 Shortcuts 动作,后续只是小修小补。整套动作的关键不在于工程细节,而是能不能想到用好小组件,以及有没有用 Shortcuts 批处理的习惯。

相较桌面小组件,发布不久的 iOS 16 的锁屏小部件是另一套逻辑,而暂时未见 Shortcuts 对此有何反应。不过,只要还记得 Shortcuts 的自动化潜力,则只需要配合第三方软件,或者等 Shortcuts 支持锁屏小部件,则时髦的视觉呈现效果也是举手之劳。


  1. 当然,把天数写进备忘的话,就更不需要担心标题长度,但这又占用了纵向的显示空间,有得有失矣。

author_avatar

Lawyer, macOS/iOS Automation Amateur