annotate collector/power_osx.py @ 10:6b6b1ea0e00d default tip

ok for no window to be focused (untested)
author drewp@bigasterisk.com
date Mon, 13 Mar 2023 19:16:58 -0700
parents 5ad799e534a5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
1 import subprocess
3
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
2 import ast
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
3
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
4
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
5 def is_screen_on():
3
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
6 screen_is_locked = ast.literal_eval(
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
7 subprocess.check_output(
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
8 [
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
9 '/usr/bin/python', # system one with Quartz available
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
10 '-sc',
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
11 'import Quartz; ' +
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
12 'print Quartz.CGSessionCopyCurrentDictionary().get("CGSSessionScreenIsLocked", False)'
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
13 ],
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
14 encoding='ascii'))
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
15 return not screen_is_locked
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
16
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
17
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
18 def go_lock_screen():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
19 pass
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
20
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
21
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
22 def go_wake_screen():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
23 pass
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
24
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
25
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
26 def go_sleep_mode():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
27 subprocess.run(['pmset', 'sleepnow'])
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
28
3
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
29
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
30 is_screen_on()