01
今天刷即刻,看到一个即友@handsoMeng,开发了一个工作期间,每天提醒强制喝水的应用程序。
我想到我们程序员、独立开发的一个坏习惯——久坐。
02
久坐的危害,其实还是挺多的,比如——
长时间保持同一个姿势,肩颈和腰椎的压力会慢慢累积,很多程序员的腰突和颈椎病就是这么来的。
血液循环变差,下肢容易浮肿,久而久之心血管的风险也在悄悄上升。
更隐蔽的是,持续久坐会让代谢变慢、体脂升高,很多人明明没怎么吃,体重却一直在涨。
而这些危害,短期也许看不太出来什么,时间一长就显出来了,再叠加熬夜、三餐不规律、不爱运动,身体是会记着这些账的。我也隐隐感觉到,如果 coding 久坐一整天,心情都闷闷的,身体沉沉的,很不舒服。
所以,怎么解决久坐的问题?
我前段时间其实也试着解决这个问题,用的是 Windows 自带的时钟,设置的 25 分钟专注+10 分钟休息,但是效果不好,总是专注的停不下来;然后找了几个方案,还有海外的,但不是太满意。
即友的思路,我认为不错,所以周末花了点时间自己做了一个,一只跳舞的小兔子,到点了就蹦出来提醒我去运动。
还真不错,Win + D 都退不掉它的全屏,不动就别想干活了。
03
简单说下它的逻辑,每 25 分钟,屏幕左下角会弹出一只摇着彩球跳舞的白色垂耳兔,点「去运动啦!」。
但如果你忍住不点,它每隔几秒就变大一点,最后铺满整个屏幕,关不掉,Alt + F4 也没用。唯一的出路就是,老老实实点那个按钮。
但点了按钮,不是就完了,如果又能进入屏幕继续工作了,那这工具,还有什么意义?
所以,我设计的是,会进入一个全屏的运动倒计时,默认 10 分钟,倒计时没结束之前,屏幕还是兔子的。
这样就不会出现「点完按钮又坐回去」的尴尬情况了。运动时长也可以配置,5 到 20 分钟随便选。
至于兔子生效的时间范围,我设置的是工作时间 9 点到 17 点才会触发,晚上不打扰。
垂耳兔覆盖全屏的速度也可以在托盘菜单里调,从 10 秒到 60 秒四个档,看你想给自己多大的缓冲,都可以配置。
当然,真遇到紧急情况,比如突然要开会、线上出了 bug,2 秒内连按 3 次 Esc 可以强制退出。这个后门也可以在托盘菜单里关掉——关掉之后就真的只能老实运动了。
但其实,哪有那么紧急的事情啊,连 5 分钟都不能留给自己散散心么?所以,我是不会开启这个按 Esc 就能退出的。
04
技术上就是 Python + PyQt5,没有用 Electron 那种搬个浏览器过来的方案,跑起来很轻,不怎么占资源。
代码也不复杂,感兴趣的可以自己改参数。
地址在这,里面有用法,后续我一边用一边迭代。https://github.com/taoWithSaaS/sit-less-bunny