[gtk/wip/exalm/boxed-list: 229/229] theme: Port .boxed-list style from libadwaita




commit 883e40e6aeb8d2603d8efd30f365bcdff065b743
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Thu Jun 9 22:42:45 2022 +0400

    theme: Port .boxed-list style from libadwaita
    
    Consistently use it for boxed lists in inspector and gtk-demo.
    
    Fixes issues like https://gitlab.gnome.org/GNOME/gtk/-/issues/3145

 demos/gtk-demo/listbox_controls.ui |  398 +++++++------
 gtk/gtklistbox.c                   |    5 +-
 gtk/inspector/clipboard.ui         |  157 +++--
 gtk/inspector/general.c            |    6 +-
 gtk/inspector/general.ui           | 1128 ++++++++++++++++++------------------
 gtk/inspector/misc-info.ui         | 1071 ++++++++++++++++------------------
 gtk/inspector/visual.ui            | 1103 +++++++++++++++++------------------
 gtk/theme/Default/_common.scss     |   32 +
 8 files changed, 1896 insertions(+), 2004 deletions(-)
---
diff --git a/demos/gtk-demo/listbox_controls.ui b/demos/gtk-demo/listbox_controls.ui
index c2c8a1f1cf..ab4419e54d 100644
--- a/demos/gtk-demo/listbox_controls.ui
+++ b/demos/gtk-demo/listbox_controls.ui
@@ -30,90 +30,86 @@
                   </object>
                 </child>
                 <child>
-                  <object class="GtkFrame">
-                    <child>
-                      <object class="GtkListBox">
-                        <property name="selection-mode">none</property>
-                        <property name="show-separators">1</property>
-                        <signal name="row-activated" handler="row_activated"/>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                  <object class="GtkListBox">
+                    <property name="selection-mode">none</property>
+                    <signal name="row-activated" handler="row_activated"/>
+                    <style>
+                      <class name="rich-list"/>
+                      <class name="boxed-list"/>
+                    </style>
 
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <child>
+                              <object class="GtkLabel" id="switch_label">
+                                <property name="label" translatable="yes">Switch</property>
+                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                              </object>
+                            </child>
                             <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="switch_label">
-                                    <property name="label" translatable="yes">Switch</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                  </object>
-                                </child>
+                              <object class="GtkSwitch" id="switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
 
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <child>
+                              <object class="GtkLabel" id="check_label">
+                                <property name="label" translatable="yes">Check</property>
+                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                              </object>
+                            </child>
                             <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="check_label">
-                                    <property name="label" translatable="yes">Check</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="check">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="margin-start">10</property>
-                                    <property name="margin-end">10</property>
-                                    <property name="active">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkCheckButton" id="check">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="active">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
 
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <child>
+                              <object class="GtkLabel" id="image_label">
+                                <property name="label" translatable="yes">Click here!</property>
+                                <property name="xalign">0</property>
+                                <property name="halign">start</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                              </object>
+                            </child>
                             <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="image_label">
-                                    <property name="label" translatable="yes">Click here!</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkImage" id="image">
-                                    <property name="icon-name">object-select-symbolic</property>
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="margin-start">10</property>
-                                    <property name="margin-end">10</property>
-                                    <property name="opacity">0</property>
-                                  </object>
-                                </child>
+                              <object class="GtkImage" id="image">
+                                <property name="icon-name">object-select-symbolic</property>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="opacity">0</property>
                               </object>
                             </child>
                           </object>
@@ -134,146 +130,142 @@
                     </style>
                   </object>
                 </child>
-                <child>
-                  <object class="GtkFrame">
-                    <child>
-                      <object class="GtkListBox">
-                        <property name="selection-mode">none</property>
-                        <property name="show-separators">1</property>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                  <child>
+                    <object class="GtkListBox">
+                      <property name="selection-mode">none</property>
+                      <style>
+                        <class name="rich-list"/>
+                        <class name="boxed-list"/>
+                      </style>
 
-                        <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
-                            <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="scale_label">
-                                    <property name="label" translatable="yes">Scale</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkScale">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="draw-value">0</property>
-                                    <property name="width-request">150</property>
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment">
-                                        <property name="upper">100</property>
-                                        <property name="value">50</property>
-                                        <property name="step-increment">1</property>
-                                        <property name="page-increment">10</property>
-                                      </object>
-                                    </property>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
+                      <child>
+                        <object class="GtkListBoxRow">
+                          <property name="activatable">0</property>
+                          <child>
+                            <object class="GtkBox">
+                              <child>
+                                <object class="GtkLabel" id="scale_label">
+                                  <property name="label" translatable="yes">Scale</property>
+                                  <property name="xalign">0</property>
+                                  <property name="halign">start</property>
+                                  <property name="valign">center</property>
+                                  <property name="hexpand">1</property>
+                                </object>
+                              </child>
+                              <child>
+                                <object class="GtkScale">
+                                  <property name="halign">end</property>
+                                  <property name="valign">center</property>
+                                  <property name="draw-value">0</property>
+                                  <property name="width-request">150</property>
+                                  <property name="adjustment">
+                                    <object class="GtkAdjustment">
+                                      <property name="upper">100</property>
+                                      <property name="value">50</property>
+                                      <property name="step-increment">1</property>
+                                      <property name="page-increment">10</property>
+                                    </object>
+                                  </property>
+                                </object>
+                              </child>
+                            </object>
+                          </child>
+                        </object>
+                      </child>
 
