view collector/power_linux.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
line wrap: on
line source

import subprocess

from Xlib import display
from Xlib.ext import dpms

_display = display.Display()


def is_screen_on():
    _display.sync()
    return _display.dpms_info().state == 1  # untested


def go_lock_screen():
    _display.dpms_force_level(dpms.DPMSModeOff)
    _display.sync()


def go_wake_screen():
    _display.dpms_force_level(dpms.DPMSModeOn)
    _display.sync()


def go_sleep_mode():
    subprocess.run(['systemctl', 'suspend'])