Files
2025-03-31 20:14:11 +02:00

29 lines
925 B
Python

from ...qs_button import QSButton
from ignis.services.notifications import NotificationService
from ignis.options import options
notifications = NotificationService.get_default()
class DNDButton(QSButton):
__gtype_name__ = "DNDButton"
def __init__(self):
super().__init__(
label=options.notifications.bind(
"dnd", lambda value: "Silent" if value else "Noisy"
),
icon_name=options.notifications.bind(
"dnd",
transform=lambda value: "notification-disabled-symbolic"
if value
else "notification-symbolic",
),
on_activate=lambda x: self.__activate(True),
on_deactivate=lambda x: self.__activate(False),
active=options.notifications.bind("dnd"),
)
def __activate(self, state: bool) -> None:
options.notifications.dnd = state