-                        <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
-                            <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="spin_label">
-                                    <property name="label" translatable="yes">Spinbutton</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSpinButton">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment">
-                                        <property name="upper">100</property>
-                                        <property name="value">50</property>
-                                        <property name="step-increment">1</property>
-                                        <property name="page-increment">10</property>
-                                      </object>
-                                    </property>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
-                            <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="dropdown_label">
-                                    <property name="label" translatable="yes">Dropdown</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkDropDown">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="model">
-                                      <object class="GtkStringList">
-                                        <items>
-                                          <item>Choice 1</item>
-                                          <item>Choice 2</item>
-                                          <item>Choice 3</item>
-                                          <item>Choice 4</item>
-                                        </items>
-                                      </object>
-                                    </property>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
+                      <child>
+                        <object class="GtkListBoxRow">
+                          <property name="activatable">0</property>
+                          <child>
+                            <object class="GtkBox">
+                              <child>
+                                <object class="GtkLabel" id="spin_label">
+                                  <property name="label" translatable="yes">Spinbutton</property>
+                                  <property name="xalign">0</property>
+                                  <property name="halign">start</property>
+                                  <property name="valign">center</property>
+                                  <property name="hexpand">1</property>
+                                </object>
+                              </child>
+                              <child>
+                                <object class="GtkSpinButton">
+                                  <property name="halign">end</property>
+                                  <property name="valign">center</property>
+                                  <property name="adjustment">
+                                    <object class="GtkAdjustment">
+                                      <property name="upper">100</property>
+                                      <property name="value">50</property>
+                                      <property name="step-increment">1</property>
+                                      <property name="page-increment">10</property>
+                                    </object>
+                                  </property>
+                                </object>
+                              </child>
+                            </object>
+                          </child>
+                        </object>
+                      </child>
+                      <child>
+                        <object class="GtkListBoxRow">
+                          <property name="activatable">0</property>
+                          <child>
+                            <object class="GtkBox">
+                              <child>
+                                <object class="GtkLabel" id="dropdown_label">
+                                  <property name="label" translatable="yes">Dropdown</property>
+                                  <property name="xalign">0</property>
+                                  <property name="halign">start</property>
+                                  <property name="valign">center</property>
+                                  <property name="hexpand">1</property>
+                                </object>
+                              </child>
+                              <child>
+                                <object class="GtkDropDown">
+                                  <property name="halign">end</property>
+                                  <property name="valign">center</property>
+                                  <property name="model">
+                                    <object class="GtkStringList">
+                                      <items>
+                                        <item>Choice 1</item>
+                                        <item>Choice 2</item>
+                                        <item>Choice 3</item>
+                                        <item>Choice 4</item>
+                                      </items>
+                                    </object>
+                                  </property>
+                                </object>
+                              </child>
+                            </object>
+                          </child>
+                        </object>
+                      </child>
 
-                        <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
-                            <child>
-                              <object class="GtkBox">
-                                <child>
-                                  <object class="GtkLabel" id="entry_label">
-                                    <property name="label" translatable="yes">Entry</property>
-                                    <property name="xalign">0</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkEntry">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="placeholder-text">Type here…</property>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
+                      <child>
+                        <object class="GtkListBoxRow">
+                          <property name="activatable">0</property>
+                          <child>
+                            <object class="GtkBox">
+                              <child>
+                                <object class="GtkLabel" id="entry_label">
+                                  <property name="label" translatable="yes">Entry</property>
+                                  <property name="xalign">0</property>
+                                  <property name="halign">start</property>
+                                  <property name="valign">center</property>
+                                  <property name="hexpand">1</property>
+                                </object>
+                              </child>
+                              <child>
+                                <object class="GtkEntry">
+                                  <property name="halign">end</property>
+                                  <property name="valign">center</property>
+                                  <property name="placeholder-text">Type here…</property>
+                                </object>
+                              </child>
+                            </object>
+                          </child>
+                        </object>
+                      </child>
 
-                      </object>
-                    </child>
                   </object>
                 </child>
               </object>
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index e27533087a..ef0e42c8cb 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -73,7 +73,7 @@
  * # CSS nodes
  *
  * |[<!-- language="plain" -->
- * list[.separators][.rich-list][.navigation-sidebar]
+ * list[.separators][.rich-list][.navigation-sidebar][.boxed-list]
  * ╰── row[.activatable]
  * ]|
  *
@@ -82,6 +82,9 @@
  * Each `GtkListBoxRow` uses a single CSS node named row. The row nodes get the
  * .activatable style class added when appropriate.
  *
+ * It may also carry the .boxed-list style class. In this case, the list will be
+ * automatically surrounded by a frame and have separators.
+ *
  * The main list node may also carry style classes to select
  * the style of [list presentation](section-list-widget.html#list-styles):
  * .rich-list, .navigation-sidebar or .data-table.
diff --git a/gtk/inspector/clipboard.ui b/gtk/inspector/clipboard.ui
index bc9647f0bf..d5a1f53b62 100644
--- a/gtk/inspector/clipboard.ui
+++ b/gtk/inspector/clipboard.ui
@@ -13,80 +13,74 @@
             <property name="margin-bottom">60</property>
             <property name="spacing">10</property>
             <child>
-              <object class="GtkFrame">
+              <object class="GtkListBox" id="dnd_formats">
+                <property name="selection-mode">none</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="dnd_formats">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Drag and hold here</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="dnd_info">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Drag and hold here</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
                           </object>
                         </child>
                         <child>
-                          <object class="GtkDropControllerMotion">
-                            <signal name="enter" handler="on_drop_enter" swapped="no"/>
+                          <object class="GtkLabel" id="dnd_info">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                    <child>
+                      <object class="GtkDropControllerMotion">
+                        <signal name="enter" handler="on_drop_enter" swapped="no"/>
+                      </object>
+                    </child>
                   </object>
                 </child>
               </object>
             </child>
             <child>
-              <object class="GtkFrame">
+              <object class="GtkListBox" id="clipboard_formats">
+                <property name="selection-mode">none</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="clipboard_formats">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Clipboard</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="clipboard_info">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Clipboard</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="clipboard_info">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -96,36 +90,33 @@
               </object>
             </child>
             <child>
-              <object class="GtkFrame">
+              <object class="GtkListBox" id="primary_formats">
+                <property name="selection-mode">none</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="primary_formats">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Primary</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
                         <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Primary</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="primary_info">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                          <object class="GtkLabel" id="primary_info">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index 951ce98d1e..e515e9313a 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -97,7 +97,7 @@ struct _GtkInspectorGeneral
   GtkWidget *vk_device;
   GtkWidget *vk_api_version;
   GtkWidget *vk_driver_version;
-  GtkWidget *app_id_frame;
+  GtkWidget *app_id_box;
   GtkWidget *app_id;
   GtkWidget *resource_path;
   GtkWidget *prefix;
@@ -185,7 +185,7 @@ init_app_id (GtkInspectorGeneral *gen)
   app = g_application_get_default ();
   if (!app)
     {
-      gtk_widget_hide (gen->app_id_frame);
+      gtk_widget_hide (gen->app_id_box);
       return;
     }
 
@@ -1134,7 +1134,7 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass)
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_device);
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_api_version);
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_driver_version);
-  gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, app_id_frame);
+  gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, app_id_box);
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, app_id);
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, resource_path);
   gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, prefix);
