[gnome-control-center/gbsneto/gtk4: 25/53] universal-access: Port to GTK4




commit 9995a3bb79ee0ab87202ecc8d0148a3c1dd25803
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Oct 20 13:24:38 2021 -0300

    universal-access: Port to GTK4
    
    This was quite a huge port, but fortunately it mostly involved
    removing tons of deprecated widgets (without replacement; just
    drop them) and adjusting packing properties.

 panels/meson.build                                 |    2 +-
 .../universal-access/cc-cursor-blinking-dialog.ui  |   56 +-
 panels/universal-access/cc-cursor-size-dialog.c    |   11 +-
 panels/universal-access/cc-cursor-size-dialog.ui   |   23 +-
 panels/universal-access/cc-pointing-dialog.ui      |  123 +-
 panels/universal-access/cc-repeat-keys-dialog.ui   |   94 +-
 panels/universal-access/cc-screen-reader-dialog.ui |   36 +-
 panels/universal-access/cc-sound-keys-dialog.ui    |   35 +-
 panels/universal-access/cc-typing-dialog.ui        |  209 +---
 panels/universal-access/cc-ua-panel.c              |   24 +-
 panels/universal-access/cc-ua-panel.ui             | 1244 +++++++-------------
 panels/universal-access/cc-visual-alerts-dialog.c  |   16 +-
 panels/universal-access/cc-visual-alerts-dialog.ui |   93 +-
 panels/universal-access/cc-zoom-options-dialog.c   |   41 +-
 panels/universal-access/cc-zoom-options-dialog.ui  | 1105 +++++++----------
 shell/cc-panel-loader.c                            |    4 +-
 16 files changed, 1045 insertions(+), 2071 deletions(-)
---
diff --git a/panels/meson.build b/panels/meson.build
index 741bec97e..0c08fb11e 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -25,7 +25,7 @@ panels = [
 #  'search',
 #  'sharing',
   'sound',
-#  'universal-access',
+  'universal-access',
 #  'usage',
 #  'user-accounts',
 #  'wwan',
diff --git a/panels/universal-access/cc-cursor-blinking-dialog.ui 
b/panels/universal-access/cc-cursor-blinking-dialog.ui
index 7af88cfcb..c4952a27c 100644
--- a/panels/universal-access/cc-cursor-blinking-dialog.ui
+++ b/panels/universal-access/cc-cursor-blinking-dialog.ui
@@ -2,37 +2,29 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcCursorBlinkingDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Cursor Blinking</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
     <child internal-child="headerbar">
       <object class="GtkHeaderBar">
-        <property name="visible">True</property>
         <child>
           <object class="GtkSwitch" id="enable_switch">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
             <property name="valign">center</property>
           </object>
-          <packing>
-            <property name="pack_type">end</property>
-          </packing>
         </child>
       </object>
     </child>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel">
-            <property name="visible">True</property>
             <property name="use_underline">True</property>
-            <property name="can_focus">False</property>
             <property name="xalign">0</property>
             <property name="label" translatable="yes">Cursor blinks in text fields.</property>
             <property name="margin_start">12</property>
@@ -43,8 +35,6 @@
         </child>
         <child>
           <object class="GtkGrid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="valign">start</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
@@ -55,21 +45,19 @@
             <property name="column_spacing">24</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
                         <property name="use_underline">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Speed</property>
                         <property name="mnemonic_widget">blink_time_scale</property>
@@ -81,33 +69,21 @@
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkScale" id="blink_time_scale">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
                 <property name="adjustment">blink_time_adjustment</property>
                 <property name="draw_value">False</property>
                 <property name="width-request">400</property>
-                <child internal-child="accessible">
-                  <object class="AtkObject">
-                    <property name="AtkObject::accessible-description" translatable="yes">Cursor blinking 
speed</property>
-                  </object>
-                </child>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
+                <accessibility>
+                  <property name="label" translatable="yes">Cursor blinking speed</property>
+                </accessibility>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-cursor-size-dialog.c b/panels/universal-access/cc-cursor-size-dialog.c
index 031a19f74..cfd837846 100644
--- a/panels/universal-access/cc-cursor-size-dialog.c
+++ b/panels/universal-access/cc-cursor-size-dialog.c
@@ -91,15 +91,16 @@ cc_cursor_size_dialog_init (CcCursorSizeDialog *self)
 
       cursor_image_name = g_strdup_printf ("/org/gnome/control-center/universal-access/left_ptr_%dpx.png", 
cursor_sizes[i]);
       image = gtk_image_new_from_resource (cursor_image_name);
-      gtk_widget_show (image);
+      gtk_image_set_pixel_size (GTK_IMAGE (image), cursor_sizes[i]);
+      gtk_widget_set_halign (image, GTK_ALIGN_CENTER);
+      gtk_widget_set_valign (image, GTK_ALIGN_CENTER);
 
-      button = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (last_radio_button));
-      gtk_widget_show (button);
+      button = gtk_toggle_button_new ();
+      gtk_toggle_button_set_group (GTK_TOGGLE_BUTTON (button), GTK_TOGGLE_BUTTON (last_radio_button));
       last_radio_button = button;
-      gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE);
       g_object_set_data (G_OBJECT (button), "cursor-size", GUINT_TO_POINTER (cursor_sizes[i]));
 
-      gtk_container_add (GTK_CONTAINER (button), image);
+      gtk_button_set_child (GTK_BUTTON (button), image);
       gtk_grid_attach (GTK_GRID (self->size_grid), button, i, 0, 1, 1);
       gtk_size_group_add_widget (size_group, button);
 
diff --git a/panels/universal-access/cc-cursor-size-dialog.ui 
b/panels/universal-access/cc-cursor-size-dialog.ui
index 35e39d2e9..37f10a384 100644
--- a/panels/universal-access/cc-cursor-size-dialog.ui
+++ b/panels/universal-access/cc-cursor-size-dialog.ui
@@ -2,26 +2,19 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcCursorSizeDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Cursor Size</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox">
-            <property name="can_focus">False</property>
-          </object>
-        </child>
+        <property name="spacing">8</property>
         <child>
           <object class="GtkLabel">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
@@ -34,8 +27,8 @@
         </child>
         <child>
           <object class="GtkGrid" id="size_grid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="halign">center</property>
             <style>
               <class name="linked"/>
             </style>
diff --git a/panels/universal-access/cc-pointing-dialog.ui b/panels/universal-access/cc-pointing-dialog.ui
index b6249334b..12152dce3 100644
--- a/panels/universal-access/cc-pointing-dialog.ui
+++ b/panels/universal-access/cc-pointing-dialog.ui
@@ -2,22 +2,19 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcPointingDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Click Assist</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
-        <property name="spacing">0</property>
         <child>
           <object class="GtkGrid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
             <property name="margin_bottom">12</property>
@@ -25,20 +22,18 @@
             <property name="column_spacing">24</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">0</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Simulated Secondary Click</property>
                         <property name="use_underline">True</property>
@@ -50,8 +45,6 @@
                     </child>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Trigger a secondary click by holding down 
the primary button</property>
                       </object>
@@ -60,21 +53,15 @@
                 </child>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="valign">start</property>
                     <property name="margin_start">10</property>
                     <property name="margin_end">10</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkBox" id="secondary_click_delay_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="spacing">12</property>
                         <child>
                           <object class="GtkLabel" id="secondary_click_delay_label">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">A_cceptance delay:</property>
                             <property name="use_underline">True</property>
@@ -84,13 +71,9 @@
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes" context="secondary 
click">Short</property>
                                 <attributes>
@@ -100,22 +83,16 @@
                             </child>
                             <child>
                               <object class="GtkScale" id="secondary_click_delay_scale">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
                                 <property name="adjustment">click_delay_adjustment</property>
                                 <property name="draw_value">False</property>
                                 <property name="hexpand">True</property>
-                                <child internal-child="accessible">
-                                  <object class="AtkObject">
-                                    <property name="AtkObject::accessible-description" 
translatable="yes">Secondary click delay</property>
-                                  </object>
-                                </child>
+                                <accessibility>
+                                  <property name="label" translatable="yes">Secondary click delay</property>
+                                </accessibility>
                               </object>
                             </child>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes" context="secondary click 
delay">Long</property>
                                 <attributes>
@@ -130,29 +107,21 @@
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Hover Click</property>
                         <property name="use_underline">True</property>
@@ -164,8 +133,6 @@
                     </child>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Trigger a click when the pointer 
hovers</property>
                       </object>
