站立提醒

站立提醒,检测用户在计算机前的忙碌时间,并在用户的设置时间到达时,提醒用户站立,避免久坐带来的危害。

原理

站立提醒通过系统服务检测用户在一段时间之内是否存在键盘或鼠标等的操作,来判断用户是否在计算机前忙碌。默认的监测时间是2分钟和45分钟。举例如下:

当用户开始使用计算机时,站立提醒开始检测,如果用户连续2分钟没有任何鼠标、键盘操作,则认为没有在使用计算机。累计时长归零。如果用户一直使用,45分钟应用会提醒用户站起来活动一下。如果期间归零了,然后用户又回来,站立提醒会在检测到后,自动重新累计时长。

working

下载

更新日志

1.0(11)

  • 应用上架。

1.0.1(13)

  • 新增“重置”按钮。点击之后计时器会重新计算。方便用户对于整段时间的把握。
  • 修正了一处可能导致应用崩溃的问题。
  • 修正了在Ventura应用崩溃的问题。
  • 已知问题
    • Ventura下,计时器运行时,对应的窗口没能变成最优的大小。这个是Ventura的问题,我已经向苹果提交了Issue:FB11743260。

1.0.2(16)

  • 当应用隐藏时,降低CPU使用。
    • 当你点击应用窗口的关闭后,站立提醒将会隐藏起来,之后的CPU占用几乎为0,作为对比之前版本的站立提醒会一直占用1%-2%的CPU。

1.0.3(17)

  • 修正了一处因变量范围改变导致的逻辑错误。

1.0.4 (20)

  • 在Ventura中手动指定窗口内容的大小,以保证体验在系统之间一致。
    • Ventura新增了一个API:WindowResizability。它使得SwiftUI的窗口在Ventura下不再遵从和之前版本系统一样的约定。结果就是Ventura下,窗口默认会变得很大。
    • WindowResizability本身是可以设定为和之前系统保持一致的。可问题是这个是Ventura独有的API,切它使用的位置在SwiftUI中比较特殊。简单说就是,使用了WindowResizability,应用就只能支持Ventura,而不能兼容之前的系统版本。
    • 所以,目前最简单的兼容方案,就是在Ventura中,手动指定窗口内容的大小。这么做虽然不灵活,但是保证界面的美观。具备可用性。
  • 修正了用户禁用通知,应用会崩溃的问题。

1.0.5 (24)

  • 新增“勿扰模式”下的提醒功能。

“勿扰模式”下需要的“重要提醒”功能默认是禁用的。需要在系统设置->通知里手动打开。

1.1.1 (30)

  • 修正了偶尔情况下,计时器运行过快的问题。
  • 检测系统的睡眠和唤醒,二者问隔如果超过允许时限,则重置计时器。