diff --git a/gtk/inspector/general.ui b/gtk/inspector/general.ui
index a75e532c3d..a313a9e22c 100644
--- a/gtk/inspector/general.ui
+++ b/gtk/inspector/general.ui
@@ -13,166 +13,163 @@
             <property name="margin-bottom">60</property>
             <property name="spacing">10</property>
             <child>
-              <object class="GtkFrame" id="version_frame">
+              <object class="GtkListBox" id="version_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="version_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gtk_version_label">
-                                <property name="label" translatable="yes">GTK Version</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gtk_version">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gtk_version_label">
+                            <property name="label" translatable="yes">GTK Version</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gtk_version">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gdk_backend_label">
-                                <property name="label" translatable="yes">GDK Backend</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gdk_backend">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gdk_backend_label">
+                            <property name="label" translatable="yes">GDK Backend</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gdk_backend">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gsk_renderer_label">
-                                <property name="label" translatable="yes">GSK Renderer</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gsk_renderer">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gsk_renderer_label">
+                            <property name="label" translatable="yes">GSK Renderer</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gsk_renderer">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="pango_fontmap_label">
-                                <property name="label" translatable="yes">Pango Fontmap</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="pango_fontmap">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="pango_fontmap_label">
+                            <property name="label" translatable="yes">Pango Fontmap</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="pango_fontmap">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="media_backend_label">
-                                <property name="label" translatable="yes">Media Backend</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="media_backend">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="media_backend_label">
+                            <property name="label" translatable="yes">Media Backend</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="media_backend">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="input_method_label">
-                                <property name="label" translatable="yes">Input Method</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="im_module">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="input_method_label">
+                            <property name="label" translatable="yes">Input Method</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="im_module">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -183,62 +180,59 @@
             </child>
 
             <child>
-              <object class="GtkFrame" id="app_id_frame">
+              <object class="GtkListBox" id="app_id_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="app_id_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="app_id_label">
-                                <property name="label" translatable="yes">Application ID</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="app_id">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="app_id_label">
+                            <property name="label" translatable="yes">Application ID</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="app_id">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="resource_path_label">
-                                <property name="label" translatable="yes">Resource Path</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="resource_path">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="resource_path_label">
+                            <property name="label" translatable="yes">Resource Path</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="resource_path">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -249,199 +243,196 @@
             </child>
 
             <child>
-              <object class="GtkFrame" id="env_frame">
+              <object class="GtkListBox" id="env_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="env_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="prefix_label">
-                                <property name="label" translatable="yes">Prefix</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="prefix">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="prefix_label">
+                            <property name="label" translatable="yes">Prefix</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="prefix">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="xdg_data_home_label">
-                                <property name="label">XDG_DATA_HOME</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="xdg_data_home">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="xdg_data_home_label">
+                            <property name="label">XDG_DATA_HOME</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="xdg_data_home">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="xdg_data_dirs_label">
-                                <property name="label">XDG_DATA_DIRS</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="xdg_data_dirs">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="xdg_data_dirs_label">
+                            <property name="label">XDG_DATA_DIRS</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="xdg_data_dirs">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gtk_path_label">
-                                <property name="label">GTK_PATH</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gtk_path">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gtk_path_label">
+                            <property name="label">GTK_PATH</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gtk_path">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gtk_exe_prefix_label">
-                                <property name="label">GTK_EXE_PREFIX</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gtk_exe_prefix">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gtk_exe_prefix_label">
+                            <property name="label">GTK_EXE_PREFIX</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gtk_exe_prefix">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gtk_data_prefix_label">
-                                <property name="label">GTK_DATA_PREFIX</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gtk_data_prefix">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gtk_data_prefix_label">
+                            <property name="label">GTK_DATA_PREFIX</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gtk_data_prefix">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gsettings_schema_dir_label">
-                                <property name="label">GSETTINGS_SCHEMA_DIR</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gsettings_schema_dir">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gsettings_schema_dir_label">
+                            <property name="label">GSETTINGS_SCHEMA_DIR</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gsettings_schema_dir">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -451,89 +442,86 @@
               </object>
             </child>
             <child>
-              <object class="GtkFrame" id="display_frame">
+              <object class="GtkListBox" id="display_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="display_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="display_label">
-                                <property name="label" translatable="yes">Display</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="display_name">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="display_label">
+                            <property name="label" translatable="yes">Display</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="display_name">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="display_rgba_label">
-                                <property name="label" translatable="yes">RGBA Visual</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="display_rgba">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="display_rgba_label">
+                            <property name="label" translatable="yes">RGBA Visual</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="display_rgba">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="display_composited_label">
-                                <property name="label" translatable="yes">Composited</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="display_composited">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="display_composited_label">
+                            <property name="label" translatable="yes">Composited</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="display_composited">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -543,100 +531,94 @@
               </object>
             </child>
             <child>
-              <object class="GtkFrame" id="monitor_frame">
+              <object class="GtkListBox" id="monitor_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
-                <child>
-                  <object class="GtkListBox" id="monitor_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
-                  </object>
-                </child>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
               </object>
             </child>
             <child>
-              <object class="GtkFrame" id="gl_frame">
+              <object class="GtkListBox" id="gl_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="gl_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gl_version_label">
-                                <property name="label" translatable="yes">GL Version</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gl_version">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gl_version_label">
+                            <property name="label" translatable="yes">GL Version</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gl_version">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="gl_error_row">
+                    <property name="activatable">0</property>
+                    <property name="visible">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="gl_error_row">
-                        <property name="activatable">0</property>
-                        <property name="visible">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gl_error">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                                <style>
-                                  <class name="error"/>
-                                </style>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gl_error">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
+                            <style>
+                              <class name="error"/>
+                            </style>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="gl_vendor_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="gl_vendor_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="gl_vendor_label">
-                                <property name="label" translatable="yes">GL Vendor</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="gl_vendor">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="gl_vendor_label">
+                            <property name="label" translatable="yes">GL Vendor</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="gl_vendor">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -646,91 +628,88 @@
               </object>
             </child>
             <child>
