写了一个定时锁屏的程序来防止久坐

办公室打印纸的包装盒上写着一句玩笑话:사무실은 놀이터다(办公室是游乐场。)我把这个包装盒拿过来垫高显示器,每天都能看到,看得多了,慢慢就熟视无睹了。

我们的办公室不是游乐场,原先在入口处靠墙根有一排沙发,算是个简易的休息空间。后来一个一百多人的大型项目组入驻我们办公室,他们人多会议多,导致会议室不够用,他们把门口的沙发撤了,用一排隔板围成了一间临时会议室,于是连仅有的休息空间也消失了。

本来就没有休息空间,我工作的时候又经常忘记休息,除了喝水尿尿,或者同事让我去帮忙,我大部分时间就在屏幕前坐着。意志力比较强的时候,会起身走上一分钟,去楼梯间的窗口前远眺一会,拉伸一下身体,但是大部分时间就是坐着。明知道这样不好,眼睛脖子和屁股都受不了,但坐的惯性比较大,起身的动力比较小。每到下班走在路上,发现眼睛疲惫的时候,总是很后悔,没人强制让我坐在位置上,怪我自己没有主动去休息。

我也给自己定过休息的闹钟,在手机上,apple watch上,但是闹钟响了,随手关掉,屏幕的工作继续,强制让我去休息的效果不是很好。这周,我不知怎么的就冒出了一个点子,让chatGPT写一个定时锁屏的程序,我设置时间,到时候电脑自动锁屏,强制提醒自己休息的时间到了,反正已经锁屏了,解锁反而需要动用意志力来操作,那干脆就起来活动一下吧,哪怕只是去接杯水上个厕所洗个手呢。

我让chatGPT用python写的,又微调了一下,目前用了一天,感觉挺好用。我本来还写了弹窗提醒,比如提醒还剩下一分钟就要锁屏了,锁屏五分钟后再自动解锁。但是用了一下,发现效果不好,不如直接锁屏干脆利落,而且我发现要把解锁的密码弄得复杂一点,这样就有更强烈的动机,起身休息一下。

chatGPT写出来的程序如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import time
import os
def main():
# 获取用户输入的专注工作时间(以分钟为单位)
rest_time = int(input("请输入专注工作的时间(分钟):"))
# 将休息时间转换为秒数
rest_seconds = rest_time * 60
# 获取当前时间
current_time = time.localtime()
current_hour = current_time.tm_hour
current_minute = current_time.tm_min
# 计算预计休息的时刻
rest_hour = (current_hour + (current_minute + rest_time) // 60) % 24
rest_minute = (current_minute + rest_time) % 60
# 打印设置的专注时间和预计休息时刻
print("专注时间已设置为 {} 分钟。".format(rest_time))
print("当前时间为:{:02d}:{:02d}".format(current_hour, current_minute))
print("预计休息时刻为:{:02d}:{:02d}".format(rest_hour, rest_minute))
# 等待指定时间
time.sleep(rest_seconds)
# 执行锁屏操作(在Windows系统下使用)
lock_screen()
def lock_screen():
# Windows系统下执行锁屏操作
os.system("rundll32.exe user32.dll,LockWorkStation")
if __name__ == "__main__":
main()