@@ -174,21 +141,15 @@
                 </child>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="valign">start</property>
                     <property name="margin_start">10</property>
                     <property name="margin_end">10</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkBox" id="dwell_delay_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="spacing">12</property>
                         <child>
                           <object class="GtkLabel" id="dwell_delay_label">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">D_elay:</property>
                             <property name="use_underline">True</property>
@@ -198,14 +159,9 @@
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes" context="dwell click 
delay">Short</property>
                                 <property name="justify">center</property>
@@ -216,8 +172,6 @@
                             </child>
                             <child>
                               <object class="GtkScale" id="dwell_delay_scale">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
                                 <property name="adjustment">dwell_time_adjustment</property>
                                 <property name="draw_value">False</property>
                                 <property name="value_pos">right</property>
@@ -226,8 +180,6 @@
                             </child>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes" context="dwell click 
delay">Long</property>
                                 <property name="justify">center</property>
@@ -242,13 +194,9 @@
                     </child>
                     <child>
                       <object class="GtkBox" id="dwell_threshold_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="spacing">12</property>
                         <child>
                           <object class="GtkLabel" id="dwell_threshold_label">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">Motion _threshold:</property>
                             <property name="use_underline">True</property>
@@ -258,14 +206,9 @@
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
                                 <property name="label" translatable="yes" context="dwell click 
threshold">Small</property>
                                 <property name="justify">center</property>
@@ -276,8 +219,6 @@
                             </child>
                             <child>
                               <object class="GtkScale" id="dwell_threshold_scale">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
                                 <property name="adjustment">dwell_threshold_adjustment</property>
                                 <property name="digits">0</property>
                                 <property name="draw_value">False</property>
@@ -286,8 +227,6 @@
                             </child>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes" context="dwell click 
threshold">Large</property>
                                 <property name="justify">center</property>
@@ -303,42 +242,28 @@
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="secondary_click_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="hover_click_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-repeat-keys-dialog.ui 
b/panels/universal-access/cc-repeat-keys-dialog.ui
index cf44651a2..ced570337 100644
--- a/panels/universal-access/cc-repeat-keys-dialog.ui
+++ b/panels/universal-access/cc-repeat-keys-dialog.ui
@@ -2,37 +2,29 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcRepeatKeysDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Repeat Keys</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
     <child internal-child="headerbar">
       <object class="GtkHeaderBar">
-        <property name="visible">True</property>
         <child>
           <object class="GtkSwitch" id="enable_switch">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
             <property name="valign">center</property>
           </object>
-          <packing>
-            <property name="pack_type">end</property>
-          </packing>
         </child>
       </object>
     </child>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkLabel">
-            <property name="visible">True</property>
             <property name="use_underline">True</property>
-            <property name="can_focus">False</property>
             <property name="xalign">0</property>
             <property name="label" translatable="yes">Key presses repeat when key is held down.</property>
             <property name="margin_start">12</property>
@@ -43,8 +35,6 @@
         </child>
         <child>
           <object class="GtkGrid" id="delay_grid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="valign">start</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
@@ -55,21 +45,19 @@
             <property name="column_spacing">24</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="delay_label">
-                        <property name="visible">True</property>
                         <property name="use_underline">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Delay</property>
                         <property name="mnemonic_widget">delay_scale</property>
@@ -81,41 +69,27 @@
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkScale" id="delay_scale">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
                 <property name="adjustment">repeat_delay_adjustment</property>
                 <property name="draw_value">False</property>
                 <property name="has_origin">False</property>
                 <property name="width-request">400</property>
-                <child internal-child="accessible">
-                  <object class="AtkObject">
-                    <property name="AtkObject::accessible-description" translatable="yes">Repeat keys 
delay</property>
-                  </object>
-                </child>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
+                <accessibility>
+                  <property name="label" translatable="yes">Repeat keys delay</property>
+                </accessibility>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
         <child>
           <object class="GtkGrid" id="speed_grid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="valign">start</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
@@ -126,21 +100,19 @@
             <property name="column_spacing">24</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel" id="speed_label">
-                        <property name="visible">True</property>
                         <property name="use_underline">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Speed</property>
                         <property name="mnemonic_widget">speed_scale</property>
@@ -152,35 +124,23 @@
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkScale" id="speed_scale">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
                 <property name="adjustment">repeat_speed_adjustment</property>
                 <property name="draw_value">False</property>
                 <property name="has_origin">False</property>
                 <property name="inverted">True</property>
                 <property name="width-request">200</property>
-                <child internal-child="accessible">
-                  <object class="AtkObject">
-                    <property name="AtkObject::accessible-description" translatable="yes">Repeat keys 
speed</property>
-                  </object>
-                </child>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
+                <accessibility>
+                  <property name="label" translatable="yes">Repeat keys speed</property>
+                </accessibility>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-screen-reader-dialog.ui 
b/panels/universal-access/cc-screen-reader-dialog.ui
index 7be34255e..6e374c309 100644
--- a/panels/universal-access/cc-screen-reader-dialog.ui
+++ b/panels/universal-access/cc-screen-reader-dialog.ui
@@ -2,19 +2,18 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcScreenReaderDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Screen Reader</property>
-    <property name="type_hint">dialog</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="use_header_bar">1</property>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
-        <property name="margin">12</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <child>
           <object class="GtkLabel">
             <property name="visible">True</property>
@@ -27,51 +26,30 @@
         </child>
         <child>
           <object class="GtkBox">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <style>
               <class name="frame"/>
               <class name="view"/>
             </style>
             <child>
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
+              <object class="GtkBox">
                 <property name="margin_start">12</property>
                 <property name="margin_end">6</property>
                 <property name="margin_top">12</property>
                 <property name="margin_bottom">12</property>
-                <property name="row_spacing">12</property>
-                <property name="column_spacing">6</property>
+                <property name="spacing">12</property>
                 <child>
                   <object class="GtkLabel">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="hexpand">True</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">_Screen Reader</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">enable_switch</property>
                   </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkSwitch" id="enable_switch">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
                     <property name="halign">end</property>
                   </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
                 </child>
               </object>
             </child>
diff --git a/panels/universal-access/cc-sound-keys-dialog.ui b/panels/universal-access/cc-sound-keys-dialog.ui
index 59a708ce1..9aee82a7e 100644
--- a/panels/universal-access/cc-sound-keys-dialog.ui
+++ b/panels/universal-access/cc-sound-keys-dialog.ui
@@ -2,22 +2,20 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcSoundKeysDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Sound Keys</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
           <object class="GtkLabel">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
@@ -27,44 +25,25 @@
           </object>
         </child>
         <child>
-          <object class="GtkGrid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
+          <object class="GtkBox">
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
             <property name="margin_top">12</property>
             <property name="margin_bottom">12</property>
-            <property name="row_spacing">12</property>
-            <property name="column_spacing">6</property>
+            <property name="spacing">12</property>
             <child>
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="hexpand">True</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">_Sound Keys</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">enable_switch</property>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="enable_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-typing-dialog.ui b/panels/universal-access/cc-typing-dialog.ui
index a05e70db3..62dab893a 100644
--- a/panels/universal-access/cc-typing-dialog.ui
+++ b/panels/universal-access/cc-typing-dialog.ui
@@ -1,22 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
   <template class="CcTypingDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Typing Assist</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
         <child>
           <object class="GtkGrid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="valign">start</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
@@ -27,21 +24,19 @@
             <property name="column_spacing">24</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="valign">start</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
                         <property name="use_underline">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Sticky Keys</property>
                         <property name="mnemonic_widget">stickykeys_switch</property>
@@ -52,8 +47,6 @@
                     </child>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Treats a sequence of modifier keys as a 
key combination</property>
                       </object>
@@ -62,62 +55,42 @@
                 </child>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="valign">start</property>
                     <property name="margin_start">10</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkCheckButton" id="stickykeys_disable_two_keys_check">
                         <property name="label" translatable="yes">_Disable if two keys are pressed 
together</property>
-                        <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
                         <property name="valign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
                       </object>
                     </child>
                     <child>
                       <object class="GtkCheckButton" id="stickykeys_beep_modifier_check">
                         <property name="label" translatable="yes">Beep when a _modifier key is 
pressed</property>
-                        <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
                         <property name="valign">start</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
                       </object>
                     </child>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">2</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="use_underline">True</property>
                         <property name="label" translatable="yes">S_low Keys</property>
@@ -129,8 +102,6 @@
                     </child>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Puts a delay between when a key is pressed 
and when it is accepted</property>
                       </object>
@@ -139,21 +110,15 @@
                 </child>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="valign">start</property>
                     <property name="margin_start">10</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkBox" id="slowkeys_delay_box">