-              <object class="GtkFrame" id="vulkan_frame">
+              <object class="GtkListBox" id="vulkan_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox" id="vulkan_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="vk_device_label">
-                                <property name="label" translatable="yes">Vulkan Device</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="vk_device">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="vk_device_label">
+                            <property name="label" translatable="yes">Vulkan Device</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="vk_device">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="vk_api_version_label">
-                                <property name="label" translatable="yes">Vulkan API version</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="vk_api_version">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="vk_api_version_label">
+                            <property name="label" translatable="yes">Vulkan API version</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="vk_api_version">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="vk_driver_version_label">
-                                <property name="label" translatable="yes">Vulkan driver version</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="vk_driver_version">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="vk_driver_version_label">
+                            <property name="label" translatable="yes">Vulkan driver version</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="vk_driver_version">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                            <property name="hexpand">1</property>
                           </object>
                         </child>
                       </object>
@@ -740,16 +719,13 @@
               </object>
             </child>
             <child>
-              <object class="GtkFrame" id="device_frame">
+              <object class="GtkListBox" id="device_box">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
-                <child>
-                  <object class="GtkListBox" id="device_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="rich-list"/>
-                    </style>
-                  </object>
-                </child>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
               </object>
             </child>
           </object>
@@ -785,14 +761,14 @@
   </object>
   <object class="GtkSizeGroup">
     <widgets>
-      <widget name="version_frame"/>
-      <widget name="app_id_frame"/>
-      <widget name="gl_frame"/>
-      <widget name="monitor_frame"/>
-      <widget name="vulkan_frame"/>
-      <widget name="env_frame"/>
-      <widget name="display_frame"/>
-      <widget name="device_frame"/>
+      <widget name="version_box"/>
+      <widget name="app_id_box"/>
+      <widget name="gl_box"/>
+      <widget name="monitor_box"/>
+      <widget name="vulkan_box"/>
+      <widget name="env_box"/>
+      <widget name="display_box"/>
+      <widget name="device_box"/>
     </widgets>
   </object>
 </interface>
diff --git a/gtk/inspector/misc-info.ui b/gtk/inspector/misc-info.ui
index efe9bccce8..3a7696b7a4 100644
--- a/gtk/inspector/misc-info.ui
+++ b/gtk/inspector/misc-info.ui
@@ -12,696 +12,609 @@
             <property name="margin-bottom">60</property>
             <property name="spacing">10</property>
             <child>
-              <object class="GtkFrame">
+              <object class="GtkListBox">
+                <property name="selection-mode">none</property>
                 <property name="halign">center</property>
+                <property name="hexpand">False</property>
+                <style>
+                  <class name="rich-list"/>
+                  <class name="boxed-list"/>
+                </style>
                 <child>
-                  <object class="GtkListBox">
-                    <property name="selection-mode">none</property>
+                  <object class="GtkListBoxRow" id="address_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="address_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="address_label">
-                                <property name="label" translatable="yes">Address</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="address">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="address_label">
+                            <property name="label" translatable="yes">Address</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="address">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="type_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="type_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="type_label">
-                                <property name="label" translatable="yes">Type</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkMenuButton" id="type">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="type_label">
+                            <property name="label" translatable="yes">Type</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkMenuButton" id="type">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="refcount_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="refcount_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="refcount_label">
-                                <property name="label" translatable="yes">Reference Count</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="refcount">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="refcount_label">
+                            <property name="label" translatable="yes">Reference Count</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="refcount">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="state_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="state_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="state_label">
-                                <property name="label" translatable="yes">State</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="state">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="state_label">
+                            <property name="label" translatable="yes">State</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="state">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="direction_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="direction_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="direction_label">
-                                <property name="label" translatable="yes">Direction</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="direction">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="direction_label">
+                            <property name="label" translatable="yes">Direction</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="direction">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="buildable_id_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="buildable_id_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="buildable_id_label">
-                                <property name="label" translatable="yes">Buildable ID</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="buildable_id">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="buildable_id_label">
+                            <property name="label" translatable="yes">Buildable ID</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="buildable_id">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="mnemonic_label_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="mnemonic_label_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Mnemonic Label</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkBox" id="mnemonic_label">
-                                <property name="spacing">10</property>
-                                <property name="halign">end</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Mnemonic Label</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="mnemonic_label">
+                            <property name="spacing">10</property>
+                            <property name="halign">end</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="request_mode_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="request_mode_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Request Mode</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="request_mode">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Request Mode</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="request_mode">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="measure_info_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="measure_info_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Measure map</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkToggleButton" id="measure_show">
-                                <property name="label" translatable="yes">Show</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <signal name="clicked" handler="update_measure_picture" swapped="yes" 
after="1" object="measure_picture"/>
-                                <signal name="clicked" handler="measure_graph_measure" after="1"/>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkToggleButton" id="measure_expand_toggle">
-                                <property name="label" translatable="yes">Expand</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <signal name="clicked" handler="update_measure_picture" swapped="yes" 
after="1" object="measure_picture"/>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Measure map</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkToggleButton" id="measure_show">
+                            <property name="label" translatable="yes">Show</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <signal name="clicked" handler="update_measure_picture" swapped="yes" after="1" 
object="measure_picture"/>
+                            <signal name="clicked" handler="measure_graph_measure" after="1"/>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkToggleButton" id="measure_expand_toggle">
+                            <property name="label" translatable="yes">Expand</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <signal name="clicked" handler="update_measure_picture" swapped="yes" after="1" 
object="measure_picture"/>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="measure_row">
+                    <property name="activatable">0</property>
+                    <property name="visible" bind-source="measure_show" bind-property="active" 
bind-flags="sync-create"/>
                     <child>
