sysd-manager 2.19.4

Application to empower user to manage their <b>systemd units</b> via Graphical User Interface. Not only are you able to make changes to the enablement and running status of each of the units, but you will also be able to view and modify their unit files and check the journal logs.
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 1.0 -->
<interface>
  <!-- interface-name unit_list_panel.ui -->
  <requires lib="gio" version="2.44"/>
  <requires lib="gtk" version="4.18"/>
  <requires lib="libadwaita" version="1.7"/>
  <template class="UnitListPanel" parent="GtkBox">
    <property name="orientation">vertical</property>
    <property name="vexpand">True</property>
    <property name="width-request">150</property>
    <child>
      <object class="GtkSearchBar" id="search_bar"/>
    </child>
    <child>
      <object class="AdwViewStack" id="panel_stack">
        <child>
          <object class="AdwViewStackPage">
            <property name="child">
              <object class="GtkBox">
                <property name="orientation">vertical</property>
                <child>
                  <object class="GtkScrolledWindow" id="scrolled_window">
                    <property name="vexpand">True</property>
                  </object>
                </child>
                <child>
                  <object class="AdwBreakpointBin">
                    <property name="child">
                      <object class="GtkBox" id="summary">
                        <property name="css-classes">bottom_sidebar</property>
                        <property name="spacing">10</property>
                        <child>
                          <object class="GtkBox">
                            <property name="hexpand">True</property>
                            <property name="margin-start">5</property>
                            <property name="spacing">5</property>
                            <child>
                              <object class="GtkLabel" id="loaded_units_count_label">
                                <property name="tooltip-text" translatable="yes" context="list tooltip">Loaded Units Retrieved</property>
                              </object>
                            </child>
                            <child>
                              <object class="GtkLabel" id="loaded_units_count_info">
                                <property name="label" translatable="yes" context="list info">Loaded Units Retrieved</property>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child>
                          <object class="GtkBox">
                            <property name="hexpand">True</property>
                            <property name="spacing">5</property>
                            <child>
                              <object class="GtkLabel" id="unit_files_count_label">
                                <property name="tooltip-text" translatable="yes" context="list tooltip">Unit Files Retrieved</property>
                              </object>
                            </child>
                            <child>
                              <object class="GtkLabel" id="unit_files_number_info">
                                <property name="label" translatable="yes" context="list info">Unit Files Retrieved</property>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child>
                          <object class="GtkBox">
                            <property name="hexpand">True</property>
                            <property name="spacing">5</property>
                            <child>
                              <object class="GtkLabel" id="unit_filtered_count_label">
                                <property name="tooltip-text" translatable="yes" context="list tooltip">Units displayed</property>
                              </object>
                            </child>
                            <child>
                              <object class="GtkLabel" id="unit_filtered_count_info">
                                <property name="label" translatable="yes" context="list info">Units Displayed</property>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child>
                          <object class="GtkButton">
                            <property name="css-classes">circular</property>
                            <property name="halign">end</property>
                            <property name="icon-name">window-close-symbolic</property>
                            <property name="tooltip-text" translatable="yes" context="list info tooltip">Hide Total Summary</property>
                            <signal name="clicked" handler="legend_button_clicked" swapped="True"/>
                          </object>
                        </child>
                      </object>
                    </property>
                    <property name="height-request">10</property>
                    <property name="width-request">150</property>
                    <child>
                      <object class="AdwBreakpoint">
                        <!-- Custom object fragments -->
                        <condition>max-width: 570px</condition>
                        <setter object="loaded_units_count_info" property="label" translatable="yes" context="list info" comments="short version">Loaded</setter>
                        <setter object="unit_files_number_info" property="label" translatable="yes" context="list info" comments="short version">Files</setter>
                        <setter object="unit_filtered_count_info" property="label" translatable="yes" context="list info" comments="short version">Units</setter>
                      </object>
                    </child>
                    <child>
                      <object class="AdwBreakpoint">
                        <!-- Custom object fragments -->
                        <condition>max-width: 290px</condition>
                        <setter object="loaded_units_count_info" property="label"/>
                        <setter object="unit_files_number_info" property="label"/>
                        <setter object="unit_filtered_count_info" property="label"/>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </property>
            <property name="name">unit_list</property>
          </object>
        </child>
        <child>
          <object class="AdwViewStackPage">
            <property name="child">
              <object class="AdwSpinner"/>
            </property>
            <property name="name">spinner</property>
          </object>
        </child>
        <child>
          <object class="AdwViewStackPage">
            <property name="child">
              <object class="AdwStatusPage">
                <property name="description" translatable="yes" context="list page description">No units returned, set environment variable &lt;b&gt;RUST_LOG=info&lt;/b&gt; to see what happened.</property>
                <property name="icon-name">sad-computer-symbolic</property>
                <property name="title" translatable="yes" context="list page title">Something went wrong</property>
              </object>
            </property>
            <property name="name">error</property>
          </object>
        </child>
        <child>
          <object class="AdwViewStackPage">
            <property name="child">
              <object class="AdwStatusPage">
                <property name="child">
                  <object class="GtkBox">
                    <property name="halign">baseline-center</property>
                    <property name="spacing">10</property>
                    <child>
                      <object class="GtkButton">
                        <property name="action-name">win.unit_list_filter_blank</property>
                        <property name="css-classes">suggested-action</property>
                        <child>
                          <object class="AdwButtonContent">
                            <property name="icon-name">funnel-symbolic</property>
                            <property name="label" translatable="yes" context="unit search" comments="Button label">Edit Filters</property>
                          </object>
                        </child>
                      </object>
                    </child>
                    <child>
                      <object class="GtkButton" id="clear_all_filters">
                        <property name="action-name">win.unit_list_filter_clear</property>
                        <property name="action-target">'all'</property>
                        <property name="css-classes">flat
destructive-action</property>
                        <property name="label" translatable="yes">Clear Filters</property>
                      </object>
                    </child>
                  </object>
                </property>
                <property name="description" translatable="yes" context="list page description" comments="When the filter is too restrictive">Overly restrictive filter</property>
                <property name="icon-name">funnel-outline-symbolic</property>
                <property name="title" translatable="yes" context="list page title">No Filtered Units</property>
              </object>
            </property>
            <property name="name">restrictive_filter</property>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>