-                        <property name="visible">True</property>
                         <property name="sensitive">True</property>
-                        <property name="can_focus">False</property>
                         <property name="spacing">12</property>
                         <child>
                           <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">A_cceptance delay:</property>
                             <property name="use_underline">True</property>
@@ -163,15 +128,10 @@
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
-                                <property name="xpad">10</property>
                                 <property name="label" translatable="yes" context="slow keys 
delay">Short</property>
                                 <attributes>
                                   <attribute name="scale" value="0.83"/>
@@ -180,22 +140,16 @@
                             </child>
                             <child>
                               <object class="GtkScale" id="slowkeys_delay_scale">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
                                 <property name="adjustment">slowkeys_delay_adjustment</property>
                                 <property name="draw_value">False</property>
                                 <property name="hexpand">True</property>
-                                <child internal-child="accessible">
-                                  <object class="AtkObject">
-                                    <property name="AtkObject::accessible-description" 
translatable="yes">Slow keys typing delay</property>
-                                  </object>
-                                </child>
+                                <accessibility>
+                                  <property name="label" translatable="yes">Slow keys typing delay</property>
+                                </accessibility>
                               </object>
                             </child>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes" context="slow keys 
delay">Long</property>
                                 <attributes>
@@ -210,64 +164,41 @@
                     <child>
                       <object class="GtkCheckButton" id="slowkeys_beep_pressed_check">
                         <property name="label" translatable="yes">Beep when a key is pr_essed</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="xalign">0</property>
                         <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
                         <property name="use_underline">True</property>
                       </object>
                     </child>
                     <child>
                       <object class="GtkCheckButton" id="slowkeys_beep_accepted_check">
                         <property name="label" translatable="yes">Beep when a key is _accepted</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
                         <property name="use_underline">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="xalign">0</property>
                         <property name="active">True</property>
-                        <property name="draw_indicator">True</property>
                       </object>
                     </child>
                     <child>
                       <object class="GtkCheckButton" id="slowkeys_beep_rejected_check">
                         <property name="label" translatable="yes">Beep when a key is _rejected</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
                         <property name="use_underline">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
                       </object>
                     </child>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">3</property>
+                </layout>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
                         <property name="use_underline">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">_Bounce Keys</property>
                         <property name="mnemonic_widget">bouncekeys_switch</property>
@@ -278,8 +209,6 @@
                     </child>
                     <child>
                       <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Ignores fast duplicate 
keypresses</property>
                       </object>
@@ -288,21 +217,15 @@
                 </child>
                 <child>
                   <object class="GtkBox">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="valign">start</property>
                     <property name="margin_start">10</property>
                     <property name="orientation">vertical</property>
                     <child>
                       <object class="GtkBox" id="bouncekeys_delay_box">
-                        <property name="visible">True</property>
                         <property name="sensitive">True</property>
-                        <property name="can_focus">False</property>
                         <property name="spacing">12</property>
                         <child>
                           <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">A_cceptance delay:</property>
                             <property name="use_underline">True</property>
@@ -312,15 +235,10 @@
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">1</property>
-                                <property name="xpad">10</property>
                                 <property name="label" translatable="yes" context="bounce keys 
delay">Short</property>
                                 <attributes>
                                   <attribute name="scale" value="0.83"/>
@@ -329,22 +247,16 @@
                             </child>
                             <child>
                               <object class="GtkScale" id="bouncekeys_delay_scale">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
                                 <property name="adjustment">bouncekeys_delay_adjustment</property>
                                 <property name="draw_value">False</property>
                                 <property name="hexpand">True</property>
-                                <child internal-child="accessible">
-                                  <object class="AtkObject">
-                                    <property name="AtkObject::accessible-description" 
translatable="yes">Bounce keys typing delay</property>
-                                  </object>
-                                </child>
+                                <accessibility>
+                                  <property name="label" translatable="yes">Bounce keys typing 
delay</property>
+                                </accessibility>
                               </object>
                             </child>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes" context="bounce keys 
delay">Long</property>
                                 <attributes>
@@ -359,79 +271,56 @@
                     <child>
                       <object class="GtkCheckButton" id="bouncekeys_beep_rejected_check">
                         <property name="label" translatable="yes">Beep when a key is _rejected</property>
-                        <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
                         <property name="use_underline">True</property>
-                        <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
                       </object>
                     </child>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">3</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="stickykeys_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="slowkeys_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">2</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="bouncekeys_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">3</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">3</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">0</property>
+                </layout>
                 <child>
                   <object class="GtkLabel">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="use_underline">True</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">_Enable by Keyboard</property>
@@ -443,34 +332,22 @@
                 </child>
                 <child>
                   <object class="GtkLabel">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Turn accessibility features on and off using 
the keyboard</property>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="keyboard_toggle_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <property name="valign">start</property>
                 <property name="hexpand">True</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-ua-panel.c b/panels/universal-access/cc-ua-panel.c
index 990960ac4..45b968b74 100644
--- a/panels/universal-access/cc-ua-panel.c
+++ b/panels/universal-access/cc-ua-panel.c
@@ -27,7 +27,6 @@
 #include <glib/gi18n-lib.h>
 #include <gdesktop-enums.h>
 
-#include "list-box-helper.h"
 #include "cc-ua-panel.h"
 #include "cc-ua-resources.h"
 #include "cc-cursor-blinking-dialog.h"
@@ -376,12 +375,6 @@ cursor_size_label_mapping_get (GValue   *value,
   return TRUE;
 }
 