-                      <object class="GtkListBoxRow" id="measure_row">
-                        <property name="activatable">0</property>
-                        <property name="visible" bind-source="measure_show" bind-property="active" 
bind-flags="sync-create"/>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkPicture" id="measure_picture">
+                            <property name="paintable">
+                              <object class="GtkInspectorMeasureGraph" id="measure_graph" />
+                            </property>
+                            <property name="can-shrink">0</property>
+                            <property name="hexpand">1</property>
                             <child>
-                              <object class="GtkPicture" id="measure_picture">
-                                <property name="paintable">
-                                  <object class="GtkInspectorMeasureGraph" id="measure_graph" />
-                                </property>
-                                <property name="can-shrink">0</property>
-                                <property name="hexpand">1</property>
-                                <child>
-                                  <object class="GtkDragSource">
-                                    <signal name="prepare" handler="measure_picture_drag_prepare" 
swapped="no"/>
-                                  </object>
-                                </child>
+                              <object class="GtkDragSource">
+                                <signal name="prepare" handler="measure_picture_drag_prepare" swapped="no"/>
                               </object>
                             </child>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="allocated_size_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="allocated_size_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Allocation</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="allocated_size">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Allocation</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="allocated_size">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="baseline_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="baseline_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Baseline</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="baseline">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Baseline</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="baseline">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="surface_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="surface_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="surface_label">
-                                <property name="label" translatable="yes">Surface</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="surface">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="surface_button">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="label" translatable="yes">Properties</property>
-                                <signal name="clicked" handler="show_surface"/>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="surface_label">
+                            <property name="label" translatable="yes">Surface</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="surface">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="surface_button">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="label" translatable="yes">Properties</property>
+                            <signal name="clicked" handler="show_surface"/>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="renderer_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="renderer_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="renderer_label">
-                                <property name="label" translatable="yes">Renderer</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="renderer">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="renderer_button">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="label" translatable="yes">Properties</property>
-                                <signal name="clicked" handler="show_renderer"/>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="renderer_label">
+                            <property name="label" translatable="yes">Renderer</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="renderer">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="renderer_button">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="label" translatable="yes">Properties</property>
+                            <signal name="clicked" handler="show_renderer"/>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="frame_clock_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="frame_clock_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="frame_clock_label">
-                                <property name="label" translatable="yes">Frame Clock</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="frame_clock">
-                                <property name="selectable">1</property>
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="ellipsize">end</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="frame_clock_button">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="label" translatable="yes">Properties</property>
-                                <signal name="clicked" handler="show_frame_clock"/>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel" id="frame_clock_label">
+                            <property name="label" translatable="yes">Frame Clock</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0.0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="frame_clock">
+                            <property name="selectable">1</property>
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="ellipsize">end</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="frame_clock_button">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="label" translatable="yes">Properties</property>
+                            <signal name="clicked" handler="show_frame_clock"/>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="tick_callback_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="tick_callback_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Tick Callback</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="tick_callback">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Tick Callback</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="tick_callback">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="framecount_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="framecount_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Frame Count</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="framecount">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Frame Count</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="framecount">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="framerate_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="framerate_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Frame Rate</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="framerate">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Frame Rate</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="framerate">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="mapped_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="mapped_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Mapped</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="mapped">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Mapped</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="mapped">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="realized_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="realized_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Realized</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="realized">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Realized</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="realized">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="is_toplevel_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="is_toplevel_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Is Toplevel</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="is_toplevel">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Is Toplevel</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="is_toplevel">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkListBoxRow" id="child_visible_row">
+                    <property name="activatable">0</property>
                     <child>
-                      <object class="GtkListBoxRow" id="child_visible_row">
-                        <property name="activatable">0</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Child Visible</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0</property>
-                                <property name="hexpand">1</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkImage" id="child_visible">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="icon-name">object-select-symbolic</property>
-                              </object>
-                            </child>
+                      <object class="GtkBox">
+                        <property name="spacing">40</property>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Child Visible</property>
+                            <property name="halign">start</property>
+                            <property name="valign">baseline</property>
+                            <property name="xalign">0</property>
+                            <property name="hexpand">1</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkImage" id="child_visible">
+                            <property name="halign">end</property>
+                            <property name="valign">baseline</property>
+                            <property name="icon-name">object-select-symbolic</property>
                           </object>
                         </child>
                       </object>
diff --git a/gtk/inspector/visual.ui b/gtk/inspector/visual.ui
index 2915a3685d..e1026cb547 100644
--- a/gtk/inspector/visual.ui
+++ b/gtk/inspector/visual.ui
@@ -16,352 +16,349 @@
                 <property name="margin-bottom">60</property>
                 <property name="spacing">10</property>
                 <child>
-                  <object class="GtkFrame" id="visual_frame">
+                  <object class="GtkListBox" id="visual_box">
+                    <property name="selection-mode">none</property>
                     <property name="halign">center</property>
+                    <style>
+                      <class name="rich-list"/>
+                      <class name="boxed-list"/>
+                    </style>
                     <child>
