annotate power_linux.py @ 2:0ecb388a0b90

start power code
author drewp@bigasterisk.com
date Sat, 04 Mar 2023 12:10:36 -0800
parents
children 3d7fc94a404a
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()
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
11 return _display.dpms_info().state== 1 # untested
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'])
0ecb388a0b90 start power code
drewp@bigasterisk.com
parents:
diff changeset
26