-static void
-add_separators (GtkListBox *list)
-{
-  gtk_list_box_set_header_func (list, cc_list_box_update_header_func, NULL, NULL);
-}
-
 static gboolean
 keynav_failed (CcUaPanel *self, GtkDirectionType direction, GtkWidget *list)
 {
@@ -452,10 +445,10 @@ toggle_switch (GtkSwitch *sw)
 static void
 run_dialog (CcUaPanel *self, GtkDialog *dialog)
 {
-  gtk_window_set_transient_for (GTK_WINDOW (dialog),
-                                GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
-  gtk_dialog_run (GTK_DIALOG (dialog));
-  gtk_widget_destroy (GTK_WIDGET (dialog));
+  GtkNative *native = gtk_widget_get_native (GTK_WIDGET (self));
+
+  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (native));
+  gtk_window_present (GTK_WINDOW (dialog));
 }
 
 static void
@@ -520,8 +513,6 @@ cc_ua_panel_init_seeing (CcUaPanel *self)
 {
   add_section (self->seeing_listbox, self);
 
-  add_separators (self->seeing_listbox);
-
   g_signal_connect_object (self->seeing_listbox, "row-activated",
                            G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED);
 
@@ -589,8 +580,6 @@ cc_ua_panel_init_hearing (CcUaPanel *self)
 {
   add_section (self->hearing_listbox, self);
 
-  add_separators (self->hearing_listbox);
-
   g_signal_connect_object (self->hearing_listbox, "row-activated",
                            G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED);
 
@@ -639,8 +628,6 @@ cc_ua_panel_init_keyboard (CcUaPanel *self)
 {
   add_section (self->typing_listbox, self);
 
-  add_separators (self->typing_listbox);
-
   g_signal_connect_object (self->typing_listbox, "row-activated",
                            G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED);
 
@@ -683,8 +670,6 @@ cc_ua_panel_init_mouse (CcUaPanel *self)
 {
   add_section (self->pointing_listbox, self);
 
-  add_separators (self->pointing_listbox);
-
   g_signal_connect_object (self->pointing_listbox, "row-activated",
                            G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED);
 
@@ -732,5 +717,4 @@ cc_ua_panel_init (CcUaPanel *self)
   gtk_scrolled_window_set_min_content_height (self->scrolled_window, SCROLL_HEIGHT);
 
   self->focus_adjustment = gtk_scrolled_window_get_vadjustment (self->scrolled_window);
-  gtk_container_set_focus_vadjustment (GTK_CONTAINER (self->box), self->focus_adjustment);
 }
diff --git a/panels/universal-access/cc-ua-panel.ui b/panels/universal-access/cc-ua-panel.ui
index 67104cee2..7e34af0e5 100644
--- a/panels/universal-access/cc-ua-panel.ui
+++ b/panels/universal-access/cc-ua-panel.ui
@@ -11,86 +11,52 @@
   </object>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcUaPanel" parent="CcPanel">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
     <child>
       <object class="GtkScrolledWindow" id="scrolled_window">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="hscrollbar_policy">never</property>
-        <property name="shadow_type">none</property>
         <child>
           <object class="GtkViewport">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="hexpand">True</property>
 
                 <!-- Content -->
                 <child>
-                  <object class="HdyClamp">
-                    <property name="visible">true</property>
+                  <object class="AdwClamp">
                     <property name="margin-top">32</property>
                     <property name="margin-bottom">32</property>
                     <property name="margin-start">12</property>
                     <property name="margin-end">12</property>
                     <child>
                       <object class="GtkBox" id="box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
                         <property name="orientation">vertical</property>
                         <property name="hexpand">True</property>
                         <child>
                           <object class="GtkBox" id="show_status_box">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="margin_bottom">32</property>
                             <child>
                               <object class="GtkLabel">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
                                 <property name="label" translatable="yes">_Always Show Accessibility 
Menu</property>
+                                <property name="xalign">0</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">show_status_switch</property>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
                               <object class="GtkSwitch" id="show_status_switch">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
+                                <property name="margin-end">15</property>
                                 <property name="halign">end</property>
                               </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="margin_bottom">32</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="seeing_heading_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="margin_end">12</property>
                                 <property name="margin_bottom">12</property>
                                 <property name="xalign">0</property>
@@ -98,376 +64,248 @@
                                 <attributes>
                                   <attribute name="weight" value="bold"/>
                                 </attributes>
-                                <accessibility>
-                                  <relation target="seeing_listbox" type="label-for"/>
-                                </accessibility>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkFrame">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">in</property>
+                              <object class="GtkListBox" id="seeing_listbox">
+                                <property name="selection-mode">none</property>
+                                <style>
+                                  <class name="content" />
+                                </style>
+                                <accessibility>
+                                  <relation name="labelled-by">seeing_heading_label</relation>
+                                </accessibility>
                                 <child>
-                                  <object class="GtkListBox" id="seeing_listbox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="selection-mode">none</property>
-                                    <accessibility>
-                                      <relation target="seeing_heading_label" type="labelled-by"/>
-                                    </accessibility>
+                                  <object class="GtkListBoxRow" id="highcontrast_row">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow" id="highcontrast_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">6</property>
+                                            <property name="margin_bottom">6</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_High 
Contrast</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">highcontrast_enable_switch</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">6</property>
-                                                <property name="margin_bottom">6</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_High 
Contrast</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">highcontrast_enable_switch</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="highcontrast_enable_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkSwitch" id="highcontrast_enable_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="large_text_row">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow" id="large_text_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Large Text</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">large_text_enable_switch</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Large 
Text</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">large_text_enable_switch</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="large_text_enable_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkSwitch" id="large_text_enable_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="enable_animations_row">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow" id="enable_animations_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="hexpand">True</property>
-                                                <property name="label" translatable="yes">Enable 
A_nimations</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">enable_animations_switch</property>
-                                              </object>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="enable_animations_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                              </object>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="hexpand">True</property>
+                                            <property name="label" translatable="yes">Enable 
A_nimations</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">enable_animations_switch</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkSwitch" id="enable_animations_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="cursor_size_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="cursor_size_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="label" translatable="yes">C_ursor 
Size</property>
-                                                <property name="use_underline">True</property>
-                                                <property name="xalign">0</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="cursor_size_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="label">24 pixels</property>
-                                                <property name="xalign">1</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="label" translatable="yes">C_ursor Size</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="xalign">0</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="cursor_size_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="label">24 pixels</property>
+                                            <property name="xalign">1</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="zoom_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="zoom_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Zoom</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="zoom_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Zoom</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="zoom_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="screen_reader_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="screen_reader_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">Screen 
_Reader</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="screen_reader_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">Screen 
_Reader</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="screen_reader_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="sound_keys_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="sound_keys_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Sound Keys</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Sound 
Keys</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="sound_keys_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel" id="sound_keys_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
                                   </object>
                                 </child>
-                                <child type="label_item">
-                                  <placeholder/>
-                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="margin_bottom">32</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="hearing_heading_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="margin_end">12</property>
                                 <property name="margin_bottom">12</property>
                                 <property name="xalign">0</property>
@@ -475,105 +313,58 @@
                                 <attributes>
                                   <attribute name="weight" value="bold"/>
                                 </attributes>
-                                <accessibility>
-                                  <relation target="hearing_listbox" type="label-for"/>
-                                </accessibility>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkFrame">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">in</property>
+                              <object class="GtkListBox" id="hearing_listbox">
+                                <property name="selection-mode">none</property>
+                                <style>
+                                  <class name="content" />
+                                </style>
+                                <accessibility>
+                                  <relation name="labelled-by">hearing_heading_label</relation>
+                                </accessibility>
                                 <child>
-                                  <object class="GtkListBox" id="hearing_listbox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="selection-mode">none</property>
-                                    <accessibility>
-                                      <relation target="hearing_heading_label" type="labelled-by"/>
-                                    </accessibility>
+                                  <object class="GtkListBoxRow" id="visual_alerts_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="visual_alerts_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Visual 
Alerts</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Visual 
Alerts</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="visual_alerts_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel" id="visual_alerts_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
                                   </object>
                                 </child>
-                                <child type="label_item">
-                                  <placeholder/>
-                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">2</property>
-                          </packing>
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="margin_bottom">32</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="typing_heading_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="margin_end">12</property>
                                 <property name="margin_bottom">12</property>
                                 <property name="xalign">0</property>
@@ -581,243 +372,151 @@
                                 <attributes>
                                   <attribute name="weight" value="bold"/>
                                 </attributes>
-                                <accessibility>
-                                  <relation target="typing_listbox" type="label-for"/>
-                                </accessibility>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkFrame">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">in</property>
+                              <object class="GtkListBox" id="typing_listbox">
+                                <property name="selection-mode">none</property>
+                                <style>
+                                  <class name="content" />
+                                </style>
+                                <accessibility>
+                                  <relation name="labelled-by">typing_heading_label</relation>
+                                </accessibility>
                                 <child>
-                                  <object class="GtkListBox" id="typing_listbox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="selection-mode">none</property>
-                                    <accessibility>
-                                      <relation target="typing_heading_label" type="labelled-by"/>
-                                    </accessibility>
+                                  <object class="GtkListBoxRow" id="screen_keyboard_row">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow" id="screen_keyboard_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">Screen 
_Keyboard</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">screen_keyboard_enable_switch</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">Screen 
_Keyboard</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">screen_keyboard_enable_switch</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="screen_keyboard_enable_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkSwitch" id="screen_keyboard_enable_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="repeat_keys_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="repeat_keys_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">R_epeat 
Keys</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="repeat_keys_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">R_epeat Keys</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="repeat_keys_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="cursor_blinking_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="cursor_blinking_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">Cursor 
_Blinking</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="cursor_blinking_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">Cursor 
_Blinking</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="cursor_blinking_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="accessx_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="accessx_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Typing Assist 
(AccessX)</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Typing Assist 
(AccessX)</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="accessx_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel" id="accessx_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
                                   </object>
                                 </child>
-                                <child type="label_item">
-                                  <placeholder/>
-                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">3</property>
-                          </packing>
                         </child>
                         <child>
                           <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
                               <object class="GtkLabel" id="pointing_heading_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
                                 <property name="margin_end">12</property>
                                 <property name="margin_bottom">12</property>
                                 <property name="xalign">0</property>
@@ -825,223 +524,150 @@
                                 <attributes>
                                   <attribute name="weight" value="bold"/>
                                 </attributes>
-                                <accessibility>
-                                  <relation target="pointing_listbox" type="label-for"/>
-                                </accessibility>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkFrame">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label_xalign">0</property>
-                                <property name="shadow_type">in</property>
+                              <object class="GtkListBox" id="pointing_listbox">
+                                <property name="selection-mode">none</property>
+                                <style>
+                                  <class name="content" />
+                                </style>
+                                <accessibility>
+                                  <relation name="labelled-by">pointing_heading_label</relation>
+                                </accessibility>
                                 <child>
-                                  <object class="GtkListBox" id="pointing_listbox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="selection-mode">none</property>
-                                    <accessibility>
-                                      <relation target="pointing_heading_label" type="labelled-by"/>
-                                    </accessibility>
+                                  <object class="GtkListBoxRow" id="mouse_keys_row">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow" id="mouse_keys_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Mouse 
Keys</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">mouse_keys_enable_switch</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="mouse_keys_enable_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Mouse Keys</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">mouse_keys_enable_switch</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkSwitch" id="mouse_keys_enable_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow">
+                                    <property name="selectable">False</property>
+                                    <property name="activatable">False</property>
                                     <child>
-                                      <object class="GtkListBoxRow">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="selectable">False</property>
-                                        <property name="activatable">False</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Locate 
Pointer</property>
+                                            <property name="use_underline">True</property>
+                                            <property 
name="mnemonic_widget">locate_pointer_enable_switch</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="expand">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Locate 
Pointer</property>
-                                                <property name="use_underline">True</property>
-                                                <property 
name="mnemonic_widget">locate_pointer_enable_switch</property>
-                                              </object>
-                                            </child>
-                                            <child>
-                                              <object class="GtkSwitch" id="locate_pointer_enable_switch">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property name="margin">12</property>
-                                              </object>
-                                            </child>
+                                          <object class="GtkSwitch" id="locate_pointer_enable_switch">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="click_assist_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="click_assist_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Click 
Assist</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="click_assist_label">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Off</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkLabel">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Click 
Assist</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="click_assist_label">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">1</property>
+                                            <property name="label" translatable="yes">Off</property>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkListBoxRow" id="double_click_delay_row">
                                     <child>
-                                      <object class="GtkListBoxRow" id="double_click_delay_row">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkBox">
+                                        <child>
+                                          <object class="GtkLabel">
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Double-Click 
Delay</property>
+                                            <property name="use_underline">True</property>
+                                          </object>
+                                        </child>
                                         <child>
-                                          <object class="GtkBox">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <object class="GtkLabel">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <property name="xalign">0</property>
-                                                <property name="label" translatable="yes">_Double-Click 
Delay</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="fill">True</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkScale" id="double_click_delay_scale">
-                                                <property name="visible">True</property>
-                                                <property name="can_focus">True</property>
-                                                <property 
name="adjustment">double_click_delay_adjustment</property>
-                                                <property name="draw_value">False</property>
-                                                <property name="margin_start">12</property>
-                                                <property name="margin_end">12</property>
-                                                <property name="margin_top">12</property>
-                                                <property name="margin_bottom">12</property>
-                                                <child internal-child="accessible">
-                                                  <object class="AtkObject">
-                                                    <property name="AtkObject::accessible-description" 
translatable="yes">Double-Click Delay</property>
-                                                  </object>
-                                                </child>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">True</property>
-                                                <property name="fill">True</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
+                                          <object class="GtkScale" id="double_click_delay_scale">
+                                            <property name="hexpand">True</property>
+                                            <property name="vexpand">True</property>
+                                            <property 
name="adjustment">double_click_delay_adjustment</property>
+                                            <property name="draw_value">False</property>
+                                            <property name="margin_start">12</property>
+                                            <property name="margin_end">12</property>
+                                            <property name="margin_top">12</property>
+                                            <property name="margin_bottom">12</property>
+                                            <accessibility>
+                                              <property name="label" translatable="yes">Double-Click 
Delay</property>
+                                            </accessibility>
                                           </object>
                                         </child>
                                       </object>
                                     </child>
                                   </object>
                                 </child>
-                                <child type="label_item">
-                                  <placeholder/>
-                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">4</property>
-                          </packing>
                         </child>
                       </object>
                     </child>
diff --git a/panels/universal-access/cc-visual-alerts-dialog.c 
b/panels/universal-access/cc-visual-alerts-dialog.c
index d49bac58b..398753d47 100644
--- a/panels/universal-access/cc-visual-alerts-dialog.c
+++ b/panels/universal-access/cc-visual-alerts-dialog.c
@@ -29,9 +29,9 @@ struct _CcVisualAlertsDialog
   GtkDialog parent;
 
   GtkSwitch *enable_switch;
-  GtkRadioButton *screen_radio;
+  GtkCheckButton *screen_radio;
   GtkButton *test_button;
-  GtkRadioButton *window_radio;
+  GtkCheckButton *window_radio;
 
   GSettings *wm_settings;
 };
@@ -41,7 +41,7 @@ G_DEFINE_TYPE (CcVisualAlertsDialog, cc_visual_alerts_dialog, GTK_TYPE_DIALOG);
 static void
 visual_bell_type_notify_cb (CcVisualAlertsDialog *self)
 {
-  GtkRadioButton *widget;
+  GtkCheckButton *widget;
   GDesktopVisualBellType type;
 
   type = g_settings_get_enum (self->wm_settings, KEY_VISUAL_BELL_TYPE);
@@ -51,7 +51,7 @@ visual_bell_type_notify_cb (CcVisualAlertsDialog *self)
   else
     widget = self->screen_radio;
 
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
+  gtk_check_button_set_active (widget, TRUE);
 }
 
 static void
@@ -60,7 +60,7 @@ visual_bell_type_toggle_cb (CcVisualAlertsDialog *self)
   gboolean frame_flash;
   GDesktopVisualBellType type;
 
-  frame_flash = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->window_radio));
+  frame_flash = gtk_check_button_get_active (GTK_CHECK_BUTTON (self->window_radio));
 
   if (frame_flash)
     type = G_DESKTOP_VISUAL_BELL_FRAME_FLASH;
@@ -72,8 +72,10 @@ visual_bell_type_toggle_cb (CcVisualAlertsDialog *self)
 static void
 test_flash (CcVisualAlertsDialog *self)
 {
-  GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self));
-  gdk_window_beep (gtk_widget_get_window (toplevel));
+  GtkNative *native = gtk_widget_get_native (GTK_WIDGET (self));
+  GdkSurface *surface = gtk_native_get_surface (native);
+
+  gdk_surface_beep (surface);
 }
 
 static void