-                      <object class="GtkListBox" id="visual_box">
-                        <property name="selection-mode">none</property>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="theme_label">
-                                    <property name="label" translatable="yes">GTK Theme</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkDropDown" id="theme_combo">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="theme_label">
+                                <property name="label" translatable="yes">GTK Theme</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkDropDown" id="theme_combo">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="dark_label">
-                                    <property name="label" translatable="yes">Dark Variant</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="dark_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="dark_label">
+                                <property name="label" translatable="yes">Dark Variant</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="dark_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="cursor_label">
-                                    <property name="label" translatable="yes">Cursor Theme</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkDropDown" id="cursor_combo">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="cursor_label">
+                                <property name="label" translatable="yes">Cursor Theme</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkDropDown" id="cursor_combo">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="cursor_size_label">
-                                    <property name="label" translatable="yes">Cursor Size</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSpinButton" id="cursor_size_spin">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="max-width-chars">2</property>
-                                    <property name="width-chars">2</property>
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment" id="cursor_size_adjustment">
-                                        <property name="lower">16</property>
-                                        <property name="upper">128</property>
-                                        <property name="step-increment">8</property>
-                                        <property name="page-increment">8</property>
-                                      </object>
-                                    </property>
-                                    <property name="snap-to-ticks">1</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="cursor_size_label">
+                                <property name="label" translatable="yes">Cursor Size</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" id="cursor_size_spin">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="max-width-chars">2</property>
+                                <property name="width-chars">2</property>
+                                <property name="adjustment">
+                                  <object class="GtkAdjustment" id="cursor_size_adjustment">
+                                    <property name="lower">16</property>
+                                    <property name="upper">128</property>
+                                    <property name="step-increment">8</property>
+                                    <property name="page-increment">8</property>
+                                  </object>
+                                </property>
+                                <property name="snap-to-ticks">1</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="icon_label">
-                                    <property name="label" translatable="yes">Icon Theme</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkDropDown" id="icon_combo">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="icon_label">
+                                <property name="label" translatable="yes">Icon Theme</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkDropDown" id="icon_combo">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="font_label">
-                                    <property name="label" translatable="yes">Font</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkFontButton" id="font_button">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="font_label">
+                                <property name="label" translatable="yes">Font</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkFontButton" id="font_button">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">20</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">20</property>
-                                <child>
-                                  <object class="GtkLabel" id="font_scale_label">
-                                    <property name="label" translatable="yes">Font Scale</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkScale" id="font_scale_scale">
-                                    <property name="valign">baseline</property>
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment" id="font_scale_adjustment">
-                                        <property name="lower">0.5</property>
-                                        <property name="upper">2</property>
-                                        <property name="step-increment">0.01</property>
-                                        <property name="page-increment">0.01</property>
-                                      </object>
-                                    </property>
-                                    <property name="draw-value">0</property>
-                                    <property name="hexpand">1</property>
-                                    <marks>
-                                      <mark value="1.0" position="top"></mark>
-                                    </marks>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkEntry" id="font_scale_entry">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="width-chars">4</property>
-                                    <property name="max-width-chars">4</property>
-                                    <property name="input-purpose">number</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="font_scale_label">
+                                <property name="label" translatable="yes">Font Scale</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkScale" id="font_scale_scale">
+                                <property name="valign">baseline</property>
+                                <property name="adjustment">
+                                  <object class="GtkAdjustment" id="font_scale_adjustment">
+                                    <property name="lower">0.5</property>
+                                    <property name="upper">2</property>
+                                    <property name="step-increment">0.01</property>
+                                    <property name="page-increment">0.01</property>
+                                  </object>
+                                </property>
+                                <property name="draw-value">0</property>
+                                <property name="hexpand">1</property>
+                                <marks>
+                                  <mark value="1.0" position="top"></mark>
+                                </marks>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkEntry" id="font_scale_entry">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="width-chars">4</property>
+                                <property name="max-width-chars">4</property>
+                                <property name="input-purpose">number</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="direction_label">
-                                    <property name="label" translatable="yes">Text Direction</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkDropDown" id="direction_combo">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::selected" handler="direction_changed"/>
-                                    <property name="model">
-                                      <object class="GtkStringList">
-                                        <items>
-                                          <item translatable="yes">Left-to-Right</item>
-                                          <item translatable="yes">Right-to-Left</item>
-                                        </items>
-                                      </object>
-                                    </property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="direction_label">
+                                <property name="label" translatable="yes">Text Direction</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkDropDown" id="direction_combo">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::selected" handler="direction_changed"/>
+                                <property name="model">
+                                  <object class="GtkStringList">
+                                    <items>
+                                      <item translatable="yes">Left-to-Right</item>
+                                      <item translatable="yes">Right-to-Left</item>
+                                    </items>
+                                  </object>
+                                </property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="hidpi_label">
-                                    <property name="label" translatable="yes">Window Scaling</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSpinButton" id="hidpi_spin">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment" id="scale_adjustment">
-                                        <property name="lower">1</property>
-                                        <property name="upper">3</property>
-                                        <property name="step-increment">1</property>
-                                        <property name="page-increment">1</property>
-                                      </object>
-                                    </property>
-                                    <property name="snap-to-ticks">1</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="hidpi_label">
+                                <property name="label" translatable="yes">Window Scaling</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSpinButton" id="hidpi_spin">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="adjustment">
+                                  <object class="GtkAdjustment" id="scale_adjustment">
+                                    <property name="lower">1</property>
+                                    <property name="upper">3</property>
+                                    <property name="step-increment">1</property>
+                                    <property name="page-increment">1</property>
+                                  </object>
+                                </property>
+                                <property name="snap-to-ticks">1</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="animation_label">
-                                    <property name="label" translatable="yes">Animations</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="animation_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="animation_label">
+                                <property name="label" translatable="yes">Animations</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="animation_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
+                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkListBoxRow">
-                            <property name="activatable">0</property>
+                          <object class="GtkBox">
+                            <property name="spacing">20</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">20</property>
-                                <child>
-                                  <object class="GtkLabel" id="slowdown_label">
-                                    <property name="label" translatable="yes">Slowdown</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkScale" id="slowdown_scale">
-                                    <property name="adjustment">
-                                      <object class="GtkAdjustment" id="slowdown_adjustment">
-                                        <property name="lower">-3</property>
-                                        <property name="upper">3</property>
-                                        <property name="step-increment">1</property>
-                                        <property name="page-increment">1</property>
-                                      </object>
-                                    </property>
-                                    <property name="valign">baseline</property>
-                                    <property name="draw-value">0</property>
-                                    <property name="hexpand">1</property>
-                                    <marks>
-                                      <mark value="0.0" position="top"></mark>
-                                    </marks>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkEntry" id="slowdown_entry">
-                                    <property name="halign">end</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="width-chars">4</property>
-                                    <property name="max-width-chars">4</property>
-                                    <property name="input-purpose">number</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="slowdown_label">
+                                <property name="label" translatable="yes">Slowdown</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkScale" id="slowdown_scale">
+                                <property name="adjustment">
+                                  <object class="GtkAdjustment" id="slowdown_adjustment">
+                                    <property name="lower">-3</property>
+                                    <property name="upper">3</property>
+                                    <property name="step-increment">1</property>
+                                    <property name="page-increment">1</property>
+                                  </object>
+                                </property>
+                                <property name="valign">baseline</property>
+                                <property name="draw-value">0</property>
+                                <property name="hexpand">1</property>
+                                <marks>
+                                  <mark value="0.0" position="top"></mark>
+                                </marks>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkEntry" id="slowdown_entry">
+                                <property name="halign">end</property>
+                                <property name="valign">baseline</property>
+                                <property name="width-chars">4</property>
+                                <property name="max-width-chars">4</property>
+                                <property name="input-purpose">number</property>
                               </object>
                             </child>
                           </object>
