first commit
This commit is contained in:
28
callbacks/screen.py
Normal file
28
callbacks/screen.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import monitorcontrol
|
||||
|
||||
def get_monitors():
|
||||
"""Retrieve a list of connected monitors."""
|
||||
return monitorcontrol.get_monitors()
|
||||
|
||||
def set_brightness(monitor, brightness):
|
||||
"""Set the brightness of a specific monitor."""
|
||||
if not 0 <= brightness <= 100:
|
||||
raise ValueError("Brightness must be between 0 and 100")
|
||||
with monitor:
|
||||
monitor.set_luminance(brightness)
|
||||
print(f"Set brightness to {brightness}%")
|
||||
|
||||
|
||||
def chenge_brightness(args):
|
||||
try:
|
||||
level = args.get('level', 10)
|
||||
monitors = get_monitors()
|
||||
if not monitors:
|
||||
raise OSError(f"No DDC/CI compatible monitors found.")
|
||||
return
|
||||
|
||||
for i, monitor in enumerate(monitors):
|
||||
set_brightness(monitor, level)
|
||||
|
||||
except Exception as e:
|
||||
raise OSError(f"An error occurred: {e}")
|
||||
Reference in New Issue
Block a user