diff --git a/panels/universal-access/cc-visual-alerts-dialog.ui 
b/panels/universal-access/cc-visual-alerts-dialog.ui
index ebb3dd89a..a162190c1 100644
--- a/panels/universal-access/cc-visual-alerts-dialog.ui
+++ b/panels/universal-access/cc-visual-alerts-dialog.ui
@@ -2,45 +2,35 @@
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
   <template class="CcVisualAlertsDialog" parent="GtkDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Visual Alerts</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
     <property name="use_header_bar">1</property>
     <child internal-child="headerbar">
       <object class="GtkHeaderBar">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="title" translatable="yes">Visual Alerts</property>
-        <property name="show_close_button">True</property>
+        <property name="show_title_buttons">True</property>
         <child>
           <object class="GtkButton" id="test_button">
             <property name="label" translatable="yes">_Test flash</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
             <property name="use_underline">True</property>
             <property name="valign">center</property>
             <style>
               <class name="text-button"/>
             </style>
           </object>
-          <packing>
-            <property name="pack_type">start</property>
-          </packing>
         </child>
       </object>
     </child>
-    <child internal-child="vbox">
+    <child>
       <object class="GtkBox">
-        <property name="can_focus">False</property>
+        <property name="margin_start">12</property>
+        <property name="margin_end">12</property>
+        <property name="margin_top">12</property>
+        <property name="margin_bottom">12</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
           <object class="GtkLabel">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
@@ -51,8 +41,6 @@
         </child>
         <child>
           <object class="GtkGrid">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_start">12</property>
             <property name="margin_end">6</property>
             <property name="margin_top">12</property>
@@ -61,70 +49,49 @@
             <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="hexpand">True</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">_Visual Alerts</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">enable_switch</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkSwitch" id="enable_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
                 <property name="halign">end</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkRadioButton" id="window_radio">
-                <property name="label" translatable="yes">Flash the entire _window</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="xalign">0</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
+              <object class="GtkCheckButton" id="screen_radio">
+                <property name="label" translatable="yes">Flash the entire _screen</property>
+                <property name="group">window_radio</property>
                 <property name="use_underline">True</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">2</property>
+                  <property name="column-span">2</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">2</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkRadioButton" id="screen_radio">
-                <property name="label" translatable="yes">Flash the entire _screen</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="xalign">0</property>
+              <object class="GtkCheckButton" id="window_radio">
+                <property name="label" translatable="yes">Flash the entire _window</property>
                 <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">window_radio</property>
                 <property name="use_underline">True</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                  <property name="column-span">2</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">2</property>
-                <property name="width">2</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/panels/universal-access/cc-zoom-options-dialog.c 
b/panels/universal-access/cc-zoom-options-dialog.c
index 5cc058271..1f06aa8e3 100644
--- a/panels/universal-access/cc-zoom-options-dialog.c
+++ b/panels/universal-access/cc-zoom-options-dialog.c
@@ -70,7 +70,7 @@ static gchar *contrast_keys[] = {
 };
 
 static void set_enable_screen_part_ui (CcZoomOptionsDialog *self);