@@ -371,261 +368,257 @@
                   </object>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="debug_frame">
+                  <object class="GtkListBox" id="debug_box">
+                    <property name="selection-mode">none</property>
                     <property name="halign">center</property>
+                    <style>
+                      <class name="rich-list"/>
+                      <class name="boxed-list"/>
+                    </style>
                     <child>
-                      <object class="GtkListBox" id="debug_box">
-                        <property name="selection-mode">none</property>
-                        <property name="show-separators">1</property>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="fps_label">
-                                    <property name="label" translatable="yes">Show fps overlay</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="fps_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="fps_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="fps_label">
+                                <property name="label" translatable="yes">Show fps overlay</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="fps_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="fps_activate"/>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="updates_label">
-                                    <property name="label" translatable="yes">Show Graphic Updates</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="updates_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="updates_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="updates_label">
+                                <property name="label" translatable="yes">Show Graphic Updates</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="updates_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="updates_activate"/>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="fallback_label">
-                                    <property name="label" translatable="yes">Show Fallback 
Rendering</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="fallback_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="fallback_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="fallback_label">
+                                <property name="label" translatable="yes">Show Fallback Rendering</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="fallback_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="fallback_activate"/>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="baselines_label">
-                                    <property name="label" translatable="yes">Show Baselines</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="baselines_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="baselines_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="baselines_label">
+                                <property name="label" translatable="yes">Show Baselines</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="baselines_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="baselines_activate"/>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
+                              <object class="GtkBox" id="layout_label_box">
+                                <property name="spacing">6</property>
                                 <child>
-                                  <object class="GtkBox" id="layout_label_box">
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="layout_label">
-                                        <property name="label" translatable="yes">Show Layout 
Borders</property>
-                                        <property name="halign">start</property>
-                                        <property name="valign">baseline</property>
-                                        <property name="xalign">0.0</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkMenuButton">
-                                        <property name="icon-name">dialog-question-symbolic</property>
-                                        <property name="popover">
-                                          <object class="GtkPopover">
+                                  <object class="GtkLabel" id="layout_label">
+                                    <property name="label" translatable="yes">Show Layout Borders</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkMenuButton">
+                                    <property name="icon-name">dialog-question-symbolic</property>
+                                    <property name="popover">
+                                      <object class="GtkPopover">
+                                        <child>
+                                          <object class="GtkGrid">
+                                            <property name="margin-top">10</property>
+                                            <property name="margin-bottom">10</property>
+                                            <property name="margin-start">10</property>
+                                            <property name="margin-end">10</property>
+                                            <property name="row-spacing">4</property>
+                                            <property name="column-spacing">4</property>
+                                            <child>
+                                              <object class="GtkDrawingArea">
+                                                <property name="name">css-padding-color</property>
+                                                <layout>
+                                                  <property name="column">0</property>
+                                                  <property name="row">0</property>
+                                                </layout>
+                                              </object>
+                                            </child>
                                             <child>
-                                              <object class="GtkGrid">
-                                                <property name="margin-top">10</property>
-                                                <property name="margin-bottom">10</property>
-                                                <property name="margin-start">10</property>
-                                                <property name="margin-end">10</property>
-                                                <property name="row-spacing">4</property>
-                                                <property name="column-spacing">4</property>
-                                                <child>
-                                                  <object class="GtkDrawingArea">
-                                                    <property name="name">css-padding-color</property>
-                                                    <layout>
-                                                      <property name="column">0</property>
-                                                      <property name="row">0</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkDrawingArea">
-                                                    <property name="name">css-border-color</property>
-                                                    <layout>
-                                                      <property name="column">0</property>
-                                                      <property name="row">1</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkDrawingArea">
-                                                    <property name="name">css-margin-color</property>
-                                                    <layout>
-                                                      <property name="column">0</property>
-                                                      <property name="row">2</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkDrawingArea">
-                                                    <property name="name">widget-margin-color</property>
-                                                    <layout>
-                                                      <property name="column">0</property>
-                                                      <property name="row">3</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkLabel">
-                                                    <property name="label" translatable="yes">CSS 
Padding</property>
-                                                    <property name="xalign">0</property>
-                                                    <layout>
-                                                      <property name="column">1</property>
-                                                      <property name="row">0</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkLabel">
-                                                    <property name="label" translatable="yes">CSS 
Border</property>
-                                                    <property name="xalign">0</property>
-                                                    <layout>
-                                                      <property name="column">1</property>
-                                                      <property name="row">1</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkLabel">
-                                                    <property name="label" translatable="yes">CSS 
Margin</property>
-                                                    <property name="xalign">0</property>
-                                                    <layout>
-                                                      <property name="column">1</property>
-                                                      <property name="row">2</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
-                                                <child>
-                                                  <object class="GtkLabel">
-                                                    <property name="label" translatable="yes">Widget 
Margin</property>
-                                                    <property name="xalign">0</property>
-                                                    <layout>
-                                                      <property name="column">1</property>
-                                                      <property name="row">3</property>
-                                                    </layout>
-                                                  </object>
-                                                </child>
+                                              <object class="GtkDrawingArea">
+                                                <property name="name">css-border-color</property>
+                                                <layout>
+                                                  <property name="column">0</property>
+                                                  <property name="row">1</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkDrawingArea">
+                                                <property name="name">css-margin-color</property>
+                                                <layout>
+                                                  <property name="column">0</property>
+                                                  <property name="row">2</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkDrawingArea">
+                                                <property name="name">widget-margin-color</property>
+                                                <layout>
+                                                  <property name="column">0</property>
+                                                  <property name="row">3</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel">
+                                                <property name="label" translatable="yes">CSS 
Padding</property>
+                                                <property name="xalign">0</property>
+                                                <layout>
+                                                  <property name="column">1</property>
+                                                  <property name="row">0</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel">
+                                                <property name="label" translatable="yes">CSS 
Border</property>
+                                                <property name="xalign">0</property>
+                                                <layout>
+                                                  <property name="column">1</property>
+                                                  <property name="row">1</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel">
+                                                <property name="label" translatable="yes">CSS 
Margin</property>
+                                                <property name="xalign">0</property>
+                                                <layout>
+                                                  <property name="column">1</property>
+                                                  <property name="row">2</property>
+                                                </layout>
+                                              </object>
+                                            </child>
+                                            <child>
+                                              <object class="GtkLabel">
+                                                <property name="label" translatable="yes">Widget 
Margin</property>
+                                                <property name="xalign">0</property>
+                                                <layout>
+                                                  <property name="column">1</property>
+                                                  <property name="row">3</property>
+                                                </layout>
                                               </object>
                                             </child>
                                           </object>
