45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from .elements import SettingsPage, SettingsRow, SettingsEntry
|
|
from ignis.utils import Utils
|
|
from ignis.widgets import Widget
|
|
from services.material import MaterialService
|
|
from ignis.services.fetch import FetchService
|
|
|
|
fetch = FetchService.get_default()
|
|
material = MaterialService.get_default()
|
|
|
|
|
|
def about_entry(active_page):
|
|
about_page = SettingsPage(
|
|
name="About",
|
|
groups=[
|
|
Widget.Box(
|
|
child=[
|
|
Widget.Picture(
|
|
image=material.bind(
|
|
"dark_mode",
|
|
transform=lambda value: fetch.os_logo_text_dark
|
|
if value
|
|
else fetch.os_logo_text,
|
|
),
|
|
width=300,
|
|
height=100,
|
|
)
|
|
],
|
|
halign="center",
|
|
width_request=300,
|
|
height_request=100,
|
|
),
|
|
SettingsRow(label="OS", sublabel=fetch.os_name),
|
|
SettingsRow(label="Ignis version", sublabel=Utils.get_ignis_version()),
|
|
SettingsRow(label="Session type", sublabel=fetch.session_type),
|
|
SettingsRow(label="Wayland compositor", sublabel=fetch.current_desktop),
|
|
SettingsRow(label="Kernel", sublabel=fetch.kernel),
|
|
],
|
|
)
|
|
return SettingsEntry(
|
|
label="About",
|
|
icon="help-about-symbolic",
|
|
active_page=active_page,
|
|
page=about_page,
|
|
)
|