-static void scale_label (GtkBin *toggle, PangoAttrList *attrs);
+static void scale_label (GtkWidget *check, PangoAttrList *attrs);
 static void xhairs_length_add_marks (CcZoomOptionsDialog *self, GtkScale *scale);
 static void effects_slider_set_value (GtkRange *slider, GSettings *settings);
 static void brightness_slider_notify_cb (CcZoomOptionsDialog *self, const gchar *key);
@@ -80,7 +80,7 @@ static void effects_slider_changed (CcZoomOptionsDialog *self, GtkRange *slider)
 static void
 mouse_tracking_radio_toggled_cb (CcZoomOptionsDialog *self, GtkWidget *widget)
 {
-  if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
+  if (!gtk_check_button_get_active (GTK_CHECK_BUTTON (widget)))
     return;
 
   if (widget == self->centered_radio)
@@ -98,11 +98,11 @@ mouse_tracking_notify_cb (CcZoomOptionsDialog *self)
 
     tracking = g_settings_get_string (self->settings, "mouse-tracking");
     if (g_strcmp0 (tracking, "centered") == 0)
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->centered_radio), TRUE);
+      gtk_check_button_set_active (GTK_CHECK_BUTTON (self->centered_radio), TRUE);
     else if (g_strcmp0 (tracking, "proportional") == 0)
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->proportional_radio), TRUE);
+      gtk_check_button_set_active (GTK_CHECK_BUTTON (self->proportional_radio), TRUE);
     else
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->push_radio), TRUE);
+      gtk_check_button_set_active (GTK_CHECK_BUTTON (self->push_radio), TRUE);
 }
 
 static void
@@ -111,16 +111,16 @@ init_screen_part_section (CcZoomOptionsDialog *self, PangoAttrList *pango_attrs)
   gboolean lens_mode;
 
   /* Scale the labels of the toggles */
-  scale_label (GTK_BIN (self->follow_mouse_radio), pango_attrs);
-  scale_label (GTK_BIN (self->screen_part_radio), pango_attrs);
-  scale_label (GTK_BIN (self->centered_radio), pango_attrs);
-  scale_label (GTK_BIN (self->push_radio), pango_attrs);
-  scale_label (GTK_BIN (self->proportional_radio), pango_attrs);
-  scale_label (GTK_BIN (self->extend_beyond_checkbox), pango_attrs);
+  scale_label (self->follow_mouse_radio, pango_attrs);
+  scale_label (self->screen_part_radio, pango_attrs);
+  scale_label (self->centered_radio, pango_attrs);
+  scale_label (self->push_radio, pango_attrs);
+  scale_label (self->proportional_radio, pango_attrs);
+  scale_label (self->extend_beyond_checkbox, pango_attrs);
 
   lens_mode = g_settings_get_boolean (self->settings, "lens-mode");
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->follow_mouse_radio), lens_mode);
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->screen_part_radio), !lens_mode);
+  gtk_check_button_set_active (GTK_CHECK_BUTTON (self->follow_mouse_radio), lens_mode);
+  gtk_check_button_set_active (GTK_CHECK_BUTTON (self->screen_part_radio), !lens_mode);
 
   set_enable_screen_part_ui (self);
 
@@ -148,7 +148,7 @@ set_enable_screen_part_ui (CcZoomOptionsDialog *self)
     /* If the "screen part" radio is not checked, then the "follow mouse" radio
      * is checked (== lens mode). Set mouse tracking back to the default.
      */
-    screen_part = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->screen_part_radio));
+    screen_part = gtk_check_button_get_active (GTK_CHECK_BUTTON (self->screen_part_radio));
     if (!screen_part)
       {
         g_settings_set_string (self->settings,
@@ -162,11 +162,12 @@ set_enable_screen_part_ui (CcZoomOptionsDialog *self)
 }
 
 static void
-scale_label (GtkBin *toggle, PangoAttrList *attrs)
+scale_label (GtkWidget *check, PangoAttrList *attrs)
 {
   GtkWidget *label;
 
-  label = gtk_bin_get_child (toggle);
+  label = gtk_widget_get_first_child (check);
+  label = gtk_widget_get_next_sibling (label);
   gtk_label_set_attributes (GTK_LABEL (label), attrs);
 }
 
@@ -280,14 +281,16 @@ static void xhairs_length_add_marks (CcZoomOptionsDialog *self, GtkScale *scale)
     GdkRectangle rect;
     GdkMonitor *monitor;
     GdkDisplay *display;
+    GdkSurface *surface;
     GtkWindow *transient_for;
     gint length, quarter_length;
 
     /* Get maximum dimension of the monitor */
     transient_for = gtk_window_get_transient_for (GTK_WINDOW (self));
     display = gtk_widget_get_display (GTK_WIDGET (transient_for));
-    monitor = gdk_display_get_monitor_at_window (display, gtk_widget_get_window (GTK_WIDGET 
(transient_for)));
-    gdk_monitor_get_workarea (monitor, &rect);
+    surface = gtk_native_get_surface (GTK_NATIVE (transient_for));
+    monitor = gdk_display_get_monitor_at_surface (display, surface);
+    gdk_monitor_get_geometry (monitor, &rect);
 
     length = MAX (rect.width, rect.height);
     scale_model = gtk_range_get_adjustment (GTK_RANGE (scale));
@@ -444,7 +447,7 @@ cc_zoom_options_dialog_constructed (GObject *object)
                    G_SETTINGS_BIND_DEFAULT);
 
   /* ... Cross hairs: clip ... */
-  scale_label (GTK_BIN (self->crosshair_clip_checkbox), pango_attrs);
+  scale_label (self->crosshair_clip_checkbox, pango_attrs);
   g_settings_bind (self->settings, "cross-hairs-clip",
                    self->crosshair_clip_checkbox, "active",
                    G_SETTINGS_BIND_INVERT_BOOLEAN);
diff --git a/panels/universal-access/cc-zoom-options-dialog.ui 
b/panels/universal-access/cc-zoom-options-dialog.ui
index ae0a8c287..e212b8567 100644
--- a/panels/universal-access/cc-zoom-options-dialog.ui
+++ b/panels/universal-access/cc-zoom-options-dialog.ui
@@ -65,30 +65,23 @@
   </object>
   <template class="CcZoomOptionsDialog" parent="GtkDialog">
     <property name="modal">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">Zoom Options</property>
     <property name="resizable">False</property>
-    <property name="type_hint">dialog</property>
-    <signal name="delete-event" handler="gtk_widget_hide_on_delete" object="CcZoomOptionsDialog" 
swapped="no" />
-    <child internal-child="vbox">
+    <property name="hide-on-close">True</property>
+    <child>
       <object class="GtkBox">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">3</property>
         <child>
           <object class="GtkBox">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin_start">6</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
             <child>
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Zoom</property>
+                <property name="hexpand">True</property>
+                <property name="xalign">0</property>
                 <property name="use_underline">True</property>
                 <property name="mnemonic_widget">seeing_zoom_switch</property>
                 <attributes>
@@ -98,257 +91,151 @@
               </object>
             </child>
             <child>
-              <object class="GtkSwitch" id="seeing_zoom_switch">
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="use_action_appearance">False</property>
-              </object>
-              <packing>
-                <property name="pack_type">end</property>
-              </packing>
+              <object class="GtkSwitch" id="seeing_zoom_switch" />
             </child>
           </object>
         </child>
         <child>
           <object class="GtkNotebook">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
             <property name="margin_start">6</property>
             <property name="margin_end">6</property>
             <property name="margin_top">6</property>
             <property name="margin_bottom">6</property>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="margin_start">18</property>
                 <property name="margin_end">18</property>
                 <property name="margin_top">12</property>
                 <property name="margin_bottom">12</property>
                 <property name="spacing">12</property>
                 <property name="orientation">vertical</property>
+
+                <!-- Magnification -->
                 <child>
-                  <object class="GtkFrame">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
-                    <property name="margin-start">4</property>
+                  <object class="GtkBox">
                     <child>
-                      <placeholder/>
+                      <object class="GtkLabel">
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Magnification:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">magnifier_factor_spin</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                          <attribute name="scale" value="1.25"/>
+                        </attributes>
+                      </object>
                     </child>
