annotate power_linux.py @ 3:3d7fc94a404a

a few more inputs; daemonize
author drewp@bigasterisk.com
date Wed, 08 Mar 2023 10:57:11 -0800
parents 0ecb388a0b90
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
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
3 from Xlib import display
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
4 from Xlib.ext import dpms
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
5
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
6 _display = display.Display()
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
7
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
8
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
9 def is_screen_on():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
10 _display.sync()
3
3d7fc94a404a a few more inputs; daemonize
drewp@bigasterisk.com
parents: 2
diff changeset
11 return _display.dpms_info().state == 1 # untested
2
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
12
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
13
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
14 def go_lock_screen():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
15 _display.dpms_force_level(dpms.DPMSModeOff)
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
16 _display.sync()
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
17
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
18
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
19 def go_wake_screen():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
20 _display.dpms_force_level(dpms.DPMSModeOn)
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
21 _display.sync()
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
22
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
23
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
24 def go_sleep_mode():
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
25 subprocess.run(['systemctl', 'suspend'])