63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
from ignis.widgets import Widget
|
|
from ignis.app import IgnisApp
|
|
from .volume import volume_control
|
|
from .quick_settings import quick_settings
|
|
from .user import user
|
|
from .media import media
|
|
from .notification_center import notification_center
|
|
from .brightness import brightness_slider
|
|
|
|
app = IgnisApp.get_default()
|
|
|
|
|
|
def control_center_widget() -> Widget.Box:
|
|
return Widget.Box(
|
|
vertical=True,
|
|
css_classes=["control-center"],
|
|
child=[
|
|
Widget.Box(
|
|
vertical=True,
|
|
css_classes=["control-center-widget"],
|
|
child=[
|
|
quick_settings(),
|
|
volume_control(),
|
|
brightness_slider(),
|
|
user(),
|
|
media(),
|
|
],
|
|
),
|
|
notification_center(),
|
|
],
|
|
)
|
|
|
|
|
|
def control_center() -> Widget.RevealerWindow:
|
|
revealer = Widget.Revealer(
|
|
transition_type="slide_left",
|
|
child=control_center_widget(),
|
|
transition_duration=300,
|
|
reveal_child=True,
|
|
)
|
|
box = Widget.Box(
|
|
child=[
|
|
Widget.Button(
|
|
vexpand=True,
|
|
hexpand=True,
|
|
css_classes=["unset"],
|
|
on_click=lambda x: app.close_window("ignis_CONTROL_CENTER"),
|
|
),
|
|
revealer,
|
|
],
|
|
)
|
|
return Widget.RevealerWindow(
|
|
visible=False,
|
|
popup=True,
|
|
kb_mode="on_demand",
|
|
layer="top",
|
|
css_classes=["unset"],
|
|
anchor=["top", "right", "bottom", "left"],
|
|
namespace="ignis_CONTROL_CENTER",
|
|
child=box,
|
|
revealer=revealer,
|
|
)
|