212 lines
7.2 KiB
XML
212 lines
7.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<requires lib="gtk" version="4.0"/>
|
|
<object class="GtkWindow" id="main_window">
|
|
<property name="decorated">false</property>
|
|
<property name="fullscreened">true</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">1</property>
|
|
<property name="spacing">16</property>
|
|
<property name="margin-top">32</property>
|
|
<property name="margin-bottom">24</property>
|
|
<property name="margin-start">32</property>
|
|
<property name="margin-end">32</property>
|
|
|
|
<!-- Top Bar: Title, Date & Clock -->
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">0</property>
|
|
<property name="valign">3</property>
|
|
<child>
|
|
<object class="GtkLabel" id="app_title_label">
|
|
<property name="label">Launcher Dashboard</property>
|
|
<style>
|
|
<class name="title-1"/>
|
|
</style>
|
|
<property name="hexpand">true</property>
|
|
<property name="xalign">0</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="date_label">
|
|
<property name="label">Daydayday, 00/00/0000</property>
|
|
<style>
|
|
<class name="date-display"/>
|
|
</style>
|
|
<property name="xalign">1</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="clock_label">
|
|
<property name="label">00:00</property>
|
|
<style>
|
|
<class name="clock-display"/>
|
|
</style>
|
|
<property name="xalign">1</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<!-- Middle: Status / Cards -->
|
|
<child>
|
|
<object class="GtkOverlay" id="content_area">
|
|
<property name="vexpand">true</property>
|
|
<property name="hexpand">true</property>
|
|
|
|
<!-- Cards -->
|
|
<child>
|
|
<object class="GtkRevealer" id="cards_revealer">
|
|
<property name="transition-type">crossfade</property>
|
|
<property name="transition-duration">500</property>
|
|
<property name="reveal-child">false</property>
|
|
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="cards_scroller">
|
|
<property name="vexpand">true</property>
|
|
<property name="hexpand">true</property>
|
|
|
|
<child>
|
|
<object class="GtkFlowBox" id="cards_flow">
|
|
<property name="halign">3</property>
|
|
<property name="valign">1</property>
|
|
<property name="max-children-per-line">3</property>
|
|
<property name="min-children-per-line">1</property>
|
|
<property name="row-spacing">16</property>
|
|
<property name="column-spacing">16</property>
|
|
<property name="selection-mode">0</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<!-- Startup message -->
|
|
<child type="overlay">
|
|
<object class="GtkRevealer" id="startup_revealer">
|
|
<property name="transition-type">crossfade</property>
|
|
<property name="transition-duration">500</property>
|
|
<property name="reveal-child">true</property>
|
|
<property name="halign">3</property>
|
|
<property name="valign">3</property>
|
|
|
|
<child>
|
|
<object class="GtkBox" id="startup_message">
|
|
<style>
|
|
<class name="startup-message"/>
|
|
</style>
|
|
<property name="orientation">1</property>
|
|
<property name="spacing">8</property>
|
|
<property name="halign">3</property>
|
|
<property name="valign">3</property>
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label">Connecting...</property>
|
|
<style>
|
|
<class name="startup-message-title"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label">Waiting for network connectivity before enabling services.</property>
|
|
<property name="justify">2</property>
|
|
<style>
|
|
<class name="startup-message-description"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
<!-- Bottom: Status Bar -->
|
|
<child>
|
|
<object class="GtkBox" id="status_bar">
|
|
<property name="orientation">0</property>
|
|
<property name="spacing">24</property>
|
|
<property name="valign">3</property>
|
|
<style>
|
|
<class name="status-bar"/>
|
|
</style>
|
|
<!-- Net Status -->
|
|
<child>
|
|
<object class="GtkLabel" id="net_status">
|
|
<property name="label">Net: Unknown</property>
|
|
<style>
|
|
<class name="error-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<!-- Ziti Status -->
|
|
<child>
|
|
<object class="GtkLabel" id="ziti_status">
|
|
<property name="label">Ziti: Unknown</property>
|
|
<style>
|
|
<class name="error-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<!-- Spacer -->
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="hexpand">true</property>
|
|
</object>
|
|
</child>
|
|
<!-- Power Menu Button with Popover -->
|
|
<child>
|
|
<object class="GtkMenuButton" id="power_menu_button">
|
|
<property name="icon-name">system-shutdown-symbolic</property>
|
|
<property name="tooltip-text">Power Options</property>
|
|
<style>
|
|
<class name="flat"/>
|
|
</style>
|
|
<property name="popover">
|
|
<object class="GtkPopover">
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">1</property>
|
|
<property name="spacing">6</property>
|
|
<property name="margin-start">12</property>
|
|
<property name="margin-end">12</property>
|
|
<property name="margin-top">12</property>
|
|
<property name="margin-bottom">12</property>
|
|
<child>
|
|
<object class="GtkButton" id="btn_reboot">
|
|
<property name="label">Restart</property>
|
|
<style>
|
|
<class name="flat"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="btn_shutdown">
|
|
<property name="label">Shutdown</property>
|
|
<style>
|
|
<class name="error-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</interface> |