20 lines
686 B
Python
20 lines
686 B
Python
from .qs_button import QSButton
|
|
from ignis.services.notifications import NotificationService
|
|
|
|
notifications = NotificationService.get_default()
|
|
|
|
|
|
def dnd_button() -> QSButton:
|
|
return QSButton(
|
|
label=notifications.bind("dnd", lambda value: "Silent" if value else "Noisy"),
|
|
icon_name=notifications.bind(
|
|
"dnd",
|
|
transform=lambda value: "notification-disabled-symbolic"
|
|
if value
|
|
else "notification-symbolic",
|
|
),
|
|
on_activate=lambda x: notifications.set_dnd(not notifications.dnd),
|
|
on_deactivate=lambda x: notifications.set_dnd(not notifications.dnd),
|
|
active=notifications.bind("dnd"),
|
|
)
|