-                    <child type="label">
-                      <object class="GtkBox">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="ypad">2</property>
-                            <property name="label" translatable="yes">_Magnification:</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">magnifier_factor_spin</property>
-                            <attributes>
-                              <attribute name="weight" value="bold"/>
-                              <attribute name="scale" value="1.25"/>
-                            </attributes>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkSpinButton" id="magnifier_factor_spin">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">start</property>
-                            <property name="invisible_char">●</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="adjustment">magnifier_factor_adjustment</property>
-                            <property name="digits">2</property>
-                            <property name="hexpand">True</property>
-                            <property name="margin-start">21</property>
-                          </object>
-                        </child>
+                    <child>
+                      <object class="GtkSpinButton" id="magnifier_factor_spin">
+                        <property name="halign">start</property>
+                        <property name="adjustment">magnifier_factor_adjustment</property>
+                        <property name="digits">2</property>
+                        <property name="hexpand">True</property>
+                        <property name="margin-start">21</property>
                       </object>
                     </child>
                   </object>
                 </child>
+
                 <child>
-                  <object class="GtkFrame">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
-                    <property name="margin-start">4</property>
+                  <object class="GtkBox">
+                    <property name="spacing">6</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkLabel">
+                        <property name="label" translatable="yes">Magnifier Position:</property>
+                        <property name="xalign">0.0</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                          <attribute name="scale" value="1.25"/>
+                        </attributes>
+                      </object>
+                    </child>
                     <child>
-                      <object class="GtkAlignment">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="top_padding">6</property>
-                        <property name="left_padding">24</property>
+                      <object class="GtkBox">
+                        <property name="margin-top">6</property>
+                        <property name="margin-start">24</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                          <object class="GtkGrid">
                             <child>
-                              <object class="GtkGrid">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="follow_mouse_radio">
-                                    <property name="label" translatable="yes">_Follow mouse cursor</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="use_underline">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="screen_part_radio">
-                                    <property name="label" translatable="yes">_Screen part:</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">follow_mouse_radio</property>
-                                    <property name="use_underline">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBox" id="screen_position_combobox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="model">screen_position_model</property>
-                                    <property name="active">0</property>
-                                    <child>
-                                      <object class="GtkCellRendererText"/>
-                                      <attributes>
-                                        <attribute name="scale">1</attribute>
-                                        <attribute name="text">0</attribute>
-                                      </attributes>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <placeholder/>
-                                </child>
+                              <object class="GtkCheckButton" id="follow_mouse_radio">
+                                <property name="label" translatable="yes">_Follow mouse cursor</property>
+                                <property name="active">True</property>
+                                <property name="use_underline">True</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">0</property>
+                                </layout>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="screen_part_radio">
+                                <property name="label" translatable="yes">_Screen part:</property>
+                                <property name="group">follow_mouse_radio</property>
+                                <property name="use_underline">True</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">1</property>
+                                </layout>
                               </object>
                             </child>
                             <child>
-                              <object class="GtkAlignment">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="left_padding">18</property>
+                              <object class="GtkComboBox" id="screen_position_combobox">
+                                <property name="model">screen_position_model</property>
+                                <property name="active">0</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">1</property>
+                                </layout>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
-                                    <child>
-                                      <object class="GtkCheckButton" id="extend_beyond_checkbox">
-                                        <property name="label" translatable="yes">Magnifier _extends outside 
of screen</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="margin-start">2</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkRadioButton" id="centered_radio">
-                                        <property name="label" translatable="yes">_Keep magnifier cursor 
centered</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="active">True</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkRadioButton" id="push_radio">
-                                        <property name="label" translatable="yes">Magnifier cursor _pushes 
contents around</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="group">centered_radio</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkRadioButton" id="proportional_radio">
-                                        <property name="label" translatable="yes">Magnifier cursor moves 
with _contents</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="group">centered_radio</property>
-                                        <property name="use_underline">True</property>
-                                        <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
-                                      </object>
-                                    </child>
-                                  </object>
+                                  <object class="GtkCellRendererText"/>
+                                  <attributes>
+                                    <attribute name="scale">1</attribute>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
                                 </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Magnifier Position:</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                          <attribute name="scale" value="1.25"/>
-                        </attributes>
+                        <child>
+                          <object class="GtkBox">
+                            <property name="margin-start">18</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <object class="GtkCheckButton" id="extend_beyond_checkbox">
+                                <property name="label" translatable="yes">Magnifier _extends outside of 
screen</property>
+                                <property name="use_underline">True</property>
+                                <property name="margin-start">2</property>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="centered_radio">
+                                <property name="label" translatable="yes">_Keep magnifier cursor 
centered</property>
+                                <property name="active">True</property>
+                                <property name="use_underline">True</property>
+                                <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="push_radio">
+                                <property name="label" translatable="yes">Magnifier cursor _pushes contents 
around</property>
+                                <property name="group">centered_radio</property>
+                                <property name="use_underline">True</property>
+                                <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="proportional_radio">
+                                <property name="label" translatable="yes">Magnifier cursor moves with 
_contents</property>
+                                <property name="group">centered_radio</property>
+                                <property name="use_underline">True</property>
+                                <signal name="toggled" handler="mouse_tracking_radio_toggled_cb" 
object="CcZoomOptionsDialog" swapped="yes"/>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
                       </object>
                     </child>
                   </object>
@@ -357,18 +244,11 @@
             </child>
             <child type="tab">
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Magnifier</property>
               </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="margin_start">18</property>
                 <property name="margin_end">24</property>
                 <property name="margin_top">12</property>
@@ -376,251 +256,166 @@
                 <property name="spacing">12</property>
                 <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkFrame">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
-                    <property name="margin-start">4</property>
+                  <object class="GtkBox">
+                    <property name="spacing">6</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkAlignment">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="top_padding">8</property>
-                        <property name="left_padding">16</property>
+                      <object class="GtkBox">
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">6</property>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">_Crosshairs:</property>
+                            <property name="use_markup">True</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">crosshair_enabled_switcher</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                              <attribute name="scale" value="1.25"/>
+                            </attributes>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkSwitch" id="crosshair_enabled_switcher">
+                            <property name="valign">center</property>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="crosshair_clip_checkbox">
+                            <property name="label" translatable="yes">_Overlaps mouse cursor</property>
+                            <property name="halign">start</property>
+                            <property name="margin_start">100</property>
+                            <property name="hexpand">True</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkBox">
+                        <property name="margin-top">8</property>
+                        <property name="margin-start">16</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="column_spacing">12</property>
+                            <property name="row_spacing">16</property>
                             <child>
-                              <placeholder/>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Thickness:</property>
+                                <property name="justify">center</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">crosshair_thickness_scale</property>
+                                <property name="width_chars">12</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">0</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
                             </child>
                             <child>
-                              <object class="GtkGrid">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="row_spacing">16</property>
+                              <object class="GtkBox">
+                                <property name="spacing">3</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">0</property>
+                                </layout>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Thickness:</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes" context="universal access, 
thickness">Thin</property>
                                     <property name="justify">center</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">crosshair_thickness_scale</property>
-                                    <property name="width_chars">12</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
thickness">Thin</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkScale" id="crosshair_thickness_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">crosshair_thickness_adjustment</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">right</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
thickness">Thick</property>
-                                        <property name="justify">center</property>
-                                        <property name="margin-start">8</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
+                                  <object class="GtkScale" id="crosshair_thickness_scale">
+                                    <property name="adjustment">crosshair_thickness_adjustment</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="draw_value">False</property>
+                                    <property name="value_pos">right</property>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Length:</property>
+                                    <property name="label" translatable="yes" context="universal access, 
thickness">Thick</property>
                                     <property name="justify">center</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">crosshair_length_slider</property>
-                                    <property name="width_chars">12</property>
+                                    <property name="margin-start">8</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkScale" id="crosshair_length_slider">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">crosshair_length_adjustment</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">right</property>
-                                      </object>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes" comments="The color of the 
accessibility crosshair">Co_lor:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">crosshair_picker_color_button</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1.25"/>
-                                    </attributes>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Length:</property>
+                                <property name="justify">center</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">crosshair_length_slider</property>
+                                <property name="width_chars">12</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">1</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="spacing">3</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">1</property>
+                                </layout>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkColorButton" id="crosshair_picker_color_button">
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="yalign">0</property>
-                                        <property name="use_alpha">True</property>
-                                        <property name="color">#ffff00000000</property>
-                                      </object>
-                                    </child>
+                                  <object class="GtkScale" id="crosshair_length_slider">
+                                    <property name="adjustment">crosshair_length_adjustment</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="draw_value">False</property>
+                                    <property name="value_pos">right</property>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                               </object>
                             </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkBox">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">12</property>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">_Crosshairs:</property>
