Files
dotfiles/ignis/modules/control_center/widgets/brightness.py
T
2025-03-31 20:14:11 +02:00

30 lines
959 B
Python

import asyncio
from ignis.services.backlight import BacklightService
from ignis.widgets import Widget
backlight = BacklightService.get_default()
class Brightness(Widget.Box):
def __init__(self):
super().__init__(
visible=backlight.bind("available"),
hexpand=True,
style="margin-top: 0.25rem;",
child=[
Widget.Icon(
image="display-brightness-symbolic",
css_classes=["material-slider-icon"],
pixel_size=18,
),
Widget.Scale(
min=0,
max=backlight.max_brightness,
hexpand=True,
value=backlight.bind("brightness"),
css_classes=["material-slider"],
on_change=lambda x: asyncio.create_task(backlight.set_brightness_async(x.value)),
),
],
)