-                                        </property>
+                                        </child>
                                       </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="layout_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="layout_activate"/>
+                                    </property>
                                   </object>
                                 </child>
                               </object>
                             </child>
+                            <child>
+                              <object class="GtkSwitch" id="layout_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="layout_activate"/>
+                              </object>
+                            </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="focus_label">
-                                    <property name="label" translatable="yes">Show Focus</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="focus_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="focus_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="focus_label">
+                                <property name="label" translatable="yes">Show Focus</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="focus_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="focus_activate"/>
                               </object>
                             </child>
                           </object>
@@ -635,60 +628,56 @@
                   </object>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="misc_frame">
+                  <object class="GtkListBox" id="misc_box">
+                    <property name="selection-mode">none</property>
                     <property name="halign">center</property>
+                    <style>
+                      <class name="rich-list"/>
+                      <class name="boxed-list"/>
+                    </style>
                     <child>
-                      <object class="GtkListBox" id="misc_box">
-                        <property name="selection-mode">none</property>
-                        <property name="show-separators">1</property>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="touchscreen_label">
-                                    <property name="label" translatable="yes">Simulate Touchscreen</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="touchscreen_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="touchscreen_label">
+                                <property name="label" translatable="yes">Simulate Touchscreen</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="touchscreen_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
                               </object>
                             </child>
                           </object>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
+                          <object class="GtkBox">
+                            <property name="spacing">40</property>
                             <child>
-                              <object class="GtkBox">
-                                <property name="spacing">40</property>
-                                <child>
-                                  <object class="GtkLabel" id="software_gl_label">
-                                    <property name="label" translatable="yes">Software GL</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">baseline</property>
-                                    <property name="xalign">0.0</property>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkSwitch" id="software_gl_switch">
-                                    <property name="halign">end</property>
-                                    <property name="valign">center</property>
-                                    <property name="hexpand">1</property>
-                                    <signal name="notify::active" handler="software_gl_activate"/>
-                                  </object>
-                                </child>
+                              <object class="GtkLabel" id="software_gl_label">
+                                <property name="label" translatable="yes">Software GL</property>
+                                <property name="halign">start</property>
+                                <property name="valign">baseline</property>
+                                <property name="xalign">0.0</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="software_gl_switch">
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="hexpand">1</property>
+                                <signal name="notify::active" handler="software_gl_activate"/>
                               </object>
                             </child>
                           </object>
@@ -698,25 +687,21 @@
                   </object>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="inspector_frame">
+                  <object class="GtkListBox" id="inspector_box">
+                    <property name="selection-mode">none</property>
                     <property name="halign">center</property>
+                    <style>
+                      <class name="rich-list"/>
+                      <class name="boxed-list"/>
+                    </style>
                     <child>
-                      <object class="GtkListBox">
-                        <property name="selection-mode">none</property>
-                        <property name="show-separators">1</property>
-                        <style>
-                          <class name="rich-list"/>
-                        </style>
+                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkListBoxRow">
-                            <child>
-                              <object class="GtkButton">
-                                <property name="label" translatable="yes">Inspect Inspector</property>
-                                <property name="halign">center</property>
-                                <property name="valign">center</property>
-                                <signal name="clicked" handler="inspect_inspector"/>
-                              </object>
-                            </child>
+                          <object class="GtkButton">
+                            <property name="label" translatable="yes">Inspect Inspector</property>
+                            <property name="halign">center</property>
+                            <property name="valign">center</property>
+                            <signal name="clicked" handler="inspect_inspector"/>
                           </object>
                         </child>
                       </object>
@@ -767,10 +752,10 @@
   </object>
   <object class="GtkSizeGroup">
     <widgets>
-      <widget name="visual_frame"/>
-      <widget name="debug_frame"/>
-      <widget name="misc_frame"/>
-      <widget name="inspector_frame"/>
+      <widget name="visual_box"/>
+      <widget name="debug_box"/>
+      <widget name="misc_box"/>
+      <widget name="inspector_box"/>
     </widgets>
   </object>
 </interface>
diff --git a/gtk/theme/Default/_common.scss b/gtk/theme/Default/_common.scss
index 183ab80d2a..d2370ab818 100644
--- a/gtk/theme/Default/_common.scss
+++ b/gtk/theme/Default/_common.scss
@@ -3366,6 +3366,38 @@ columnview row:not(:selected) cell editablelabel.editing text selection {
   }
 }
 
+
+/**********************************************************************
+ * Boxed Lists                                                        *
+ * Lists inside a rounded frame. Can be used together with .rich-list *                                     *
+ **********************************************************************/
+
+.boxed-list {
+  border-radius: $window_radius;
+  border: 1px solid $borders_color;
+
+  > row {
+    @include focus-ring($offset: -1px);
+
+    border-bottom: 1px solid transparentize($borders_color, 0.5);
+
+    &:backdrop {
+      border-bottom-color: transparentize($backdrop_borders_color, 0.5);
+    }
+
+    &:first-child {
+      border-top-left-radius: $window_radius;
+      border-top-right-radius: $window_radius;
+    }
+
+    &:last-child {
+      border-bottom-left-radius: $window_radius;
+      border-bottom-right-radius: $window_radius;
+      border-bottom: none;
+    }
+  }
+}
+
 /*********************
  * App Notifications *
  *********************/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]