-                            <property name="use_markup">True</property>
-                            <property name="use_underline">True</property>
-                            <property name="mnemonic_widget">crosshair_enabled_switcher</property>
-                            <attributes>
-                              <attribute name="weight" value="bold"/>
-                              <attribute name="scale" value="1.25"/>
-                            </attributes>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="spacing">12</property>
                             <child>
-                              <placeholder/>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="crosshair_enabled_switcher">
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="use_action_appearance">False</property>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" comments="The color of the 
accessibility crosshair">Co_lor:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">crosshair_picker_color_button</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">2</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
                               </object>
                             </child>
                             <child>
-                              <placeholder/>
+                              <object class="GtkColorButton" id="crosshair_picker_color_button">
+                                <property name="valign">start</property>
+                                <property name="halign">start</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">2</property>
+                                </layout>
+                              </object>
                             </child>
                           </object>
                         </child>
-                        <child>
-                          <object class="GtkCheckButton" id="crosshair_clip_checkbox">
-                            <property name="label" translatable="yes">_Overlaps mouse cursor</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="halign">start</property>
-                            <property name="margin_start">100</property>
-                            <property name="hexpand">True</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="xalign">0</property>
-                            <property name="draw_indicator">True</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                        </child>
                       </object>
                     </child>
                   </object>
@@ -629,18 +424,11 @@
             </child>
             <child type="tab">
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Crosshairs</property>
               </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="margin_start">18</property>
                 <property name="margin_end">24</property>
                 <property name="margin_top">12</property>
@@ -648,286 +436,218 @@
                 <property name="spacing">12</property>
                 <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkFrame">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
-                    <property name="margin_start">4</property>
+                  <object class="GtkBox">
+                    <property name="spacing">6</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkLabel">
+                        <property name="label" translatable="yes">Color Effects:</property>
+                        <property name="xalign">0</property>
+                        <property name="use_markup">True</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                          <attribute name="scale" value="1.25"/>
+                        </attributes>
+                      </object>
+                    </child>
                     <child>
-                      <object class="GtkAlignment">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="top_padding">8</property>
-                        <property name="left_padding">16</property>
+                      <object class="GtkBox">
+                        <property name="margin-top">8</property>
+                        <property name="margin-start">16</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">6</property>
+                          <object class="GtkGrid">
+                            <property name="row_spacing">16</property>
+                            <property name="column_spacing">12</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_White on black:</property>
+                                <property name="justify">right</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">inverse_enabled_switch</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">0</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
+                            </child>
                             <child>
-                              <placeholder/>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Brightness:</property>
+                                <property name="justify">right</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">brightness_slider</property>
+                                <property name="width_chars">12</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">1</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Contrast:</property>
+                                <property name="justify">right</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">contrast_slider</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">2</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
                             </child>
                             <child>
-                              <object class="GtkGrid">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="row_spacing">16</property>
-                                <property name="column_spacing">12</property>
+                              <object class="GtkLabel">
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" context="universal access, 
contrast" comments="The contrast scale goes from Color to None (grayscale)">Co_lor</property>
+                                <property name="justify">right</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">grayscale_slider</property>
+                                <layout>
+                                  <property name="column">0</property>
+                                  <property name="row">3</property>
+                                </layout>
+                                <attributes>
+                                  <attribute name="scale" value="1.25"/>
+                                </attributes>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="spacing">3</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">3</property>
+                                </layout>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_White on black:</property>
-                                    <property name="justify">right</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">inverse_enabled_switch</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes" context="universal access, 
color">None</property>
+                                    <property name="justify">center</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkScale" id="grayscale_slider">
+                                    <property name="adjustment">grayscale_adjustment</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="draw_value">False</property>
+                                    <property name="value_pos">right</property>
+                                  </object>
                                 </child>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Brightness:</property>
-                                    <property name="justify">right</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">brightness_slider</property>
-                                    <property name="width_chars">12</property>
+                                    <property name="label" translatable="yes" context="universal access, 
color">Full</property>
+                                    <property name="justify">center</property>
+                                    <property name="margin-start">8</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="spacing">12</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">0</property>
+                                </layout>
+                                <child>
+                                  <object class="GtkSwitch" id="inverse_enabled_switch" />
+                                </child>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="spacing">3</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">1</property>
+                                </layout>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Contrast:</property>
-                                    <property name="justify">right</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">contrast_slider</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes" context="universal access, 
brightness">Low</property>
+                                    <property name="justify">center</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkScale" id="brightness_slider">
+                                    <property name="adjustment">brightness_adjustment</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="draw_value">False</property>
+                                    <property name="value_pos">left</property>
+                                  </object>
                                 </child>
                                 <child>
                                   <object class="GtkLabel">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes" context="universal access, 
contrast" comments="The contrast scale goes from Color to None (grayscale)">Co_lor</property>
-                                    <property name="justify">right</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">grayscale_slider</property>
+                                    <property name="label" translatable="yes" context="universal access, 
brightness">High</property>
+                                    <property name="justify">center</property>
+                                    <property name="margin-start">8</property>
                                     <attributes>
                                       <attribute name="scale" value="1.25"/>
                                     </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
color">None</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkScale" id="grayscale_slider">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">grayscale_adjustment</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">right</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
color">Full</property>
-                                        <property name="justify">center</property>
-                                        <property name="margin-start">8</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="spacing">3</property>
+                                <layout>
+                                  <property name="column">1</property>
+                                  <property name="row">2</property>
+                                </layout>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">12</property>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
-                                      <object class="GtkSwitch" id="inverse_enabled_switch">
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="use_action_appearance">False</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
+                                  <object class="GtkLabel">
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes" context="universal access, 
contrast">Low</property>
+                                    <property name="justify">center</property>
+                                    <attributes>
+                                      <attribute name="scale" value="1.25"/>
+                                    </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
brightness">Low</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkScale" id="brightness_slider">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">brightness_adjustment</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="lower_stepper_sensitivity">on</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">left</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
brightness">High</property>
-                                        <property name="justify">center</property>
-                                        <property name="margin-start">8</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
+                                  <object class="GtkScale" id="contrast_slider">
+                                    <property name="adjustment">contrast_adjustment</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="draw_value">False</property>
+                                    <property name="value_pos">left</property>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">3</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
contrast">Low</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkScale" id="contrast_slider">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">contrast_adjustment</property>
-                                        <property name="lower_stepper_sensitivity">on</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">left</property>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
contrast">High</property>
-                                        <property name="justify">center</property>
-                                        <property name="margin-start">8</property>
-                                        <attributes>
-                                          <attribute name="scale" value="1.25"/>
-                                        </attributes>
-                                      </object>
-                                    </child>
+                                  <object class="GtkLabel">
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes" context="universal access, 
contrast">High</property>
+                                    <property name="justify">center</property>
+                                    <property name="margin-start">8</property>
+                                    <attributes>
+                                      <attribute name="scale" value="1.25"/>
+                                    </attributes>
                                   </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="width">1</property>
-                                    <property name="height">1</property>
-                                  </packing>
                                 </child>
                               </object>
                             </child>
@@ -935,31 +655,14 @@
                         </child>
                       </object>
                     </child>
-                    <child type="label">
-                      <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Color Effects:</property>
-                        <property name="use_markup">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                          <attribute name="scale" value="1.25"/>
-                        </attributes>
-                      </object>
-                    </child>
                   </object>
                 </child>
               </object>
             </child>
             <child type="tab">
               <object class="GtkLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Color Effects</property>
               </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
             </child>
           </object>
         </child>
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 3d204b0a3..eac24e5a2 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -60,7 +60,7 @@ extern GType cc_sound_panel_get_type (void);
 #ifdef BUILD_THUNDERBOLT
 //extern GType cc_bolt_panel_get_type (void);
 #endif /* BUILD_THUNDERBOLT */
-//extern GType cc_ua_panel_get_type (void);
+extern GType cc_ua_panel_get_type (void);
 //extern GType cc_user_panel_get_type (void);
 #ifdef BUILD_WACOM
 //extern GType cc_wacom_panel_get_type (void);
@@ -131,7 +131,7 @@ static CcPanelLoaderVtable default_panels[] =
 #ifdef BUILD_THUNDERBOLT
   //PANEL_TYPE("thunderbolt",      cc_bolt_panel_get_type,                 NULL),
 #endif
-  //PANEL_TYPE("universal-access", cc_ua_panel_get_type,                   NULL),
+  PANEL_TYPE("universal-access", cc_ua_panel_get_type,                   NULL),
   //PANEL_TYPE("usage",            cc_usage_panel_get_type,                NULL),
   //PANEL_TYPE("user-accounts",    cc_user_panel_get_type,                 NULL),
 #ifdef BUILD_WACOM


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