25803271 xscreensaver should stop using libglade
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Thu, 30 Mar 2017 13:00:52 -0700
changeset 7818 c93a988b3522
parent 7815 bfb6aad28778
child 7819 b1bca76ec901
25803271 xscreensaver should stop using libglade
components/desktop/xscreensaver/Makefile
components/desktop/xscreensaver/patches/0000-Port-from-libglade-to-GtkBuilder.patch
components/desktop/xscreensaver/patches/0002-GNOME-desktop-menu.patch
components/desktop/xscreensaver/patches/0003-Solaris-paths.patch
components/desktop/xscreensaver/patches/0005-gtk-lock.patch
components/desktop/xscreensaver/patches/0006-allow-root.patch
components/desktop/xscreensaver/patches/0007-passwdTimeout-pref.patch
components/desktop/xscreensaver/patches/0008-security-policy.patch
components/desktop/xscreensaver/patches/0021-forkpty.patch
components/desktop/xscreensaver/xscreensaver.p5m
--- a/components/desktop/xscreensaver/Makefile	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/Makefile	Thu Mar 30 13:00:52 2017 -0700
@@ -127,6 +127,8 @@
     $(MAKE) -o Makefile xscreensaver.pot ; \
     touch stamp-it )
 
+COMPONENT_BUILD_ARGS += -j4
+
 # Recognizing DESTDIR as most autotools packages do would be too easy,
 # so xscreensaver makes us override install_prefix instead for the same effect.
 COMPONENT_INSTALL_ARGS += install_prefix=$(PROTO_DIR)
@@ -152,7 +154,6 @@
 REQUIRED_PACKAGES += library/desktop/atk
 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
 REQUIRED_PACKAGES += library/desktop/gtk2
-REQUIRED_PACKAGES += library/desktop/libglade
 REQUIRED_PACKAGES += library/desktop/pango
 REQUIRED_PACKAGES += library/glib2
 REQUIRED_PACKAGES += library/libxml2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/xscreensaver/patches/0000-Port-from-libglade-to-GtkBuilder.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -0,0 +1,6403 @@
+From 24b0af3ecb957085354642026877159b6022f800 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Sat, 25 Mar 2017 23:18:43 -0700
+Subject: [PATCH] Port from libglade to GtkBuilder
+
+Need to discuss with upstream if they'll accept this, but we need it
+in order to obsolete our libglade package.
+---
+ configure.in                       |    5 +-
+ driver/Makefile.in                 |   14 +-
+ driver/demo-Gtk.c                  |  123 +-
+ driver/xscreensaver-demo.glade2.in | 3136 ------------------------------------
+ driver/xscreensaver-demo.ui.in     | 2912 +++++++++++++++++++++++++++++++++
+ 5 files changed, 2981 insertions(+), 3209 deletions(-)
+ delete mode 100644 driver/xscreensaver-demo.glade2.in
+ create mode 100644 driver/xscreensaver-demo.ui.in
+
+diff --git a/configure.in b/configure.in
+index 4c4dee5..5ff8aea 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2660,10 +2660,9 @@ if test "$with_gtk" = yes; then
+   have_gtk=no
+   
+   ok="yes"
+-  pkg_check_version            gtk+-2.0  2.0.1  ; ac_gtk_version_string="$vers"
++  pkg_check_version            gtk+-2.0  2.12.0  ; ac_gtk_version_string="$vers"
+   pkg_check_version         gmodule-2.0  2.0.0
+   pkg_check_version          libxml-2.0  2.4.6
+-  pkg_check_version        libglade-2.0  1.99.0
+   pkg_check_version      gdk-pixbuf-2.0  2.0.0
+   pkg_check_version gdk-pixbuf-xlib-2.0  2.0.0
+   have_gtk="$ok"
+@@ -4159,7 +4158,7 @@ AC_OUTPUT(Makefile
+           utils/Makefile
+           driver/Makefile
+           driver/xscreensaver.pam
+-          driver/xscreensaver-demo.glade2
++          driver/xscreensaver-demo.ui
+           hacks/Makefile
+           hacks/glx/Makefile
+           po/Makefile.in
+diff --git a/driver/Makefile.in b/driver/Makefile.in
+index c132304..b24536e 100644
+--- a/driver/Makefile.in
++++ b/driver/Makefile.in
+@@ -237,7 +237,7 @@ MEN		= $(MEN_1) @MEN_OSX@
+ 
+ EXTRAS		= README Makefile.in \
+ 		  XScreenSaver.ad.in XScreenSaver-Xm.ad xscreensaver.pam.in \
+-		  xscreensaver-demo.glade2.in xscreensaver-demo.glade2p \
++		  xscreensaver-demo.ui.in \
+ 		  screensaver-properties.desktop.in \
+ 		  .gdbinit
+ VMSFILES	= compile_axp.com compile_decc.com link_axp.com link_decc.com \
+@@ -537,15 +537,15 @@ install-gnome::
+ 	   done								     ;\
+         fi
+ 
+-# xscreensaver-demo.glade2
++# xscreensaver-demo.ui
+ # into /usr/share/xscreensaver/glade/
+-install-gnome:: xscreensaver-demo.glade2
++install-gnome:: xscreensaver-demo.ui
+ 	@if [ "$(GTK_DATADIR)" != "" ]; then				      \
+ 	  if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then		      \
+ 	    echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"	     ;\
+ 	         $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)"	     ;\
+ 	  fi								     ;\
+-	  target=xscreensaver-demo.glade2				     ;\
++	  target=xscreensaver-demo.ui					     ;\
+ 	  echo $(INSTALL_DATA) $$target                             \
+ 	    $(install_prefix)$(GTK_GLADEDIR)/$$target                        ;\
+ 	  if   $(INSTALL_DATA) $$target                             \
+@@ -595,11 +595,11 @@ uninstall-gnome::
+ 	   done								     ;\
+         fi
+ 
+-# xscreensaver-demo.glade2
++# xscreensaver-demo.ui
+ # into /usr/share/xscreensaver/glade/
+-uninstall-gnome:: xscreensaver-demo.glade2
++uninstall-gnome:: xscreensaver-demo.ui
+ 	@if [ "$(GTK_DATADIR)" != "" ]; then				      \
+-	  target=xscreensaver-demo.glade2				     ;\
++	  target=xscreensaver-demo.ui					     ;\
+ 	  echo rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target               ;\
+ 	       rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target               ;\
+ 	 fi
+diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
+index 27d2316..87ae8a5 100644
+--- a/driver/demo-Gtk.c
++++ b/driver/demo-Gtk.c
+@@ -92,7 +92,6 @@
+ #include <gdk/gdkx.h>
+ 
+ #ifdef HAVE_GTK2
+-# include <glade/glade-xml.h>
+ # include <gmodule.h>
+ #else  /* !HAVE_GTK2 */
+ # define G_MODULE_EXPORT /**/
+@@ -208,7 +207,7 @@ typedef struct {
+   conf_data *cdata;		/* private data for per-hack configuration */
+ 
+ #ifdef HAVE_GTK2
+-  GladeXML *glade_ui;           /* Glade UI file */
++  GtkBuilder *glade_ui;         /* Glade UI file */
+ #endif /* HAVE_GTK2 */
+ 
+   Bool debug_p;			/* whether to print diagnostics */
+@@ -343,20 +342,31 @@ name_to_widget (state *s, const char *name)
+       /* First try to load the Glade file from the current directory;
+          if there isn't one there, check the installed directory.
+        */
+-# define GLADE_FILE_NAME "xscreensaver-demo.glade2"
++# define GLADE_FILE_NAME "xscreensaver-demo.ui"
+       const char * const files[] = { GLADE_FILE_NAME,
+                                      GLADE_DIR "/" GLADE_FILE_NAME };
+       int i;
++
++      s->glade_ui = gtk_builder_new ();
++
+       for (i = 0; i < countof (files); i++)
+         {
+           struct stat st;
+           if (!stat (files[i], &st))
+             {
+-              s->glade_ui = glade_xml_new (files[i], NULL, NULL);
+-              break;
++              GError* error = NULL;
++
++              if (gtk_builder_add_from_file (s->glade_ui, files[i], &error))
++                break;
++              else
++                {
++                  g_warning ("Couldn't load builder file %s: %s",
++			     files[i], error->message);
++                  g_error_free (error);
++                }
+             }
+         }
+-      if (!s->glade_ui)
++      if (i >= countof (files))
+ 	{
+ 	  fprintf (stderr,
+                    "%s: could not load \"" GLADE_FILE_NAME "\"\n"
+@@ -366,10 +376,10 @@ name_to_widget (state *s, const char *name)
+ 	}
+ # undef GLADE_FILE_NAME
+ 
+-      glade_xml_signal_autoconnect (s->glade_ui);
++      gtk_builder_connect_signals (s->glade_ui, NULL);
+     }
+ 
+-  w = glade_xml_get_widget (s->glade_ui, name);
++  w = GTK_WIDGET (gtk_builder_get_object (s->glade_ui, name));
+ 
+ #else /* !HAVE_GTK2 */
+ 
+@@ -1633,11 +1643,8 @@ flush_dialog_changes_and_save (state *s)
+ 
+   /* Map the mode menu to `saver_mode' enum values. */
+   {
+-    GtkOptionMenu *opt = GTK_OPTION_MENU (name_to_widget (s, "mode_menu"));
+-    GtkMenu *menu = GTK_MENU (gtk_option_menu_get_menu (opt));
+-    GtkWidget *selected = gtk_menu_get_active (menu);
+-    GList *kids = gtk_container_children (GTK_CONTAINER (menu));
+-    int menu_elt = g_list_index (kids, (gpointer) selected);
++    GtkComboBox *opt = GTK_COMBO_BOX (name_to_widget (s, "mode_menu"));
++    int menu_elt = gtk_combo_box_get_active (opt);
+     if (menu_elt < 0 || menu_elt >= countof(mode_menu_order)) abort();
+     p2->mode = mode_menu_order[menu_elt];
+   }
+@@ -1743,9 +1750,10 @@ flush_popup_changes_and_save (state *s)
+   int list_elt = selected_list_element (s);
+ 
+   GtkEntry *cmd = GTK_ENTRY (name_to_widget (s, "cmd_text"));
+-  GtkCombo *vis = GTK_COMBO (name_to_widget (s, "visual_combo"));
++  GtkComboBoxEntry *vis = GTK_COMBO_BOX_ENTRY (name_to_widget (s, "visual_combo"));
++  GtkEntry *visent = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (vis)));
+ 
+-  const char *visual = gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (vis)->entry));
++  const char *visual = gtk_entry_get_text (visent);
+   const char *command = gtk_entry_get_text (cmd);
+ 
+   char c;
+@@ -1790,7 +1798,7 @@ flush_popup_changes_and_save (state *s)
+     {
+       gdk_beep ();				  /* unparsable */
+       visual = "";
+-      gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (vis)->entry), _("Any"));
++      gtk_entry_set_text (visent, _("Any"));
+     }
+ 
+   changed = flush_changes (s, list_elt, -1, command, visual);
+@@ -1838,21 +1846,8 @@ mode_menu_item_cb (GtkWidget *widget, gpointer user_data)
+   GtkWidget *list = name_to_widget (s, "list");
+   int list_elt;
+ 
+-  GList *menu_items =
+-    gtk_container_children (GTK_CONTAINER (GET_PARENT (widget)));
+-  int menu_index = 0;
+-  saver_mode new_mode;
+-
+-  while (menu_items)
+-    {
+-      if (menu_items->data == widget)
+-        break;
+-      menu_index++;
+-      menu_items = menu_items->next;
+-    }
+-  if (!menu_items) abort();
+-
+-  new_mode = mode_menu_order[menu_index];
++  int menu_index = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
++  saver_mode new_mode = mode_menu_order[menu_index];
+ 
+   /* Keep the same list element displayed as before; except if we're
+      switching *to* "one screensaver" mode from any other mode, set
+@@ -2867,13 +2862,13 @@ populate_prefs_page (state *s)
+ 
+   /* Map the `saver_mode' enum to mode menu to values. */
+   {
+-    GtkOptionMenu *opt = GTK_OPTION_MENU (name_to_widget (s, "mode_menu"));
++    GtkComboBox *opt = GTK_COMBO_BOX (name_to_widget (s, "mode_menu"));
+ 
+     int i;
+     for (i = 0; i < countof(mode_menu_order); i++)
+       if (mode_menu_order[i] == p->mode)
+         break;
+-    gtk_option_menu_set_history (opt, i);
++    gtk_combo_box_set_active (opt, i);
+     update_list_sensitivity (s);
+   }
+ 
+@@ -3022,7 +3017,7 @@ sensitize_menu_items (state *s, Bool force_p)
+   static Bool running_p = False;
+   static time_t last_checked = 0;
+   time_t now = time ((time_t *) 0);
+-  const char *names[] = { "activate_menu", "lock_menu", "kill_menu",
++  const char *names[] = { "activate_action", "lock_action", "kill_action",
+                           /* "demo" */ };
+   int i;
+ 
+@@ -3034,8 +3029,9 @@ sensitize_menu_items (state *s, Bool force_p)
+ 
+   for (i = 0; i < countof(names); i++)
+     {
+-      GtkWidget *w = name_to_widget (s, names[i]);
+-      gtk_widget_set_sensitive (GTK_WIDGET(w), running_p);
++      GtkAction *a = GTK_ACTION (gtk_builder_get_object (s->glade_ui,
++							 names[i]));
++      gtk_action_set_sensitive (a, running_p);
+     }
+ }
+ 
+@@ -3107,7 +3103,7 @@ fix_text_entry_sizes (state *s)
+   /* Now fix the width of the combo box.
+    */
+   w = GTK_WIDGET (name_to_widget (s, "visual_combo"));
+-  w = GTK_COMBO (w)->entry;
++  w = GTK_COMBO_BOX_ENTRY (w)->entry;
+   width = gdk_string_width (w->style->font, "PseudoColor___");
+   gtk_widget_set_usize (w, width, -2);
+ 
+@@ -3313,7 +3309,7 @@ populate_demo_window (state *s, int list_elt)
+   GtkFrame *frame1 = GTK_FRAME (name_to_widget (s, "preview_frame"));
+   GtkFrame *frame2 = GTK_FRAME (name_to_widget (s, "opt_frame"));
+   GtkEntry *cmd    = GTK_ENTRY (name_to_widget (s, "cmd_text"));
+-  GtkCombo *vis    = GTK_COMBO (name_to_widget (s, "visual_combo"));
++  GtkComboBoxEntry *vis = GTK_COMBO_BOX_ENTRY (name_to_widget (s, "visual_combo"));
+   GtkWidget *list  = GTK_WIDGET (name_to_widget (s, "list"));
+ 
+   if (p->mode == BLANK_ONLY)
+@@ -3363,7 +3359,7 @@ populate_demo_window (state *s, int list_elt)
+     gtk_window_set_title (GTK_WINDOW (s->popup_widget), title);
+   }
+ 
+-  gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (vis)->entry),
++  gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (vis))),
+                       (hack
+                        ? (hack->visual && *hack->visual
+                           ? hack->visual
+@@ -5164,31 +5160,32 @@ main (int argc, char **argv)
+ #endif /* !HAVE_GTK2 */
+ 
+   /* Hook up callbacks to the items on the mode menu. */
+-  {
+-    GtkOptionMenu *opt = GTK_OPTION_MENU (name_to_widget (s, "mode_menu"));
+-    GtkMenu *menu = GTK_MENU (gtk_option_menu_get_menu (opt));
+-    GList *kids = gtk_container_children (GTK_CONTAINER (menu));
+-    int i;
+-    for (i = 0; kids; kids = kids->next, i++)
+-      {
+-        gtk_signal_connect (GTK_OBJECT (kids->data), "activate",
+-                            GTK_SIGNAL_FUNC (mode_menu_item_cb),
+-                            (gpointer) s);
+-
+-        /* The "random-same" mode menu item does not appear unless
+-           there are multple screens.
+-         */
+-        if (s->nscreens <= 1 &&
+-            mode_menu_order[i] == RANDOM_HACKS_SAME)
+-          gtk_widget_hide (GTK_WIDGET (kids->data));
+-      }
++  gtk_signal_connect (GTK_OBJECT (name_to_widget (s, "mode_menu")),
++                      "changed", GTK_SIGNAL_FUNC (mode_menu_item_cb),
++                      (gpointer) s);
++  if (s->nscreens <= 1)
++    {
++      GtkComboBox *opt = GTK_COMBO_BOX (name_to_widget (s, "mode_menu"));
++      GtkTreeModel *list = gtk_combo_box_get_model (opt);
++      unsigned int i;
++      for (i = 0; i < countof(mode_menu_order); i++)
++        {
++          /* The "random-same" mode menu item does not appear unless
++             there are multiple screens.
++           */
++          if (mode_menu_order[i] == RANDOM_HACKS_SAME)
++            {
++              GtkTreeIter iter;
++              gtk_tree_model_iter_nth_child (list, &iter, NULL, i);
++              gtk_list_store_remove (GTK_LIST_STORE (list), &iter);
++              break;
++            }
++        }
+ 
+-    if (s->nscreens <= 1)   /* recompute option-menu size */
+-      {
+-        gtk_widget_unrealize (GTK_WIDGET (menu));
+-        gtk_widget_realize (GTK_WIDGET (menu));
+-      }
+-  }
++        /* recompute option-menu size */
++        gtk_widget_unrealize (GTK_WIDGET (opt));
++        gtk_widget_realize (GTK_WIDGET (opt));
++    }
+ 
+ 
+   /* Handle the -prefs command-line argument. */
+diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in
+deleted file mode 100644
+index ad0095d..0000000
+--- a/driver/xscreensaver-demo.glade2.in
++++ /dev/null
+@@ -1,3136 +0,0 @@
+-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+-
+-<glade-interface>
+-<requires lib="gnome"/>
+-
+-<widget class="GtkWindow" id="xscreensaver_demo">
+-  <property name="title" translatable="yes">XScreenSaver</property>
+-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+-  <property name="window_position">GTK_WIN_POS_NONE</property>
+-  <property name="modal">False</property>
+-  <property name="resizable">True</property>
+-  <property name="destroy_with_parent">False</property>
+-  <property name="decorated">True</property>
+-  <property name="skip_taskbar_hint">False</property>
+-  <property name="skip_pager_hint">False</property>
+-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+-  <property name="focus_on_map">True</property>
+-  <property name="urgency_hint">False</property>
+-
+-  <child>
+-    <widget class="GtkVBox" id="outer_vbox">
+-      <property name="visible">True</property>
+-      <property name="homogeneous">False</property>
+-      <property name="spacing">5</property>
+-
+-      <child>
+-	<widget class="GtkMenuBar" id="menubar">
+-	  <property name="visible">True</property>
+-	  <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
+-	  <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
+-
+-	  <child>
+-	    <widget class="GtkMenuItem" id="file">
+-	      <property name="visible">True</property>
+-	      <property name="label" translatable="yes">_File</property>
+-	      <property name="use_underline">True</property>
+-	      <signal name="activate" handler="file_menu_cb" last_modification_time="Sun, 06 Mar 2005 21:41:13 GMT"/>
+-
+-	      <child>
+-		<widget class="GtkMenu" id="file_menu">
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="activate_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Blank Screen Now</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="activate_menu_cb"/>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="lock_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Lock Screen Now</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="lock_menu_cb"/>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="kill_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Kill Daemon</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="kill_menu_cb"/>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="restart">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Restart Daemon</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="restart_menu_cb"/>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="separator1">
+-		      <property name="visible">True</property>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="exit_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Quit</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="exit_menu_cb"/>
+-		    </widget>
+-		  </child>
+-		</widget>
+-	      </child>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkMenuItem" id="help">
+-	      <property name="visible">True</property>
+-	      <property name="label" translatable="yes">_Help</property>
+-	      <property name="use_underline">True</property>
+-
+-	      <child>
+-		<widget class="GtkMenu" id="help_menu">
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="about_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_About...</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="about_menu_cb"/>
+-		    </widget>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkMenuItem" id="doc_menu">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">_Documentation...</property>
+-		      <property name="use_underline">True</property>
+-		      <signal name="activate" handler="doc_menu_cb"/>
+-		    </widget>
+-		  </child>
+-		</widget>
+-	      </child>
+-	    </widget>
+-	  </child>
+-	</widget>
+-	<packing>
+-	  <property name="padding">0</property>
+-	  <property name="expand">False</property>
+-	  <property name="fill">False</property>
+-	</packing>
+-      </child>
+-
+-      <child>
+-	<widget class="GtkHBox" id="spacer_hbox">
+-	  <property name="border_width">8</property>
+-	  <property name="visible">True</property>
+-	  <property name="homogeneous">False</property>
+-	  <property name="spacing">0</property>
+-
+-	  <child>
+-	    <widget class="GtkNotebook" id="notebook">
+-	      <property name="visible">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="show_tabs">True</property>
+-	      <property name="show_border">True</property>
+-	      <property name="tab_pos">GTK_POS_TOP</property>
+-	      <property name="scrollable">False</property>
+-	      <property name="enable_popup">False</property>
+-	      <signal name="switch_page" handler="switch_page_cb"/>
+-
+-	      <child>
+-		<widget class="GtkTable" id="demos_table">
+-		  <property name="border_width">10</property>
+-		  <property name="visible">True</property>
+-		  <property name="n_rows">2</property>
+-		  <property name="n_columns">2</property>
+-		  <property name="homogeneous">False</property>
+-		  <property name="row_spacing">0</property>
+-		  <property name="column_spacing">0</property>
+-
+-		  <child>
+-		    <widget class="GtkTable" id="blanking_table">
+-		      <property name="visible">True</property>
+-		      <property name="n_rows">3</property>
+-		      <property name="n_columns">4</property>
+-		      <property name="homogeneous">False</property>
+-		      <property name="row_spacing">2</property>
+-		      <property name="column_spacing">0</property>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="cycle_label">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">_Cycle After</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_RIGHT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">1</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">8</property>
+-			  <property name="ypad">0</property>
+-			  <property name="mnemonic_widget">cycle_spinbutton</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="cycle_spinbutton" type="label-for"/>
+-			    <atkrelation target="cycle_spinbutton" type="flows-to"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">1</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">1</property>
+-			  <property name="bottom_attach">2</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkEventBox" id="lock_button_eventbox">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">Whether a password should be required to un-blank the screen.</property>
+-			  <property name="visible_window">True</property>
+-			  <property name="above_child">False</property>
+-
+-			  <child>
+-			    <widget class="GtkCheckButton" id="lock_button">
+-			      <property name="visible">True</property>
+-			      <property name="can_focus">True</property>
+-			      <property name="label" translatable="yes">_Lock Screen After  </property>
+-			      <property name="use_underline">True</property>
+-			      <property name="relief">GTK_RELIEF_NORMAL</property>
+-			      <property name="focus_on_click">True</property>
+-			      <property name="active">False</property>
+-			      <property name="inconsistent">False</property>
+-			      <property name="draw_indicator">True</property>
+-			      <accessibility>
+-				<atkproperty name="AtkObject::accessible_name" translatable="yes">Lock Screen</atkproperty>
+-				<atkrelation target="lock_spinbutton" type="controller-for"/>
+-				<atkrelation target="lock_spinbutton" type="label-for"/>
+-				<atkrelation target="lock_spinbutton" type="flows-to"/>
+-			      </accessibility>
+-			      <signal name="toggled" handler="pref_changed_cb"/>
+-			    </widget>
+-			  </child>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">0</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">2</property>
+-			  <property name="bottom_attach">3</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkSpinButton" id="timeout_spinbutton">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">How long before the screen saver activates.</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="climb_rate">15</property>
+-			  <property name="digits">0</property>
+-			  <property name="numeric">True</property>
+-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-			  <property name="snap_to_ticks">True</property>
+-			  <property name="wrap">False</property>
+-			  <property name="adjustment">1 1 720 1 15 0</property>
+-			  <accessibility>
+-			    <atkrelation target="timeout_label" type="labelled-by"/>
+-			    <atkrelation target="timeout_mlabel" type="labelled-by"/>
+-			    <atkrelation target="timeout_label" type="flows-from"/>
+-			    <atkrelation target="timeout_mlabel" type="flows-to"/>
+-			  </accessibility>
+-			  <signal name="activate" handler="pref_changed_cb"/>
+-			  <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-			  <signal name="value_changed" handler="pref_changed_cb"/>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">2</property>
+-			  <property name="right_attach">3</property>
+-			  <property name="top_attach">0</property>
+-			  <property name="bottom_attach">1</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkSpinButton" id="lock_spinbutton">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">How long after the screen blanks until a password will be required.</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="climb_rate">15</property>
+-			  <property name="digits">0</property>
+-			  <property name="numeric">True</property>
+-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-			  <property name="snap_to_ticks">True</property>
+-			  <property name="wrap">False</property>
+-			  <property name="adjustment">0 0 720 1 15 0</property>
+-			  <accessibility>
+-			    <atkproperty name="AtkObject::accessible_name" translatable="yes">Lock Screen After</atkproperty>
+-			    <atkrelation target="lock_button" type="controlled-by"/>
+-			    <atkrelation target="lock_button" type="labelled-by"/>
+-			    <atkrelation target="lock_mlabel" type="labelled-by"/>
+-			    <atkrelation target="lock_button" type="flows-from"/>
+-			    <atkrelation target="lock_mlabel" type="flows-to"/>
+-			  </accessibility>
+-			  <signal name="activate" handler="pref_changed_cb"/>
+-			  <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-			  <signal name="value_changed" handler="pref_changed_cb"/>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">2</property>
+-			  <property name="right_attach">3</property>
+-			  <property name="top_attach">2</property>
+-			  <property name="bottom_attach">3</property>
+-			  <property name="y_padding">10</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkSpinButton" id="cycle_spinbutton">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">How long each display mode should run before choosing a new one (in Random mode.)</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="climb_rate">15</property>
+-			  <property name="digits">0</property>
+-			  <property name="numeric">True</property>
+-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-			  <property name="snap_to_ticks">True</property>
+-			  <property name="wrap">False</property>
+-			  <property name="adjustment">0 0 720 1 15 0</property>
+-			  <accessibility>
+-			    <atkrelation target="cycle_label" type="labelled-by"/>
+-			    <atkrelation target="cycle_mlabel" type="labelled-by"/>
+-			    <atkrelation target="cycle_label" type="flows-from"/>
+-			    <atkrelation target="cycle_mlabel" type="flows-to"/>
+-			  </accessibility>
+-			  <signal name="activate" handler="pref_changed_cb"/>
+-			  <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-			  <signal name="value_changed" handler="pref_changed_cb"/>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">2</property>
+-			  <property name="right_attach">3</property>
+-			  <property name="top_attach">1</property>
+-			  <property name="bottom_attach">2</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="lock_mlabel">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">minutes</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">8</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="lock_spinbutton" type="label-for"/>
+-			    <atkrelation target="lock_spinbutton" type="flows-to"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">3</property>
+-			  <property name="right_attach">4</property>
+-			  <property name="top_attach">2</property>
+-			  <property name="bottom_attach">3</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="cycle_mlabel">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">minutes</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">8</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="cycle_spinbutton" type="label-for"/>
+-			    <atkrelation target="cycle_spinbutton" type="flows-from"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">3</property>
+-			  <property name="right_attach">4</property>
+-			  <property name="top_attach">1</property>
+-			  <property name="bottom_attach">2</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="timeout_label">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">_Blank After</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_RIGHT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">1</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">8</property>
+-			  <property name="ypad">0</property>
+-			  <property name="mnemonic_widget">timeout_spinbutton</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="timeout_spinbutton" type="label-for"/>
+-			    <atkrelation target="timeout_spinbutton" type="flows-to"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">1</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">0</property>
+-			  <property name="bottom_attach">1</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="timeout_mlabel">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">minutes</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">8</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="timeout_spinbutton" type="label-for"/>
+-			    <atkrelation target="timeout_spinbutton" type="flows-from"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">3</property>
+-			  <property name="right_attach">4</property>
+-			  <property name="top_attach">0</property>
+-			  <property name="bottom_attach">1</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">0</property>
+-		      <property name="right_attach">1</property>
+-		      <property name="top_attach">1</property>
+-		      <property name="bottom_attach">2</property>
+-		      <property name="x_options">fill</property>
+-		      <property name="y_options">fill</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkHButtonBox" id="demo_manual_hbbox">
+-		      <property name="visible">True</property>
+-		      <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
+-		      <property name="spacing">30</property>
+-
+-		      <child>
+-			<widget class="GtkButton" id="demo">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">Demo the selected screen saver in full-screen mode (click the mouse to return.)</property>
+-			  <property name="can_default">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="label" translatable="yes">_Preview</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="relief">GTK_RELIEF_NORMAL</property>
+-			  <property name="focus_on_click">True</property>
+-			  <signal name="clicked" handler="run_this_cb"/>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkButton" id="settings">
+-			  <property name="visible">True</property>
+-			  <property name="tooltip" translatable="yes">Customization and explanation of the selected screen saver.</property>
+-			  <property name="can_default">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="label" translatable="yes">_Settings...</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="relief">GTK_RELIEF_NORMAL</property>
+-			  <property name="focus_on_click">True</property>
+-			  <signal name="clicked" handler="settings_cb"/>
+-			</widget>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">1</property>
+-		      <property name="right_attach">2</property>
+-		      <property name="top_attach">1</property>
+-		      <property name="bottom_attach">2</property>
+-		      <property name="x_options">fill</property>
+-		      <property name="y_options">fill</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkVBox" id="list_vbox">
+-		      <property name="border_width">10</property>
+-		      <property name="visible">True</property>
+-		      <property name="homogeneous">False</property>
+-		      <property name="spacing">0</property>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="mode_hbox">
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">0</property>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="mode_label">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">_Mode:</property>
+-			      <property name="use_underline">True</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="mnemonic_widget">mode_menu</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			      <accessibility>
+-				<atkrelation target="mode_menu_popup" type="label-for"/>
+-			      </accessibility>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkOptionMenu" id="mode_menu">
+-			      <property name="visible">True</property>
+-			      <property name="can_focus">True</property>
+-			      <property name="history">0</property>
+-			      <accessibility>
+-				<atkrelation target="mode_label" type="labelled-by"/>
+-			      </accessibility>
+-
+-			      <child internal-child="menu">
+-				<widget class="GtkMenu" id="mode_menu_popup">
+-				  <property name="visible">True</property>
+-
+-				  <child>
+-				    <widget class="GtkMenuItem" id="disable_menuitem">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">Never blank the screen or power down the monitor.</property>
+-				      <property name="label" translatable="yes">_Disable Screen Saver</property>
+-				      <property name="use_underline">True</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkMenuItem" id="blank_menuitem">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">When idle or locked, blacken the screen only.</property>
+-				      <property name="label" translatable="yes">_Blank Screen Only</property>
+-				      <property name="use_underline">True</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkMenuItem" id="one_menuitem">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">When idle or locked, run the display mode selected below.</property>
+-				      <property name="label" translatable="yes">_Only One Screen Saver</property>
+-				      <property name="use_underline">True</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkMenuItem" id="random_menuitem">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">When idle or locked, choose a random display mode from among the checked items in the list below.</property>
+-				      <property name="label" translatable="yes">_Random Screen Saver</property>
+-				      <property name="use_underline">True</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkMenuItem" id="random_same_menuitem">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">When idle or locked, choose a random display mode from among the checked items in the list below.  Run that same mode on each monitor.</property>
+-				      <property name="label" translatable="yes">_Same Random Savers</property>
+-				      <property name="use_underline">True</property>
+-				    </widget>
+-				  </child>
+-				</widget>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">4</property>
+-			      <property name="expand">True</property>
+-			      <property name="fill">True</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-			<packing>
+-			  <property name="padding">10</property>
+-			  <property name="expand">False</property>
+-			  <property name="fill">True</property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkScrolledWindow" id="scroller">
+-			  <property name="visible">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+-			  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+-			  <property name="shadow_type">GTK_SHADOW_IN</property>
+-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+-
+-			  <child>
+-			    <widget class="GtkTreeView" id="list">
+-			      <property name="visible">True</property>
+-			      <property name="can_focus">True</property>
+-			      <property name="headers_visible">False</property>
+-			      <property name="rules_hint">True</property>
+-			      <property name="reorderable">False</property>
+-			      <property name="enable_search">True</property>
+-			      <property name="fixed_height_mode">False</property>
+-			      <property name="hover_selection">False</property>
+-			      <property name="hover_expand">False</property>
+-			    </widget>
+-			  </child>
+-			</widget>
+-			<packing>
+-			  <property name="padding">0</property>
+-			  <property name="expand">True</property>
+-			  <property name="fill">True</property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="centering_hbox">
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">True</property>
+-			  <property name="spacing">0</property>
+-
+-			  <child>
+-			    <widget class="GtkHBox" id="next_prev_hbox">
+-			      <property name="visible">True</property>
+-			      <property name="homogeneous">False</property>
+-			      <property name="spacing">0</property>
+-
+-			      <child>
+-				<widget class="GtkButton" id="next">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Run the next screen saver in the list in full-screen mode (click the mouse to return.)</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <signal name="clicked" handler="run_next_cb"/>
+-
+-				  <child>
+-				    <widget class="GtkArrow" id="arrow1">
+-				      <property name="visible">True</property>
+-				      <property name="arrow_type">GTK_ARROW_DOWN</property>
+-				      <property name="shadow_type">GTK_SHADOW_OUT</property>
+-				      <property name="xalign">0.5</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				    </widget>
+-				  </child>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkButton" id="prev">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Run the previous screen saver in the list in full-screen mode (click the mouse to return.)</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <signal name="clicked" handler="run_prev_cb"/>
+-
+-				  <child>
+-				    <widget class="GtkArrow" id="arrow2">
+-				      <property name="visible">True</property>
+-				      <property name="arrow_type">GTK_ARROW_UP</property>
+-				      <property name="shadow_type">GTK_SHADOW_OUT</property>
+-				      <property name="xalign">0.5</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				    </widget>
+-				  </child>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-			<packing>
+-			  <property name="padding">0</property>
+-			  <property name="expand">False</property>
+-			  <property name="fill">True</property>
+-			  <property name="pack_type">GTK_PACK_END</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">0</property>
+-		      <property name="right_attach">1</property>
+-		      <property name="top_attach">0</property>
+-		      <property name="bottom_attach">1</property>
+-		      <property name="x_options">fill</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkFrame" id="preview_frame">
+-		      <property name="visible">True</property>
+-		      <property name="label_xalign">0</property>
+-		      <property name="label_yalign">0.5</property>
+-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-		      <accessibility>
+-			<atkrelation target="label1" type="labelled-by"/>
+-		      </accessibility>
+-
+-		      <child>
+-			<widget class="GtkNotebook" id="preview_notebook">
+-			  <property name="visible">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="show_tabs">True</property>
+-			  <property name="show_border">False</property>
+-			  <property name="tab_pos">GTK_POS_BOTTOM</property>
+-			  <property name="scrollable">False</property>
+-			  <property name="enable_popup">False</property>
+-
+-			  <child>
+-			    <widget class="GtkAspectFrame" id="preview_aspectframe">
+-			      <property name="border_width">8</property>
+-			      <property name="visible">True</property>
+-			      <property name="label_xalign">0</property>
+-			      <property name="label_yalign">0.5</property>
+-			      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="ratio">1.33000004292</property>
+-			      <property name="obey_child">False</property>
+-
+-			      <child>
+-				<widget class="GtkDrawingArea" id="preview">
+-				  <property name="visible">True</property>
+-				</widget>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="tab_expand">False</property>
+-			      <property name="tab_fill">True</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="preview_tab">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">preview</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="type">tab</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="no_preview_label">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">No Preview
+-Available</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_CENTER</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="tab_expand">False</property>
+-			      <property name="tab_fill">True</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="no_preview_tab">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">no preview</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="type">tab</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="not_installed_label">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">Not
+-Installed</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_CENTER</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="tab_expand">False</property>
+-			      <property name="tab_fill">True</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="not_installed_tab">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">not installed</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="type">tab</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="nothing_label">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">Very few (or no) screen savers appear to be available.
+-
+-This probably means that the &quot;xscreensaver-extras&quot; and
+-&quot;xscreensaver-gl-extras&quot; packages are not installed.</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_CENTER</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="tab_expand">False</property>
+-			      <property name="tab_fill">True</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="nothing_tab">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">nothing</property>
+-			      <property name="use_underline">False</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="type">tab</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="label1">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">Description</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="preview_frame" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="type">label_item</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">1</property>
+-		      <property name="right_attach">2</property>
+-		      <property name="top_attach">0</property>
+-		      <property name="bottom_attach">1</property>
+-		      <property name="y_padding">6</property>
+-		      <property name="x_options">expand|shrink|fill</property>
+-		      <property name="y_options">expand|shrink|fill</property>
+-		    </packing>
+-		  </child>
+-		</widget>
+-		<packing>
+-		  <property name="tab_expand">False</property>
+-		  <property name="tab_fill">True</property>
+-		</packing>
+-	      </child>
+-
+-	      <child>
+-		<widget class="GtkLabel" id="demo_tab">
+-		  <property name="visible">True</property>
+-		  <property name="label" translatable="yes">_Display Modes</property>
+-		  <property name="use_underline">True</property>
+-		  <property name="use_markup">False</property>
+-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
+-		  <property name="wrap">False</property>
+-		  <property name="selectable">False</property>
+-		  <property name="xalign">0.5</property>
+-		  <property name="yalign">0.5</property>
+-		  <property name="xpad">0</property>
+-		  <property name="ypad">0</property>
+-		  <property name="mnemonic_widget">notebook</property>
+-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		  <property name="width_chars">-1</property>
+-		  <property name="single_line_mode">False</property>
+-		  <property name="angle">0</property>
+-		</widget>
+-		<packing>
+-		  <property name="type">tab</property>
+-		</packing>
+-	      </child>
+-
+-	      <child>
+-		<widget class="GtkTable" id="options_table">
+-		  <property name="visible">True</property>
+-		  <property name="n_rows">2</property>
+-		  <property name="n_columns">2</property>
+-		  <property name="homogeneous">True</property>
+-		  <property name="row_spacing">0</property>
+-		  <property name="column_spacing">0</property>
+-
+-		  <child>
+-		    <widget class="GtkFrame" id="grab_frame">
+-		      <property name="border_width">10</property>
+-		      <property name="visible">True</property>
+-		      <property name="label_xalign">0</property>
+-		      <property name="label_yalign">0.5</property>
+-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-		      <accessibility>
+-			<atkrelation target="label2" type="labelled-by"/>
+-		      </accessibility>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="grab_hbox">
+-			  <property name="border_width">8</property>
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">8</property>
+-
+-			  <child>
+-			    <widget class="GtkImage" id="image2">
+-			      <property name="visible">True</property>
+-			      <property name="pixbuf">screensaver-snap.png</property>
+-			      <property name="xalign">0</property>
+-			      <property name="yalign">0</property>
+-			      <property name="xpad">4</property>
+-			      <property name="ypad">8</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkVBox" id="grab_vbox">
+-			      <property name="visible">True</property>
+-			      <property name="homogeneous">False</property>
+-			      <property name="spacing">0</property>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="grab_desk_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the image-manipulating modes should be allowed to operate on an image of your desktop.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Grab Desktop _Images</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="grab_video_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the image-manipulating modes should operate on images captured from the system's video input (if there is one.)</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Grab _Video Frames</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="grab_image_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the image-manipulating modes should load image files.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Choose _Random Image:</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <accessibility>
+-				    <atkrelation target="image_text" type="controller-for"/>
+-				    <atkrelation target="image_browse_button" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkHBox" id="image_hbox">
+-				  <property name="visible">True</property>
+-				  <property name="homogeneous">False</property>
+-				  <property name="spacing">0</property>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="grab_dummy">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes"></property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0.5</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">8</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">0</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkEntry" id="image_text">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">The local directory, RSS feed or Atom feed from which images will be randomly chosen.</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="editable">True</property>
+-				      <property name="visibility">True</property>
+-				      <property name="max_length">0</property>
+-				      <property name="text" translatable="yes"></property>
+-				      <property name="has_frame">True</property>
+-				      <property name="invisible_char">*</property>
+-				      <property name="activates_default">False</property>
+-				      <accessibility>
+-					<atkrelation target="grab_image_button" type="labelled-by"/>
+-					<atkrelation target="grab_image_button" type="controlled-by"/>
+-				      </accessibility>
+-				      <signal name="activate" handler="pref_changed_cb"/>
+-				      <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">2</property>
+-				      <property name="expand">True</property>
+-				      <property name="fill">True</property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkButton" id="image_browse_button">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">_Browse</property>
+-				      <property name="use_underline">True</property>
+-				      <property name="relief">GTK_RELIEF_NORMAL</property>
+-				      <property name="focus_on_click">True</property>
+-				      <signal name="clicked" handler="browse_image_dir_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">0</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkLabel" id="label8">
+-				  <property name="visible">True</property>
+-				  <property name="label" translatable="yes">Local directory, or RSS feed URL.</property>
+-				  <property name="use_underline">False</property>
+-				  <property name="use_markup">False</property>
+-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				  <property name="wrap">False</property>
+-				  <property name="selectable">False</property>
+-				  <property name="xalign">0</property>
+-				  <property name="yalign">0.5</property>
+-				  <property name="xpad">20</property>
+-				  <property name="ypad">0</property>
+-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				  <property name="width_chars">-1</property>
+-				  <property name="single_line_mode">False</property>
+-				  <property name="angle">0</property>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">True</property>
+-			      <property name="fill">True</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="label2">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">Image Manipulation</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="grab_frame" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="type">label_item</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">0</property>
+-		      <property name="right_attach">1</property>
+-		      <property name="top_attach">0</property>
+-		      <property name="bottom_attach">1</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkFrame" id="diag_frame">
+-		      <property name="border_width">10</property>
+-		      <property name="visible">True</property>
+-		      <property name="label_xalign">0</property>
+-		      <property name="label_yalign">0.5</property>
+-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-		      <accessibility>
+-			<atkrelation target="label3" type="labelled-by"/>
+-		      </accessibility>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="diag_hbox">
+-			  <property name="border_width">8</property>
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">8</property>
+-
+-			  <child>
+-			    <widget class="GtkImage" id="diag_logo">
+-			      <property name="visible">True</property>
+-			      <property name="pixbuf">screensaver-diagnostic.png</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkTable" id="text_table">
+-			      <property name="visible">True</property>
+-			      <property name="n_rows">5</property>
+-			      <property name="n_columns">3</property>
+-			      <property name="homogeneous">False</property>
+-			      <property name="row_spacing">2</property>
+-			      <property name="column_spacing">2</property>
+-
+-			      <child>
+-				<widget class="GtkRadioButton" id="text_radio">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the text typed here.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Text</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <accessibility>
+-				    <atkrelation target="text_entry" type="controller-for"/>
+-				    <atkrelation target="text_entry" type="label-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:44 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">0</property>
+-				  <property name="right_attach">1</property>
+-				  <property name="top_attach">1</property>
+-				  <property name="bottom_attach">2</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkRadioButton" id="text_file_radio">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the contents of this file.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Text _file</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <property name="group">text_radio</property>
+-				  <accessibility>
+-				    <atkrelation target="text_file_entry" type="label-for"/>
+-				    <atkrelation target="text_file_entry" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:55 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">0</property>
+-				  <property name="right_attach">1</property>
+-				  <property name="top_attach">2</property>
+-				  <property name="bottom_attach">3</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkRadioButton" id="text_program_radio">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the output of this program.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Program</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <property name="group">text_radio</property>
+-				  <accessibility>
+-				    <atkrelation target="text_program_entry" type="label-for"/>
+-				    <atkrelation target="text_program_entry" type="controller-for"/>
+-				    <atkrelation target="text_program_browse" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:07 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">0</property>
+-				  <property name="right_attach">1</property>
+-				  <property name="top_attach">3</property>
+-				  <property name="bottom_attach">4</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkRadioButton" id="text_url_radio">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the contents of this URL (HTML or RSS).</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_URL</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <property name="group">text_radio</property>
+-				  <accessibility>
+-				    <atkrelation target="text_url_entry" type="label-for"/>
+-				    <atkrelation target="text_url_entry" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:17 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">0</property>
+-				  <property name="right_attach">1</property>
+-				  <property name="top_attach">4</property>
+-				  <property name="bottom_attach">5</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkRadioButton" id="text_host_radio">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the local host name, date, and time.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Host Name and Time</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">True</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <property name="group">text_radio</property>
+-				  <signal name="toggled" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:32 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">0</property>
+-				  <property name="right_attach">3</property>
+-				  <property name="top_attach">0</property>
+-				  <property name="bottom_attach">1</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkEntry" id="text_url_entry">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the contents of this URL (HTML or RSS).</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="editable">True</property>
+-				  <property name="visibility">True</property>
+-				  <property name="max_length">0</property>
+-				  <property name="text" translatable="yes"></property>
+-				  <property name="has_frame">True</property>
+-				  <property name="invisible_char">*</property>
+-				  <property name="activates_default">False</property>
+-				  <accessibility>
+-				    <atkrelation target="text_url_radio" type="controlled-by"/>
+-				  </accessibility>
+-				  <signal name="activate" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:33:10 GMT"/>
+-				  <signal name="focus_out_event" handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:34:26 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">1</property>
+-				  <property name="right_attach">3</property>
+-				  <property name="top_attach">4</property>
+-				  <property name="bottom_attach">5</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkButton" id="text_file_browse">
+-				  <property name="visible">True</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Browse</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <accessibility>
+-				    <atkrelation target="text_file_radio" type="controlled-by"/>
+-				  </accessibility>
+-				  <signal name="clicked" handler="browse_text_file_cb" last_modification_time="Sun, 20 Mar 2005 01:24:38 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">2</property>
+-				  <property name="right_attach">3</property>
+-				  <property name="top_attach">2</property>
+-				  <property name="bottom_attach">3</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkEntry" id="text_entry">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the text typed here.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="editable">True</property>
+-				  <property name="visibility">True</property>
+-				  <property name="max_length">0</property>
+-				  <property name="text" translatable="yes"></property>
+-				  <property name="has_frame">True</property>
+-				  <property name="invisible_char">*</property>
+-				  <property name="activates_default">False</property>
+-				  <accessibility>
+-				    <atkrelation target="text_program_radio" type="labelled-by"/>
+-				    <atkrelation target="text_program_radio" type="controlled-by"/>
+-				  </accessibility>
+-				  <signal name="activate" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:42 GMT"/>
+-				  <signal name="focus_out_event" handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:33:43 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">1</property>
+-				  <property name="right_attach">3</property>
+-				  <property name="top_attach">1</property>
+-				  <property name="bottom_attach">2</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkEntry" id="text_program_entry">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the output of this program.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="editable">True</property>
+-				  <property name="visibility">True</property>
+-				  <property name="max_length">0</property>
+-				  <property name="text" translatable="yes"></property>
+-				  <property name="has_frame">True</property>
+-				  <property name="invisible_char">*</property>
+-				  <property name="activates_default">False</property>
+-				  <accessibility>
+-				    <atkrelation target="text_program_radio" type="labelled-by"/>
+-				    <atkrelation target="text_program_radio" type="controlled-by"/>
+-				  </accessibility>
+-				  <signal name="activate" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:33:02 GMT"/>
+-				  <signal name="focus_out_event" handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:34:15 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">1</property>
+-				  <property name="right_attach">2</property>
+-				  <property name="top_attach">3</property>
+-				  <property name="bottom_attach">4</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkButton" id="text_program_browse">
+-				  <property name="visible">True</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Browse</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <accessibility>
+-				    <atkrelation target="text_program_radio" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="clicked" handler="browse_text_program_cb" last_modification_time="Sun, 20 Mar 2005 01:24:51 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">2</property>
+-				  <property name="right_attach">3</property>
+-				  <property name="top_attach">3</property>
+-				  <property name="bottom_attach">4</property>
+-				  <property name="x_options">fill</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkEntry" id="text_file_entry">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Text-displaying modes will display the contents of this file.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="editable">True</property>
+-				  <property name="visibility">True</property>
+-				  <property name="max_length">0</property>
+-				  <property name="text" translatable="yes"></property>
+-				  <property name="has_frame">True</property>
+-				  <property name="invisible_char">*</property>
+-				  <property name="activates_default">False</property>
+-				  <accessibility>
+-				    <atkrelation target="text_file_radio" type="labelled-by"/>
+-				    <atkrelation target="text_file_radio" type="controlled-by"/>
+-				  </accessibility>
+-				  <signal name="activate" handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:53 GMT"/>
+-				  <signal name="focus_out_event" handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:33:55 GMT"/>
+-				</widget>
+-				<packing>
+-				  <property name="left_attach">1</property>
+-				  <property name="right_attach">2</property>
+-				  <property name="top_attach">2</property>
+-				  <property name="bottom_attach">3</property>
+-				  <property name="y_options"></property>
+-				</packing>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">True</property>
+-			      <property name="fill">True</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="label3">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">Text Manipulation</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="diag_frame" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="type">label_item</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">0</property>
+-		      <property name="right_attach">1</property>
+-		      <property name="top_attach">1</property>
+-		      <property name="bottom_attach">2</property>
+-		      <property name="x_options">fill</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkFrame" id="dpms_frame">
+-		      <property name="border_width">10</property>
+-		      <property name="visible">True</property>
+-		      <property name="label_xalign">0</property>
+-		      <property name="label_yalign">0.5</property>
+-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="dpms_hbox">
+-			  <property name="border_width">8</property>
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">8</property>
+-
+-			  <child>
+-			    <widget class="GtkImage" id="dpms_logo">
+-			      <property name="visible">True</property>
+-			      <property name="pixbuf">screensaver-power.png</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkVBox" id="vbox6">
+-			      <property name="visible">True</property>
+-			      <property name="homogeneous">False</property>
+-			      <property name="spacing">0</property>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="dpms_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the monitor should be powered down after a while.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Power Management Enabled</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">True</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <accessibility>
+-				    <atkrelation target="dpms_suspend_spinbutton" type="controller-for"/>
+-				    <atkrelation target="dpms_standby_spinbutton" type="controller-for"/>
+-				    <atkrelation target="dpms_off_spinbutton" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkTable" id="dpms_table">
+-				  <property name="visible">True</property>
+-				  <property name="n_rows">3</property>
+-				  <property name="n_columns">3</property>
+-				  <property name="homogeneous">False</property>
+-				  <property name="row_spacing">2</property>
+-				  <property name="column_spacing">4</property>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_standby_label">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">Stand_by After</property>
+-				      <property name="use_underline">True</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">1</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">10</property>
+-				      <property name="ypad">0</property>
+-				      <property name="mnemonic_widget">dpms_standby_spinbutton</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_standby_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_standby_spinbutton" type="flows-to"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">0</property>
+-				      <property name="right_attach">1</property>
+-				      <property name="top_attach">0</property>
+-				      <property name="bottom_attach">1</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_suspend_label">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">Sus_pend After</property>
+-				      <property name="use_underline">True</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">1</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">10</property>
+-				      <property name="ypad">0</property>
+-				      <property name="mnemonic_widget">dpms_suspend_spinbutton</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_suspend_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_suspend_spinbutton" type="flows-to"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">0</property>
+-				      <property name="right_attach">1</property>
+-				      <property name="top_attach">1</property>
+-				      <property name="bottom_attach">2</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_off_label">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">_Off After</property>
+-				      <property name="use_underline">True</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">1</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">10</property>
+-				      <property name="ypad">0</property>
+-				      <property name="mnemonic_widget">dpms_off_spinbutton</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_off_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_off_spinbutton" type="flows-to"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">0</property>
+-				      <property name="right_attach">1</property>
+-				      <property name="top_attach">2</property>
+-				      <property name="bottom_attach">3</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_standby_mlabel">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">minutes</property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_standby_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_standby_spinbutton" type="flows-from"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">2</property>
+-				      <property name="right_attach">3</property>
+-				      <property name="top_attach">0</property>
+-				      <property name="bottom_attach">1</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_suspend_mlabel">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">minutes</property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_suspend_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_suspend_spinbutton" type="flows-from"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">2</property>
+-				      <property name="right_attach">3</property>
+-				      <property name="top_attach">1</property>
+-				      <property name="bottom_attach">2</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="dpms_off_mlabel">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">minutes</property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_off_spinbutton" type="label-for"/>
+-					<atkrelation target="dpms_off_spinbutton" type="flows-from"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">2</property>
+-				      <property name="right_attach">3</property>
+-				      <property name="top_attach">2</property>
+-				      <property name="bottom_attach">3</property>
+-				      <property name="x_options">fill</property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkSpinButton" id="dpms_off_spinbutton">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">How long until the monitor powers down.</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="climb_rate">15</property>
+-				      <property name="digits">0</property>
+-				      <property name="numeric">True</property>
+-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-				      <property name="snap_to_ticks">True</property>
+-				      <property name="wrap">False</property>
+-				      <property name="adjustment">0 0 1440 1 15 0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_button" type="controlled-by"/>
+-					<atkrelation target="dpms_off_label" type="labelled-by"/>
+-					<atkrelation target="dpms_off_mlabel" type="labelled-by"/>
+-					<atkrelation target="dpms_off_label" type="flows-from"/>
+-					<atkrelation target="dpms_off_mlabel" type="flows-to"/>
+-				      </accessibility>
+-				      <signal name="activate" handler="pref_changed_cb"/>
+-				      <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-				      <signal name="value_changed" handler="pref_changed_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">1</property>
+-				      <property name="right_attach">2</property>
+-				      <property name="top_attach">2</property>
+-				      <property name="bottom_attach">3</property>
+-				      <property name="x_options"></property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkSpinButton" id="dpms_suspend_spinbutton">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">How long until the monitor goes into power-saving mode.</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="climb_rate">15</property>
+-				      <property name="digits">0</property>
+-				      <property name="numeric">True</property>
+-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-				      <property name="snap_to_ticks">True</property>
+-				      <property name="wrap">False</property>
+-				      <property name="adjustment">0 0 1440 1 15 0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_button" type="controlled-by"/>
+-					<atkrelation target="dpms_suspend_label" type="labelled-by"/>
+-					<atkrelation target="dpms_suspend_mlabel" type="labelled-by"/>
+-					<atkrelation target="dpms_suspend_label" type="flows-from"/>
+-					<atkrelation target="dpms_suspend_mlabel" type="flows-to"/>
+-				      </accessibility>
+-				      <signal name="activate" handler="pref_changed_cb"/>
+-				      <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-				      <signal name="value_changed" handler="pref_changed_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">1</property>
+-				      <property name="right_attach">2</property>
+-				      <property name="top_attach">1</property>
+-				      <property name="bottom_attach">2</property>
+-				      <property name="x_options"></property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkSpinButton" id="dpms_standby_spinbutton">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">How long until the monitor goes completely black.</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="climb_rate">15</property>
+-				      <property name="digits">0</property>
+-				      <property name="numeric">True</property>
+-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-				      <property name="snap_to_ticks">True</property>
+-				      <property name="wrap">False</property>
+-				      <property name="adjustment">0 0 1440 1 15 0</property>
+-				      <accessibility>
+-					<atkrelation target="dpms_button" type="controlled-by"/>
+-					<atkrelation target="dpms_standby_label" type="labelled-by"/>
+-					<atkrelation target="dpms_standby_mlabel" type="labelled-by"/>
+-					<atkrelation target="dpms_standby_label" type="flows-from"/>
+-					<atkrelation target="dpms_standby_mlabel" type="flows-to"/>
+-				      </accessibility>
+-				      <signal name="activate" handler="pref_changed_cb"/>
+-				      <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-				      <signal name="value_changed" handler="pref_changed_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="left_attach">1</property>
+-				      <property name="right_attach">2</property>
+-				      <property name="top_attach">0</property>
+-				      <property name="bottom_attach">1</property>
+-				      <property name="x_options"></property>
+-				      <property name="y_options"></property>
+-				    </packing>
+-				  </child>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">True</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="dpms_quickoff_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the monitor should be powered off immediately in "Blank Screen Only" mode, regardless of the above power-management timeouts.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">_Quick Power-off in Blank Only Mode</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">True</property>
+-			      <property name="fill">True</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="label4">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">Display Power Management</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="dpms_frame" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="type">label_item</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">1</property>
+-		      <property name="right_attach">2</property>
+-		      <property name="top_attach">0</property>
+-		      <property name="bottom_attach">1</property>
+-		      <property name="y_options">fill</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkFrame" id="cmap_frame">
+-		      <property name="border_width">10</property>
+-		      <property name="visible">True</property>
+-		      <property name="label_xalign">0</property>
+-		      <property name="label_yalign">0.5</property>
+-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-		      <accessibility>
+-			<atkrelation target="label5" type="labelled-by"/>
+-		      </accessibility>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="cmap_hbox">
+-			  <property name="border_width">8</property>
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">8</property>
+-
+-			  <child>
+-			    <widget class="GtkImage" id="image5">
+-			      <property name="visible">True</property>
+-			      <property name="pixbuf">screensaver-colorselector.png</property>
+-			      <property name="xalign">0.5</property>
+-			      <property name="yalign">0</property>
+-			      <property name="xpad">0</property>
+-			      <property name="ypad">0</property>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkVBox" id="vbox7">
+-			      <property name="visible">True</property>
+-			      <property name="homogeneous">False</property>
+-			      <property name="spacing">0</property>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="fade_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the screen should slowly fade to black when the screen saver activates.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Fade to Black when _Blanking</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <accessibility>
+-				    <atkrelation target="fade_spinbutton" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="unfade_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether the screen should slowly fade in from black when the screen saver deactivates.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Fade from Black When _Unblanking</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <accessibility>
+-				    <atkrelation target="fade_spinbutton" type="controller-for"/>
+-				  </accessibility>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkHBox" id="fade_hbox">
+-				  <property name="visible">True</property>
+-				  <property name="homogeneous">False</property>
+-				  <property name="spacing">0</property>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="fade_dummy">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes"></property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0.5</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">3</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">0</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="fade_label">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">F_ade Duration</property>
+-				      <property name="use_underline">True</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				      <property name="mnemonic_widget">fade_spinbutton</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="fade_spinbutton" type="label-for"/>
+-					<atkrelation target="fade_spinbutton" type="flows-to"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">14</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkSpinButton" id="fade_spinbutton">
+-				      <property name="visible">True</property>
+-				      <property name="tooltip" translatable="yes">How long it should take for the screen to fade in and out.</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="climb_rate">1</property>
+-				      <property name="digits">0</property>
+-				      <property name="numeric">True</property>
+-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+-				      <property name="snap_to_ticks">True</property>
+-				      <property name="wrap">False</property>
+-				      <property name="adjustment">0 0 10 1 1 0</property>
+-				      <accessibility>
+-					<atkrelation target="unfade_button" type="controlled-by"/>
+-					<atkrelation target="fade_button" type="controlled-by"/>
+-					<atkrelation target="fade_label" type="labelled-by"/>
+-					<atkrelation target="fade_sec_label" type="labelled-by"/>
+-					<atkrelation target="fade_label" type="flows-from"/>
+-					<atkrelation target="fade_sec_label" type="flows-to"/>
+-				      </accessibility>
+-				      <signal name="activate" handler="pref_changed_cb"/>
+-				      <signal name="focus_out_event" handler="pref_changed_event_cb"/>
+-				      <signal name="value_changed" handler="pref_changed_cb"/>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">4</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkLabel" id="fade_sec_label">
+-				      <property name="visible">True</property>
+-				      <property name="label" translatable="yes">seconds</property>
+-				      <property name="use_underline">False</property>
+-				      <property name="use_markup">False</property>
+-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-				      <property name="wrap">False</property>
+-				      <property name="selectable">False</property>
+-				      <property name="xalign">0</property>
+-				      <property name="yalign">0.5</property>
+-				      <property name="xpad">0</property>
+-				      <property name="ypad">0</property>
+-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-				      <property name="width_chars">-1</property>
+-				      <property name="single_line_mode">False</property>
+-				      <property name="angle">0</property>
+-				      <accessibility>
+-					<atkrelation target="fade_spinbutton" type="label-for"/>
+-					<atkrelation target="fade_spinbutton" type="flows-from"/>
+-				      </accessibility>
+-				    </widget>
+-				    <packing>
+-				      <property name="padding">2</property>
+-				      <property name="expand">False</property>
+-				      <property name="fill">False</property>
+-				    </packing>
+-				  </child>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkHSeparator" id="cmap_hr">
+-				  <property name="visible">True</property>
+-				</widget>
+-				<packing>
+-				  <property name="padding">8</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-
+-			      <child>
+-				<widget class="GtkCheckButton" id="install_button">
+-				  <property name="visible">True</property>
+-				  <property name="tooltip" translatable="yes">Whether to install a private colormap when running in 8-bit mode on the default Visual.</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="label" translatable="yes">Install _Colormap</property>
+-				  <property name="use_underline">True</property>
+-				  <property name="relief">GTK_RELIEF_NORMAL</property>
+-				  <property name="focus_on_click">True</property>
+-				  <property name="active">False</property>
+-				  <property name="inconsistent">False</property>
+-				  <property name="draw_indicator">True</property>
+-				  <signal name="toggled" handler="pref_changed_cb"/>
+-				</widget>
+-				<packing>
+-				  <property name="padding">0</property>
+-				  <property name="expand">False</property>
+-				  <property name="fill">False</property>
+-				</packing>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">True</property>
+-			      <property name="fill">True</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="label5">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">Fading and Colormaps</property>
+-			  <property name="use_underline">False</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="cmap_frame" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="type">label_item</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="left_attach">1</property>
+-		      <property name="right_attach">2</property>
+-		      <property name="top_attach">1</property>
+-		      <property name="bottom_attach">2</property>
+-		      <property name="x_options">fill</property>
+-		      <property name="y_options">fill</property>
+-		    </packing>
+-		  </child>
+-		</widget>
+-		<packing>
+-		  <property name="tab_expand">False</property>
+-		  <property name="tab_fill">True</property>
+-		</packing>
+-	      </child>
+-
+-	      <child>
+-		<widget class="GtkLabel" id="options_tab">
+-		  <property name="visible">True</property>
+-		  <property name="label" translatable="yes">_Advanced</property>
+-		  <property name="use_underline">True</property>
+-		  <property name="use_markup">False</property>
+-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		  <property name="wrap">False</property>
+-		  <property name="selectable">False</property>
+-		  <property name="xalign">0.5</property>
+-		  <property name="yalign">0.5</property>
+-		  <property name="xpad">0</property>
+-		  <property name="ypad">0</property>
+-		  <property name="mnemonic_widget">notebook</property>
+-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		  <property name="width_chars">-1</property>
+-		  <property name="single_line_mode">False</property>
+-		  <property name="angle">0</property>
+-		</widget>
+-		<packing>
+-		  <property name="type">tab</property>
+-		</packing>
+-	      </child>
+-	    </widget>
+-	    <packing>
+-	      <property name="padding">0</property>
+-	      <property name="expand">True</property>
+-	      <property name="fill">True</property>
+-	    </packing>
+-	  </child>
+-	</widget>
+-	<packing>
+-	  <property name="padding">0</property>
+-	  <property name="expand">True</property>
+-	  <property name="fill">True</property>
+-	</packing>
+-      </child>
+-
+-      <child>
+-	<widget class="GtkHButtonBox" id="hbuttonbox2">
+-	  <property name="border_width">5</property>
+-	  <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
+-	  <property name="spacing">10</property>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="helpbutton">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label">gtk-help</property>
+-	      <property name="use_stock">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <signal name="clicked" handler="doc_menu_cb"/>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="closebutton">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label">gtk-close</property>
+-	      <property name="use_stock">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <signal name="clicked" handler="exit_menu_cb"/>
+-	    </widget>
+-	  </child>
+-	</widget>
+-	<packing>
+-	  <property name="padding">0</property>
+-	  <property name="expand">False</property>
+-	  <property name="fill">True</property>
+-	  <property name="pack_type">GTK_PACK_END</property>
+-	</packing>
+-      </child>
+-    </widget>
+-  </child>
+-</widget>
+-
+-<widget class="GtkDialog" id="xscreensaver_settings_dialog">
+-  <property name="title" translatable="yes">dialog1</property>
+-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+-  <property name="window_position">GTK_WIN_POS_NONE</property>
+-  <property name="modal">False</property>
+-  <property name="resizable">True</property>
+-  <property name="destroy_with_parent">False</property>
+-  <property name="decorated">True</property>
+-  <property name="skip_taskbar_hint">False</property>
+-  <property name="skip_pager_hint">False</property>
+-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+-  <property name="focus_on_map">True</property>
+-  <property name="urgency_hint">False</property>
+-  @COMMENT_DEMO_GLADE2_GTK_2_22_HEAD@<property name="has_separator">False</property>@COMMENT_DEMO_GLADE2_GTK_2_22_TAIL@
+-
+-  <child internal-child="vbox">
+-    <widget class="GtkVBox" id="dialog_vbox">
+-      <property name="visible">True</property>
+-      <property name="homogeneous">False</property>
+-      <property name="spacing">0</property>
+-
+-      <child internal-child="action_area">
+-	<widget class="GtkHButtonBox" id="dialog_action_area">
+-	  <property name="visible">True</property>
+-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="adv_button">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label" translatable="yes">_Advanced &gt;&gt;</property>
+-	      <property name="use_underline">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <property name="response_id">0</property>
+-	      <signal name="clicked" handler="settings_adv_cb"/>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="std_button">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label" translatable="yes">_Standard &lt;&lt;</property>
+-	      <property name="use_underline">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <property name="response_id">0</property>
+-	      <signal name="clicked" handler="settings_std_cb"/>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="reset_button">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label" translatable="yes">_Reset to Defaults</property>
+-	      <property name="use_underline">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <property name="response_id">0</property>
+-	      <signal name="clicked" handler="settings_reset_cb"/>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="cancel_button">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label">gtk-cancel</property>
+-	      <property name="use_stock">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <property name="response_id">-6</property>
+-	      <signal name="clicked" handler="settings_cancel_cb"/>
+-	    </widget>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkButton" id="ok_button">
+-	      <property name="visible">True</property>
+-	      <property name="can_default">True</property>
+-	      <property name="can_focus">True</property>
+-	      <property name="label">gtk-ok</property>
+-	      <property name="use_stock">True</property>
+-	      <property name="relief">GTK_RELIEF_NORMAL</property>
+-	      <property name="focus_on_click">True</property>
+-	      <property name="response_id">-5</property>
+-	      <signal name="clicked" handler="settings_ok_cb"/>
+-	    </widget>
+-	  </child>
+-	</widget>
+-	<packing>
+-	  <property name="padding">0</property>
+-	  <property name="expand">False</property>
+-	  <property name="fill">True</property>
+-	  <property name="pack_type">GTK_PACK_END</property>
+-	</packing>
+-      </child>
+-
+-      <child>
+-	<widget class="GtkVBox" id="vbox1">
+-	  <property name="visible">True</property>
+-	  <property name="homogeneous">False</property>
+-	  <property name="spacing">0</property>
+-
+-	  <child>
+-	    <widget class="GtkFrame" id="opt_frame">
+-	      <property name="visible">True</property>
+-	      <property name="label_xalign">0</property>
+-	      <property name="label_yalign">0</property>
+-	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+-	      <accessibility>
+-		<atkrelation target="label6" type="labelled-by"/>
+-	      </accessibility>
+-
+-	      <child>
+-		<widget class="GtkNotebook" id="opt_notebook">
+-		  <property name="border_width">12</property>
+-		  <property name="visible">True</property>
+-		  <property name="can_focus">True</property>
+-		  <property name="show_tabs">True</property>
+-		  <property name="show_border">False</property>
+-		  <property name="tab_pos">GTK_POS_BOTTOM</property>
+-		  <property name="scrollable">False</property>
+-		  <property name="enable_popup">False</property>
+-		  <signal name="switch_page" handler="settings_switch_page_cb"/>
+-
+-		  <child>
+-		    <widget class="GtkVBox" id="settings_vbox">
+-		      <property name="visible">True</property>
+-		      <property name="homogeneous">False</property>
+-		      <property name="spacing">0</property>
+-
+-		      <child>
+-			<placeholder/>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="tab_expand">True</property>
+-		      <property name="tab_fill">True</property>
+-		      <property name="tab_pack">GTK_PACK_END</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkLabel" id="std_label">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">Standard</property>
+-		      <property name="use_underline">False</property>
+-		      <property name="use_markup">False</property>
+-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		      <property name="wrap">False</property>
+-		      <property name="selectable">False</property>
+-		      <property name="xalign">0.5</property>
+-		      <property name="yalign">0.5</property>
+-		      <property name="xpad">0</property>
+-		      <property name="ypad">0</property>
+-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		      <property name="width_chars">-1</property>
+-		      <property name="single_line_mode">False</property>
+-		      <property name="angle">0</property>
+-		    </widget>
+-		    <packing>
+-		      <property name="type">tab</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkTable" id="adv_table">
+-		      <property name="visible">True</property>
+-		      <property name="n_rows">4</property>
+-		      <property name="n_columns">2</property>
+-		      <property name="homogeneous">False</property>
+-		      <property name="row_spacing">0</property>
+-		      <property name="column_spacing">0</property>
+-
+-		      <child>
+-			<widget class="GtkImage" id="cmd_logo">
+-			  <property name="visible">True</property>
+-			  <property name="pixbuf">screensaver-cmndln.png</property>
+-			  <property name="xalign">0.5</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">4</property>
+-			  <property name="ypad">8</property>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">0</property>
+-			  <property name="right_attach">1</property>
+-			  <property name="top_attach">0</property>
+-			  <property name="bottom_attach">1</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options">fill</property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkLabel" id="cmd_label">
+-			  <property name="visible">True</property>
+-			  <property name="label" translatable="yes">_Command Line:</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="use_markup">False</property>
+-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			  <property name="wrap">False</property>
+-			  <property name="selectable">False</property>
+-			  <property name="xalign">0</property>
+-			  <property name="yalign">0.5</property>
+-			  <property name="xpad">0</property>
+-			  <property name="ypad">0</property>
+-			  <property name="mnemonic_widget">cmd_text</property>
+-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			  <property name="width_chars">-1</property>
+-			  <property name="single_line_mode">False</property>
+-			  <property name="angle">0</property>
+-			  <accessibility>
+-			    <atkrelation target="cmd_text" type="label-for"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">1</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">1</property>
+-			  <property name="bottom_attach">2</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkEntry" id="cmd_text">
+-			  <property name="visible">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="editable">True</property>
+-			  <property name="visibility">True</property>
+-			  <property name="max_length">0</property>
+-			  <property name="text" translatable="yes"></property>
+-			  <property name="has_frame">True</property>
+-			  <property name="invisible_char">*</property>
+-			  <property name="activates_default">False</property>
+-			  <accessibility>
+-			    <atkrelation target="cmd_label" type="labelled-by"/>
+-			  </accessibility>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">1</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">2</property>
+-			  <property name="bottom_attach">3</property>
+-			  <property name="y_options"></property>
+-			</packing>
+-		      </child>
+-
+-		      <child>
+-			<widget class="GtkHBox" id="visual_hbox">
+-			  <property name="visible">True</property>
+-			  <property name="homogeneous">False</property>
+-			  <property name="spacing">0</property>
+-
+-			  <child>
+-			    <widget class="GtkLabel" id="visual">
+-			      <property name="visible">True</property>
+-			      <property name="label" translatable="yes">_Visual:</property>
+-			      <property name="use_underline">True</property>
+-			      <property name="use_markup">False</property>
+-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-			      <property name="wrap">False</property>
+-			      <property name="selectable">False</property>
+-			      <property name="xalign">1</property>
+-			      <property name="yalign">0.5</property>
+-			      <property name="xpad">3</property>
+-			      <property name="ypad">0</property>
+-			      <property name="mnemonic_widget">visual_entry</property>
+-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-			      <property name="width_chars">-1</property>
+-			      <property name="single_line_mode">False</property>
+-			      <property name="angle">0</property>
+-			      <accessibility>
+-				<atkrelation target="visual_combo" type="label-for"/>
+-			      </accessibility>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-
+-			  <child>
+-			    <widget class="GtkCombo" id="visual_combo">
+-			      <property name="visible">True</property>
+-			      <property name="value_in_list">False</property>
+-			      <property name="allow_empty">True</property>
+-			      <property name="case_sensitive">False</property>
+-			      <property name="enable_arrow_keys">True</property>
+-			      <property name="enable_arrows_always">False</property>
+-			      <accessibility>
+-				<atkrelation target="visual" type="labelled-by"/>
+-			      </accessibility>
+-
+-			      <child internal-child="entry">
+-				<widget class="GtkEntry" id="visual_entry">
+-				  <property name="visible">True</property>
+-				  <property name="can_focus">True</property>
+-				  <property name="editable">True</property>
+-				  <property name="visibility">True</property>
+-				  <property name="max_length">0</property>
+-				  <property name="text" translatable="yes"></property>
+-				  <property name="has_frame">True</property>
+-				  <property name="invisible_char">*</property>
+-				  <property name="activates_default">False</property>
+-				</widget>
+-			      </child>
+-
+-			      <child internal-child="list">
+-				<widget class="GtkList" id="combo-list1">
+-				  <property name="visible">True</property>
+-				  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem25">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Any</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem26">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Best</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem27">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Default</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem28">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Default-N</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem29">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">GL</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem30">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">TrueColor</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem31">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">PseudoColor</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem32">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">StaticGray</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem33">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">GrayScale</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem34">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">DirectColor</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem35">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Color</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem36">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Gray</property>
+-				    </widget>
+-				  </child>
+-
+-				  <child>
+-				    <widget class="GtkListItem" id="listitem37">
+-				      <property name="visible">True</property>
+-				      <property name="can_focus">True</property>
+-				      <property name="label" translatable="yes">Mono</property>
+-				    </widget>
+-				  </child>
+-				</widget>
+-			      </child>
+-			    </widget>
+-			    <packing>
+-			      <property name="padding">0</property>
+-			      <property name="expand">False</property>
+-			      <property name="fill">False</property>
+-			    </packing>
+-			  </child>
+-			</widget>
+-			<packing>
+-			  <property name="left_attach">1</property>
+-			  <property name="right_attach">2</property>
+-			  <property name="top_attach">3</property>
+-			  <property name="bottom_attach">4</property>
+-			  <property name="x_options">fill</property>
+-			  <property name="y_options">fill</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="tab_expand">False</property>
+-		      <property name="tab_fill">True</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkLabel" id="adv_label">
+-		      <property name="visible">True</property>
+-		      <property name="label" translatable="yes">Advanced</property>
+-		      <property name="use_underline">False</property>
+-		      <property name="use_markup">False</property>
+-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		      <property name="wrap">False</property>
+-		      <property name="selectable">False</property>
+-		      <property name="xalign">0.5</property>
+-		      <property name="yalign">0.5</property>
+-		      <property name="xpad">0</property>
+-		      <property name="ypad">0</property>
+-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		      <property name="width_chars">-1</property>
+-		      <property name="single_line_mode">False</property>
+-		      <property name="angle">0</property>
+-		    </widget>
+-		    <packing>
+-		      <property name="type">tab</property>
+-		    </packing>
+-		  </child>
+-		</widget>
+-	      </child>
+-
+-	      <child>
+-		<widget class="GtkLabel" id="label6">
+-		  <property name="visible">True</property>
+-		  <property name="label" translatable="yes">Settings</property>
+-		  <property name="use_underline">False</property>
+-		  <property name="use_markup">False</property>
+-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		  <property name="wrap">False</property>
+-		  <property name="selectable">False</property>
+-		  <property name="xalign">0.5</property>
+-		  <property name="yalign">0.5</property>
+-		  <property name="xpad">0</property>
+-		  <property name="ypad">0</property>
+-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		  <property name="width_chars">-1</property>
+-		  <property name="single_line_mode">False</property>
+-		  <property name="angle">0</property>
+-		  <accessibility>
+-		    <atkrelation target="opt_frame" type="label-for"/>
+-		  </accessibility>
+-		</widget>
+-		<packing>
+-		  <property name="type">label_item</property>
+-		</packing>
+-	      </child>
+-	    </widget>
+-	    <packing>
+-	      <property name="padding">0</property>
+-	      <property name="expand">True</property>
+-	      <property name="fill">True</property>
+-	    </packing>
+-	  </child>
+-
+-	  <child>
+-	    <widget class="GtkFrame" id="doc_frame">
+-	      <property name="visible">True</property>
+-	      <property name="label_xalign">0</property>
+-	      <property name="label_yalign">0</property>
+-	      <property name="shadow_type">GTK_SHADOW_NONE</property>
+-
+-	      <child>
+-		<widget class="GtkVBox" id="doc_vbox">
+-		  <property name="border_width">5</property>
+-		  <property name="visible">True</property>
+-		  <property name="homogeneous">False</property>
+-		  <property name="spacing">5</property>
+-
+-		  <child>
+-		    <widget class="GtkLabel" id="doc">
+-		      <property name="visible">True</property>
+-		      <property name="can_focus">True</property>
+-		      <property name="label" translatable="yes"></property>
+-		      <property name="use_underline">False</property>
+-		      <property name="use_markup">False</property>
+-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		      <property name="wrap">True</property>
+-		      <property name="selectable">True</property>
+-		      <property name="xalign">0</property>
+-		      <property name="yalign">0</property>
+-		      <property name="xpad">0</property>
+-		      <property name="ypad">0</property>
+-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		      <property name="width_chars">-1</property>
+-		      <property name="single_line_mode">False</property>
+-		      <property name="angle">0</property>
+-		    </widget>
+-		    <packing>
+-		      <property name="padding">0</property>
+-		      <property name="expand">True</property>
+-		      <property name="fill">True</property>
+-		    </packing>
+-		  </child>
+-
+-		  <child>
+-		    <widget class="GtkHBox" id="hbox1">
+-		      <property name="visible">True</property>
+-		      <property name="homogeneous">False</property>
+-		      <property name="spacing">0</property>
+-
+-		      <child>
+-			<widget class="GtkButton" id="manual">
+-			  <property name="visible">True</property>
+-			  <property name="can_focus">True</property>
+-			  <property name="label" translatable="yes">_Documentation...</property>
+-			  <property name="use_underline">True</property>
+-			  <property name="relief">GTK_RELIEF_NORMAL</property>
+-			  <property name="focus_on_click">True</property>
+-			  <signal name="clicked" handler="manual_cb"/>
+-			</widget>
+-			<packing>
+-			  <property name="padding">0</property>
+-			  <property name="expand">False</property>
+-			  <property name="fill">False</property>
+-			  <property name="pack_type">GTK_PACK_END</property>
+-			</packing>
+-		      </child>
+-		    </widget>
+-		    <packing>
+-		      <property name="padding">0</property>
+-		      <property name="expand">False</property>
+-		      <property name="fill">False</property>
+-		    </packing>
+-		  </child>
+-		</widget>
+-	      </child>
+-
+-	      <child>
+-		<widget class="GtkLabel" id="label7">
+-		  <property name="visible">True</property>
+-		  <property name="label" translatable="yes"></property>
+-		  <property name="use_underline">False</property>
+-		  <property name="use_markup">False</property>
+-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+-		  <property name="wrap">False</property>
+-		  <property name="selectable">False</property>
+-		  <property name="xalign">0.5</property>
+-		  <property name="yalign">0.5</property>
+-		  <property name="xpad">0</property>
+-		  <property name="ypad">0</property>
+-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+-		  <property name="width_chars">-1</property>
+-		  <property name="single_line_mode">False</property>
+-		  <property name="angle">0</property>
+-		</widget>
+-		<packing>
+-		  <property name="type">label_item</property>
+-		</packing>
+-	      </child>
+-	    </widget>
+-	    <packing>
+-	      <property name="padding">0</property>
+-	      <property name="expand">False</property>
+-	      <property name="fill">False</property>
+-	    </packing>
+-	  </child>
+-	</widget>
+-	<packing>
+-	  <property name="padding">0</property>
+-	  <property name="expand">True</property>
+-	  <property name="fill">True</property>
+-	</packing>
+-      </child>
+-    </widget>
+-  </child>
+-</widget>
+-
+-</glade-interface>
+diff --git a/driver/xscreensaver-demo.ui.in b/driver/xscreensaver-demo.ui.in
+new file mode 100644
+index 0000000..9c31a9b
+--- /dev/null
++++ b/driver/xscreensaver-demo.ui.in
+@@ -0,0 +1,2912 @@
++<?xml version="1.0"?>
++<!--*- mode: xml -*-->
++<interface>
++  <object class="GtkAdjustment" id="adjustment1">
++    <property name="upper">720</property>
++    <property name="lower">1</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">1</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment2">
++    <property name="upper">720</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment3">
++    <property name="upper">720</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment4">
++    <property name="upper">1440</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment5">
++    <property name="upper">1440</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment6">
++    <property name="upper">1440</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkAdjustment" id="adjustment7">
++    <property name="upper">10</property>
++    <property name="lower">0</property>
++    <property name="page_increment">1</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
++  <object class="GtkListStore" id="mode_menu_model">
++    <columns>
++      <column type="gchararray"/>
++    </columns>
++    <data>
++      <row>
++        <col id="0" translatable="yes">Disable Screen Saver</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Blank Screen Only</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Only One Screen Saver</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Random Screen Saver</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Same Random Savers</col>
++      </row>
++    </data>
++  </object>
++  <object class="GtkListStore" id="visual_combo_model">
++    <columns>
++      <column type="gchararray"/>
++    </columns>
++    <data>
++      <row>
++        <col id="0" translatable="yes">Any</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Best</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Default</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Default-N</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">GL</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">TrueColor</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">PseudoColor</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">StaticGray</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">GrayScale</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">DirectColor</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Color</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Gray</col>
++      </row>
++      <row>
++        <col id="0" translatable="yes">Mono</col>
++      </row>
++    </data>
++  </object>
++  <object class="GtkUIManager" id="uimanager1">
++    <child>
++      <object class="GtkActionGroup" id="actiongroup1">
++        <child>
++          <object class="GtkAction" id="file">
++            <property name="name">file</property>
++            <property name="label" translatable="yes">_File</property>
++            <signal handler="file_menu_cb" last_modification_time="Sun, 06 Mar 2005 21:41:13 GMT" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="activate_action">
++            <property name="name">activate_action</property>
++            <property name="label" translatable="yes">_Blank Screen Now</property>
++            <signal handler="activate_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="lock_action">
++            <property name="name">lock_action</property>
++            <property name="label" translatable="yes">_Lock Screen Now</property>
++            <signal handler="lock_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="kill_action">
++            <property name="name">kill_action</property>
++            <property name="label" translatable="yes">_Kill Daemon</property>
++            <signal handler="kill_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="restart_action">
++            <property name="name">restart_action</property>
++            <property name="label" translatable="yes">_Restart Daemon</property>
++            <signal handler="restart_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="exit_action">
++            <property name="name">exit_action</property>
++            <property name="label" translatable="yes">_Quit</property>
++            <signal handler="exit_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="help">
++            <property name="name">help</property>
++            <property name="label" translatable="yes">_Help</property>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="about_action">
++            <property name="name">about_action</property>
++            <property name="label" translatable="yes">_About...</property>
++            <signal handler="about_menu_cb" name="activate"/>
++          </object>
++        </child>
++        <child>
++          <object class="GtkAction" id="doc_action">
++            <property name="name">doc_action</property>
++            <property name="label" translatable="yes">_Documentation...</property>
++            <signal handler="doc_menu_cb" name="activate"/>
++          </object>
++        </child>
++      </object>
++    </child>
++    <ui>
++      <menubar name="menubar">
++        <menu action="file">
++          <menuitem name="activate_menu" action="activate_action"/>
++          <menuitem name="lock_menu" action="lock_action"/>
++          <menuitem name="kill_menu" action="kill_action"/>
++          <menuitem name="restart_menu" action="restart_action"/>
++          <separator/>
++          <menuitem name="exit_menu" action="exit_action"/>
++        </menu>
++        <menu action="help">
++          <menuitem name="about_menu" action="about_action"/>
++          <menuitem name="doc_menu" action="doc_action"/>
++        </menu>
++      </menubar>
++    </ui>
++  </object>
++  <object class="GtkWindow" id="xscreensaver_demo">
++    <property name="title" translatable="yes">XScreenSaver</property>
++    <property name="type">GTK_WINDOW_TOPLEVEL</property>
++    <property name="window_position">GTK_WIN_POS_NONE</property>
++    <property name="modal">False</property>
++    <property name="resizable">True</property>
++    <property name="destroy_with_parent">False</property>
++    <property name="decorated">True</property>
++    <property name="skip_taskbar_hint">False</property>
++    <property name="skip_pager_hint">False</property>
++    <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
++    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++    <property name="focus_on_map">True</property>
++    <property name="urgency_hint">False</property>
++    <child>
++      <object class="GtkVBox" id="outer_vbox">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">5</property>
++        <child>
++          <object class="GtkMenuBar" constructor="uimanager1" id="menubar">
++            <property name="visible">True</property>
++            <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
++            <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
++          </object>
++          <packing>
++            <property name="padding">0</property>
++            <property name="expand">False</property>
++            <property name="fill">False</property>
++          </packing>
++        </child>
++        <child>
++          <object class="GtkHBox" id="spacer_hbox">
++            <property name="border_width">8</property>
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++            <child>
++              <object class="GtkNotebook" id="notebook">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="show_tabs">True</property>
++                <property name="show_border">True</property>
++                <property name="tab_pos">GTK_POS_TOP</property>
++                <property name="scrollable">False</property>
++                <property name="enable_popup">False</property>
++                <signal handler="switch_page_cb" name="switch_page"/>
++                <child>
++                  <object class="GtkTable" id="demos_table">
++                    <property name="border_width">10</property>
++                    <property name="visible">True</property>
++                    <property name="n_rows">2</property>
++                    <property name="n_columns">2</property>
++                    <property name="homogeneous">False</property>
++                    <property name="row_spacing">0</property>
++                    <property name="column_spacing">0</property>
++                    <child>
++                      <object class="GtkTable" id="blanking_table">
++                        <property name="visible">True</property>
++                        <property name="n_rows">3</property>
++                        <property name="n_columns">4</property>
++                        <property name="homogeneous">False</property>
++                        <property name="row_spacing">2</property>
++                        <property name="column_spacing">0</property>
++                        <child>
++                          <object class="GtkLabel" id="cycle_label">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">_Cycle After</property>
++                            <property name="use_underline">True</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_RIGHT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">1</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <property name="mnemonic_widget">cycle_spinbutton</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="cycle_spinbutton" type="label-for"/>
++                              <relation target="cycle_spinbutton" type="flows-to"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">1</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">1</property>
++                            <property name="bottom_attach">2</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkEventBox" id="lock_button_eventbox">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">Whether a password should be required to un-blank the screen.</property>
++                            <property name="visible_window">True</property>
++                            <property name="above_child">False</property>
++                            <child>
++                              <object class="GtkCheckButton" id="lock_button">
++                                <property name="visible">True</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">_Lock Screen After  </property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                                <accessibility>
++                                  <relation target="lock_spinbutton" type="controller-for"/>
++                                  <relation target="lock_spinbutton" type="label-for"/>
++                                  <relation target="lock_spinbutton" type="flows-to"/>
++                                </accessibility>
++                                <signal handler="pref_changed_cb" name="toggled"/>
++                                <child internal-child="accessible">
++                                  <object class="AtkObject" id="a11y-lock_button1">
++                                    <property name="AtkObject::accessible_name" translatable="yes">Lock Screen</property>
++                                  </object>
++                                </child>
++                              </object>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="left_attach">0</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">2</property>
++                            <property name="bottom_attach">3</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkSpinButton" id="timeout_spinbutton">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">How long before the screen saver activates.</property>
++                            <property name="can_focus">True</property>
++                            <property name="climb_rate">15</property>
++                            <property name="digits">0</property>
++                            <property name="numeric">True</property>
++                            <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                            <property name="snap_to_ticks">True</property>
++                            <property name="wrap">False</property>
++                            <property name="adjustment">adjustment1</property>
++                            <accessibility>
++                              <relation target="timeout_label" type="labelled-by"/>
++                              <relation target="timeout_mlabel" type="labelled-by"/>
++                              <relation target="timeout_label" type="flows-from"/>
++                              <relation target="timeout_mlabel" type="flows-to"/>
++                            </accessibility>
++                            <signal handler="pref_changed_cb" name="activate"/>
++                            <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                            <signal handler="pref_changed_cb" name="value_changed"/>
++                          </object>
++                          <packing>
++                            <property name="left_attach">2</property>
++                            <property name="right_attach">3</property>
++                            <property name="top_attach">0</property>
++                            <property name="bottom_attach">1</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkSpinButton" id="lock_spinbutton">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">How long after the screen blanks until a password will be required.</property>
++                            <property name="can_focus">True</property>
++                            <property name="climb_rate">15</property>
++                            <property name="digits">0</property>
++                            <property name="numeric">True</property>
++                            <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                            <property name="snap_to_ticks">True</property>
++                            <property name="wrap">False</property>
++                            <property name="adjustment">adjustment2</property>
++                            <accessibility>
++                              <relation target="lock_button" type="controlled-by"/>
++                              <relation target="lock_button" type="labelled-by"/>
++                              <relation target="lock_mlabel" type="labelled-by"/>
++                              <relation target="lock_button" type="flows-from"/>
++                              <relation target="lock_mlabel" type="flows-to"/>
++                            </accessibility>
++                            <signal handler="pref_changed_cb" name="activate"/>
++                            <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                            <signal handler="pref_changed_cb" name="value_changed"/>
++                            <child internal-child="accessible">
++                              <object class="AtkObject" id="a11y-lock_spinbutton1">
++                                <property name="AtkObject::accessible_name" translatable="yes">Lock Screen After</property>
++                              </object>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="left_attach">2</property>
++                            <property name="right_attach">3</property>
++                            <property name="top_attach">2</property>
++                            <property name="bottom_attach">3</property>
++                            <property name="y_padding">10</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkSpinButton" id="cycle_spinbutton">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">How long each display mode should run before choosing a new one (in Random mode.)</property>
++                            <property name="can_focus">True</property>
++                            <property name="climb_rate">15</property>
++                            <property name="digits">0</property>
++                            <property name="numeric">True</property>
++                            <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                            <property name="snap_to_ticks">True</property>
++                            <property name="wrap">False</property>
++                            <property name="adjustment">adjustment3</property>
++                            <accessibility>
++                              <relation target="cycle_label" type="labelled-by"/>
++                              <relation target="cycle_mlabel" type="labelled-by"/>
++                              <relation target="cycle_label" type="flows-from"/>
++                              <relation target="cycle_mlabel" type="flows-to"/>
++                            </accessibility>
++                            <signal handler="pref_changed_cb" name="activate"/>
++                            <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                            <signal handler="pref_changed_cb" name="value_changed"/>
++                          </object>
++                          <packing>
++                            <property name="left_attach">2</property>
++                            <property name="right_attach">3</property>
++                            <property name="top_attach">1</property>
++                            <property name="bottom_attach">2</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="lock_mlabel">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">minutes</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="lock_spinbutton" type="label-for"/>
++                              <relation target="lock_spinbutton" type="flows-to"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">3</property>
++                            <property name="right_attach">4</property>
++                            <property name="top_attach">2</property>
++                            <property name="bottom_attach">3</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="cycle_mlabel">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">minutes</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="cycle_spinbutton" type="label-for"/>
++                              <relation target="cycle_spinbutton" type="flows-from"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">3</property>
++                            <property name="right_attach">4</property>
++                            <property name="top_attach">1</property>
++                            <property name="bottom_attach">2</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="timeout_label">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">_Blank After</property>
++                            <property name="use_underline">True</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_RIGHT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">1</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <property name="mnemonic_widget">timeout_spinbutton</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="timeout_spinbutton" type="label-for"/>
++                              <relation target="timeout_spinbutton" type="flows-to"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">1</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">0</property>
++                            <property name="bottom_attach">1</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="timeout_mlabel">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">minutes</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="timeout_spinbutton" type="label-for"/>
++                              <relation target="timeout_spinbutton" type="flows-from"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">3</property>
++                            <property name="right_attach">4</property>
++                            <property name="top_attach">0</property>
++                            <property name="bottom_attach">1</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkHButtonBox" id="demo_manual_hbbox">
++                        <property name="visible">True</property>
++                        <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
++                        <property name="spacing">30</property>
++                        <child>
++                          <object class="GtkButton" id="demo">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">Demo the selected screen saver in full-screen mode (click the mouse to return.)</property>
++                            <property name="can_default">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="label" translatable="yes">_Preview</property>
++                            <property name="use_underline">True</property>
++                            <property name="relief">GTK_RELIEF_NORMAL</property>
++                            <property name="focus_on_click">True</property>
++                            <signal handler="run_this_cb" name="clicked"/>
++                          </object>
++                        </child>
++                        <child>
++                          <object class="GtkButton" id="settings">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">Customization and explanation of the selected screen saver.</property>
++                            <property name="can_default">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="label" translatable="yes">_Settings...</property>
++                            <property name="use_underline">True</property>
++                            <property name="relief">GTK_RELIEF_NORMAL</property>
++                            <property name="focus_on_click">True</property>
++                            <signal handler="settings_cb" name="clicked"/>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkVBox" id="list_vbox">
++                        <property name="border_width">10</property>
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">0</property>
++                        <child>
++                          <object class="GtkHBox" id="mode_hbox">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">0</property>
++                            <child>
++                              <object class="GtkLabel" id="mode_label">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">_Mode:</property>
++                                <property name="use_underline">True</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="mnemonic_widget">mode_menu</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                                <accessibility>
++                                  <relation target="mode_menu" type="label-for"/>
++                                </accessibility>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkComboBox" id="mode_menu">
++                                <property name="visible">True</property>
++                                <property name="can_focus">True</property>
++                                <property name="has_entry">False</property>
++                                <property name="model">mode_menu_model</property>
++                                <accessibility>
++                                  <relation target="mode_label" type="labelled-by"/>
++                                </accessibility>
++                                <child>
++                                  <object class="GtkCellRendererText" id="renderer1"/>
++                                  <attributes>
++                                    <attribute name="text">0</attribute>
++                                  </attributes>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">4</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="padding">10</property>
++                            <property name="expand">False</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkScrolledWindow" id="scroller">
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
++                            <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                            <property name="shadow_type">GTK_SHADOW_IN</property>
++                            <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++                            <child>
++                              <object class="GtkTreeView" id="list">
++                                <property name="visible">True</property>
++                                <property name="can_focus">True</property>
++                                <property name="headers_visible">False</property>
++                                <property name="rules_hint">True</property>
++                                <property name="reorderable">False</property>
++                                <property name="enable_search">True</property>
++                                <property name="fixed_height_mode">False</property>
++                                <property name="hover_selection">False</property>
++                                <property name="hover_expand">False</property>
++                              </object>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkHBox" id="centering_hbox">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">True</property>
++                            <property name="spacing">0</property>
++                            <child>
++                              <object class="GtkHBox" id="next_prev_hbox">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++                                <child>
++                                  <object class="GtkButton" id="next">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Run the next screen saver in the list in full-screen mode (click the mouse to return.)</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <signal handler="run_next_cb" name="clicked"/>
++                                    <child>
++                                      <object class="GtkArrow" id="arrow1">
++                                        <property name="visible">True</property>
++                                        <property name="arrow_type">GTK_ARROW_DOWN</property>
++                                        <property name="shadow_type">GTK_SHADOW_OUT</property>
++                                        <property name="xalign">0.5</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                      </object>
++                                    </child>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkButton" id="prev">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Run the previous screen saver in the list in full-screen mode (click the mouse to return.)</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <signal handler="run_prev_cb" name="clicked"/>
++                                    <child>
++                                      <object class="GtkArrow" id="arrow2">
++                                        <property name="visible">True</property>
++                                        <property name="arrow_type">GTK_ARROW_UP</property>
++                                        <property name="shadow_type">GTK_SHADOW_OUT</property>
++                                        <property name="xalign">0.5</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                      </object>
++                                    </child>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">False</property>
++                            <property name="fill">True</property>
++                            <property name="pack_type">GTK_PACK_END</property>
++                          </packing>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                        <property name="x_options">fill</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkFrame" id="preview_frame">
++                        <property name="visible">True</property>
++                        <property name="label_xalign">0</property>
++                        <property name="label_yalign">0.5</property>
++                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                        <accessibility>
++                          <relation target="label1" type="labelled-by"/>
++                        </accessibility>
++                        <child>
++                          <object class="GtkNotebook" id="preview_notebook">
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="show_tabs">True</property>
++                            <property name="show_border">False</property>
++                            <property name="tab_pos">GTK_POS_BOTTOM</property>
++                            <property name="scrollable">False</property>
++                            <property name="enable_popup">False</property>
++                            <child>
++                              <object class="GtkAspectFrame" id="preview_aspectframe">
++                                <property name="border_width">8</property>
++                                <property name="visible">True</property>
++                                <property name="label_xalign">0</property>
++                                <property name="label_yalign">0.5</property>
++                                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="ratio">1.33000004292</property>
++                                <property name="obey_child">False</property>
++                                <child>
++                                  <object class="GtkDrawingArea" id="preview">
++                                    <property name="visible">True</property>
++                                  </object>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="tab_expand">False</property>
++                                <property name="tab_fill">True</property>
++                              </packing>
++                            </child>
++                            <child type="tab">
++                              <object class="GtkLabel" id="preview_tab">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">preview</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                            </child>
++                            <child>
++                              <object class="GtkLabel" id="no_preview_label">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">No Preview
++Available</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_CENTER</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                              <packing>
++                                <property name="tab_expand">False</property>
++                                <property name="tab_fill">True</property>
++                              </packing>
++                            </child>
++                            <child type="tab">
++                              <object class="GtkLabel" id="no_preview_tab">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">no preview</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                            </child>
++                            <child>
++                              <object class="GtkLabel" id="not_installed_label">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">Not
++Installed</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_CENTER</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                              <packing>
++                                <property name="tab_expand">False</property>
++                                <property name="tab_fill">True</property>
++                              </packing>
++                            </child>
++                            <child type="tab">
++                              <object class="GtkLabel" id="not_installed_tab">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">not installed</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                            </child>
++                            <child>
++                              <object class="GtkLabel" id="nothing_label">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">Very few (or no) screen savers appear to be available.
++
++This probably means that the "xscreensaver-extras" and
++"xscreensaver-gl-extras" packages are not installed.</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_CENTER</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                              <packing>
++                                <property name="tab_expand">False</property>
++                                <property name="tab_fill">True</property>
++                              </packing>
++                            </child>
++                            <child type="tab">
++                              <object class="GtkLabel" id="nothing_tab">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">nothing</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </object>
++                            </child>
++                          </object>
++                        </child>
++                        <child type="label">
++                          <object class="GtkLabel" id="label1">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Description</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="preview_frame" type="label-for"/>
++                            </accessibility>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                        <property name="y_padding">6</property>
++                        <property name="x_options">expand|shrink|fill</property>
++                        <property name="y_options">expand|shrink|fill</property>
++                      </packing>
++                    </child>
++                  </object>
++                  <packing>
++                    <property name="tab_expand">False</property>
++                    <property name="tab_fill">True</property>
++                  </packing>
++                </child>
++                <child type="tab">
++                  <object class="GtkLabel" id="demo_tab">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">_Display Modes</property>
++                    <property name="use_underline">True</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_CENTER</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0.5</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="mnemonic_widget">notebook</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </object>
++                </child>
++                <child>
++                  <object class="GtkTable" id="options_table">
++                    <property name="visible">True</property>
++                    <property name="n_rows">2</property>
++                    <property name="n_columns">2</property>
++                    <property name="homogeneous">True</property>
++                    <property name="row_spacing">0</property>
++                    <property name="column_spacing">0</property>
++                    <child>
++                      <object class="GtkFrame" id="grab_frame">
++                        <property name="border_width">10</property>
++                        <property name="visible">True</property>
++                        <property name="label_xalign">0</property>
++                        <property name="label_yalign">0.5</property>
++                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                        <accessibility>
++                          <relation target="label2" type="labelled-by"/>
++                        </accessibility>
++                        <child>
++                          <object class="GtkHBox" id="grab_hbox">
++                            <property name="border_width">8</property>
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">8</property>
++                            <child>
++                              <object class="GtkImage" id="image2">
++                                <property name="visible">True</property>
++                                <property name="pixbuf">screensaver-snap.png</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0</property>
++                                <property name="xpad">4</property>
++                                <property name="ypad">8</property>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkVBox" id="grab_vbox">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++                                <child>
++                                  <object class="GtkCheckButton" id="grab_desk_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the image-manipulating modes should be allowed to operate on an image of your desktop.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Grab Desktop _Images</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkCheckButton" id="grab_video_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the image-manipulating modes should operate on images captured from the system's video input (if there is one.)</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Grab _Video Frames</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkCheckButton" id="grab_image_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the image-manipulating modes should load image files.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Choose _Random Image:</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <accessibility>
++                                      <relation target="image_text" type="controller-for"/>
++                                      <relation target="image_browse_button" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkHBox" id="image_hbox">
++                                    <property name="visible">True</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="spacing">0</property>
++                                    <child>
++                                      <object class="GtkLabel" id="grab_dummy">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes"/>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0.5</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">8</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkEntry" id="image_text">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip-text" translatable="yes">The local directory, RSS feed or Atom feed from which images will be randomly chosen.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="editable">True</property>
++                                        <property name="visibility">True</property>
++                                        <property name="max_length">0</property>
++                                        <property name="text" translatable="yes"/>
++                                        <property name="has_frame">True</property>
++                                        <property name="invisible_char">*</property>
++                                        <property name="activates_default">False</property>
++                                        <accessibility>
++                                          <relation target="grab_image_button" type="labelled-by"/>
++                                          <relation target="grab_image_button" type="controlled-by"/>
++                                        </accessibility>
++                                        <signal handler="pref_changed_cb" name="activate"/>
++                                        <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">2</property>
++                                        <property name="expand">True</property>
++                                        <property name="fill">True</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkButton" id="image_browse_button">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">_Browse</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <signal handler="browse_image_dir_cb" name="clicked"/>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkLabel" id="label8">
++                                    <property name="visible">True</property>
++                                    <property name="label" translatable="yes">Local directory, or RSS feed URL.</property>
++                                    <property name="use_underline">False</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">20</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </object>
++                        </child>
++                        <child type="label">
++                          <object class="GtkLabel" id="label2">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Image Manipulation</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="grab_frame" type="label-for"/>
++                            </accessibility>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkFrame" id="diag_frame">
++                        <property name="border_width">10</property>
++                        <property name="visible">True</property>
++                        <property name="label_xalign">0</property>
++                        <property name="label_yalign">0.5</property>
++                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                        <accessibility>
++                          <relation target="label3" type="labelled-by"/>
++                        </accessibility>
++                        <child>
++                          <object class="GtkHBox" id="diag_hbox">
++                            <property name="border_width">8</property>
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">8</property>
++                            <child>
++                              <object class="GtkImage" id="diag_logo">
++                                <property name="visible">True</property>
++                                <property name="pixbuf">screensaver-diagnostic.png</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkTable" id="text_table">
++                                <property name="visible">True</property>
++                                <property name="n_rows">5</property>
++                                <property name="n_columns">3</property>
++                                <property name="homogeneous">False</property>
++                                <property name="row_spacing">2</property>
++                                <property name="column_spacing">2</property>
++                                <child>
++                                  <object class="GtkRadioButton" id="text_radio">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the text typed here.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Text</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <accessibility>
++                                      <relation target="text_entry" type="controller-for"/>
++                                      <relation target="text_entry" type="label-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:44 GMT" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">0</property>
++                                    <property name="right_attach">1</property>
++                                    <property name="top_attach">1</property>
++                                    <property name="bottom_attach">2</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkRadioButton" id="text_file_radio">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the contents of this file.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Text _file</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <property name="group">text_radio</property>
++                                    <accessibility>
++                                      <relation target="text_file_entry" type="label-for"/>
++                                      <relation target="text_file_entry" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:55 GMT" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">0</property>
++                                    <property name="right_attach">1</property>
++                                    <property name="top_attach">2</property>
++                                    <property name="bottom_attach">3</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkRadioButton" id="text_program_radio">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the output of this program.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Program</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <property name="group">text_radio</property>
++                                    <accessibility>
++                                      <relation target="text_program_entry" type="label-for"/>
++                                      <relation target="text_program_entry" type="controller-for"/>
++                                      <relation target="text_program_browse" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:07 GMT" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">0</property>
++                                    <property name="right_attach">1</property>
++                                    <property name="top_attach">3</property>
++                                    <property name="bottom_attach">4</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkRadioButton" id="text_url_radio">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the contents of this URL (HTML or RSS).</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_URL</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <property name="group">text_radio</property>
++                                    <accessibility>
++                                      <relation target="text_url_entry" type="label-for"/>
++                                      <relation target="text_url_entry" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:17 GMT" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">0</property>
++                                    <property name="right_attach">1</property>
++                                    <property name="top_attach">4</property>
++                                    <property name="bottom_attach">5</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkRadioButton" id="text_host_radio">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the local host name, date, and time.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Host Name and Time</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">True</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <property name="group">text_radio</property>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:31:32 GMT" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">0</property>
++                                    <property name="right_attach">3</property>
++                                    <property name="top_attach">0</property>
++                                    <property name="bottom_attach">1</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkEntry" id="text_url_entry">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the contents of this URL (HTML or RSS).</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="editable">True</property>
++                                    <property name="visibility">True</property>
++                                    <property name="max_length">0</property>
++                                    <property name="text" translatable="yes"/>
++                                    <property name="has_frame">True</property>
++                                    <property name="invisible_char">*</property>
++                                    <property name="activates_default">False</property>
++                                    <accessibility>
++                                      <relation target="text_url_radio" type="controlled-by"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:33:10 GMT" name="activate"/>
++                                    <signal handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:34:26 GMT" name="focus_out_event"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">1</property>
++                                    <property name="right_attach">3</property>
++                                    <property name="top_attach">4</property>
++                                    <property name="bottom_attach">5</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkButton" id="text_file_browse">
++                                    <property name="visible">True</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Browse</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <accessibility>
++                                      <relation target="text_file_radio" type="controlled-by"/>
++                                    </accessibility>
++                                    <signal handler="browse_text_file_cb" last_modification_time="Sun, 20 Mar 2005 01:24:38 GMT" name="clicked"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">2</property>
++                                    <property name="right_attach">3</property>
++                                    <property name="top_attach">2</property>
++                                    <property name="bottom_attach">3</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkEntry" id="text_entry">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the text typed here.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="editable">True</property>
++                                    <property name="visibility">True</property>
++                                    <property name="max_length">0</property>
++                                    <property name="text" translatable="yes"/>
++                                    <property name="has_frame">True</property>
++                                    <property name="invisible_char">*</property>
++                                    <property name="activates_default">False</property>
++                                    <accessibility>
++                                      <relation target="text_program_radio" type="labelled-by"/>
++                                      <relation target="text_program_radio" type="controlled-by"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:42 GMT" name="activate"/>
++                                    <signal handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:33:43 GMT" name="focus_out_event"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">1</property>
++                                    <property name="right_attach">3</property>
++                                    <property name="top_attach">1</property>
++                                    <property name="bottom_attach">2</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkEntry" id="text_program_entry">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the output of this program.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="editable">True</property>
++                                    <property name="visibility">True</property>
++                                    <property name="max_length">0</property>
++                                    <property name="text" translatable="yes"/>
++                                    <property name="has_frame">True</property>
++                                    <property name="invisible_char">*</property>
++                                    <property name="activates_default">False</property>
++                                    <accessibility>
++                                      <relation target="text_program_radio" type="labelled-by"/>
++                                      <relation target="text_program_radio" type="controlled-by"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:33:02 GMT" name="activate"/>
++                                    <signal handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:34:15 GMT" name="focus_out_event"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">1</property>
++                                    <property name="right_attach">2</property>
++                                    <property name="top_attach">3</property>
++                                    <property name="bottom_attach">4</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkButton" id="text_program_browse">
++                                    <property name="visible">True</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Browse</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <accessibility>
++                                      <relation target="text_program_radio" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="browse_text_program_cb" last_modification_time="Sun, 20 Mar 2005 01:24:51 GMT" name="clicked"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">2</property>
++                                    <property name="right_attach">3</property>
++                                    <property name="top_attach">3</property>
++                                    <property name="bottom_attach">4</property>
++                                    <property name="x_options">fill</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkEntry" id="text_file_entry">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Text-displaying modes will display the contents of this file.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="editable">True</property>
++                                    <property name="visibility">True</property>
++                                    <property name="max_length">0</property>
++                                    <property name="text" translatable="yes"/>
++                                    <property name="has_frame">True</property>
++                                    <property name="invisible_char">*</property>
++                                    <property name="activates_default">False</property>
++                                    <accessibility>
++                                      <relation target="text_file_radio" type="labelled-by"/>
++                                      <relation target="text_file_radio" type="controlled-by"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" last_modification_time="Sun, 20 Mar 2005 21:32:53 GMT" name="activate"/>
++                                    <signal handler="pref_changed_event_cb" last_modification_time="Sun, 20 Mar 2005 21:33:55 GMT" name="focus_out_event"/>
++                                  </object>
++                                  <packing>
++                                    <property name="left_attach">1</property>
++                                    <property name="right_attach">2</property>
++                                    <property name="top_attach">2</property>
++                                    <property name="bottom_attach">3</property>
++                                    <property name="y_options"/>
++                                  </packing>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </object>
++                        </child>
++                        <child type="label">
++                          <object class="GtkLabel" id="label3">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Text Manipulation</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="diag_frame" type="label-for"/>
++                            </accessibility>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkFrame" id="dpms_frame">
++                        <property name="border_width">10</property>
++                        <property name="visible">True</property>
++                        <property name="label_xalign">0</property>
++                        <property name="label_yalign">0.5</property>
++                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                        <child>
++                          <object class="GtkHBox" id="dpms_hbox">
++                            <property name="border_width">8</property>
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">8</property>
++                            <child>
++                              <object class="GtkImage" id="dpms_logo">
++                                <property name="visible">True</property>
++                                <property name="pixbuf">screensaver-power.png</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkVBox" id="vbox6">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++                                <child>
++                                  <object class="GtkCheckButton" id="dpms_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the monitor should be powered down after a while.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Power Management Enabled</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">True</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <accessibility>
++                                      <relation target="dpms_suspend_spinbutton" type="controller-for"/>
++                                      <relation target="dpms_standby_spinbutton" type="controller-for"/>
++                                      <relation target="dpms_off_spinbutton" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkTable" id="dpms_table">
++                                    <property name="visible">True</property>
++                                    <property name="n_rows">3</property>
++                                    <property name="n_columns">3</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="row_spacing">2</property>
++                                    <property name="column_spacing">4</property>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_standby_label">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">Stand_by After</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">1</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">10</property>
++                                        <property name="ypad">0</property>
++                                        <property name="mnemonic_widget">dpms_standby_spinbutton</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_standby_spinbutton" type="label-for"/>
++                                          <relation target="dpms_standby_spinbutton" type="flows-to"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">0</property>
++                                        <property name="right_attach">1</property>
++                                        <property name="top_attach">0</property>
++                                        <property name="bottom_attach">1</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_suspend_label">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">Sus_pend After</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">1</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">10</property>
++                                        <property name="ypad">0</property>
++                                        <property name="mnemonic_widget">dpms_suspend_spinbutton</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_suspend_spinbutton" type="label-for"/>
++                                          <relation target="dpms_suspend_spinbutton" type="flows-to"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">0</property>
++                                        <property name="right_attach">1</property>
++                                        <property name="top_attach">1</property>
++                                        <property name="bottom_attach">2</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_off_label">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">_Off After</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">1</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">10</property>
++                                        <property name="ypad">0</property>
++                                        <property name="mnemonic_widget">dpms_off_spinbutton</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_off_spinbutton" type="label-for"/>
++                                          <relation target="dpms_off_spinbutton" type="flows-to"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">0</property>
++                                        <property name="right_attach">1</property>
++                                        <property name="top_attach">2</property>
++                                        <property name="bottom_attach">3</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_standby_mlabel">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">minutes</property>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_standby_spinbutton" type="label-for"/>
++                                          <relation target="dpms_standby_spinbutton" type="flows-from"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">2</property>
++                                        <property name="right_attach">3</property>
++                                        <property name="top_attach">0</property>
++                                        <property name="bottom_attach">1</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_suspend_mlabel">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">minutes</property>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_suspend_spinbutton" type="label-for"/>
++                                          <relation target="dpms_suspend_spinbutton" type="flows-from"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">2</property>
++                                        <property name="right_attach">3</property>
++                                        <property name="top_attach">1</property>
++                                        <property name="bottom_attach">2</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="dpms_off_mlabel">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">minutes</property>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="dpms_off_spinbutton" type="label-for"/>
++                                          <relation target="dpms_off_spinbutton" type="flows-from"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">2</property>
++                                        <property name="right_attach">3</property>
++                                        <property name="top_attach">2</property>
++                                        <property name="bottom_attach">3</property>
++                                        <property name="x_options">fill</property>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkSpinButton" id="dpms_off_spinbutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip-text" translatable="yes">How long until the monitor powers down.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="climb_rate">15</property>
++                                        <property name="digits">0</property>
++                                        <property name="numeric">True</property>
++                                        <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                                        <property name="snap_to_ticks">True</property>
++                                        <property name="wrap">False</property>
++                                        <property name="adjustment">adjustment4</property>
++                                        <accessibility>
++                                          <relation target="dpms_button" type="controlled-by"/>
++                                          <relation target="dpms_off_label" type="labelled-by"/>
++                                          <relation target="dpms_off_mlabel" type="labelled-by"/>
++                                          <relation target="dpms_off_label" type="flows-from"/>
++                                          <relation target="dpms_off_mlabel" type="flows-to"/>
++                                        </accessibility>
++                                        <signal handler="pref_changed_cb" name="activate"/>
++                                        <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                                        <signal handler="pref_changed_cb" name="value_changed"/>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="right_attach">2</property>
++                                        <property name="top_attach">2</property>
++                                        <property name="bottom_attach">3</property>
++                                        <property name="x_options"/>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkSpinButton" id="dpms_suspend_spinbutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip-text" translatable="yes">How long until the monitor goes into power-saving mode.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="climb_rate">15</property>
++                                        <property name="digits">0</property>
++                                        <property name="numeric">True</property>
++                                        <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                                        <property name="snap_to_ticks">True</property>
++                                        <property name="wrap">False</property>
++                                        <property name="adjustment">adjustment5</property>
++                                        <accessibility>
++                                          <relation target="dpms_button" type="controlled-by"/>
++                                          <relation target="dpms_suspend_label" type="labelled-by"/>
++                                          <relation target="dpms_suspend_mlabel" type="labelled-by"/>
++                                          <relation target="dpms_suspend_label" type="flows-from"/>
++                                          <relation target="dpms_suspend_mlabel" type="flows-to"/>
++                                        </accessibility>
++                                        <signal handler="pref_changed_cb" name="activate"/>
++                                        <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                                        <signal handler="pref_changed_cb" name="value_changed"/>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="right_attach">2</property>
++                                        <property name="top_attach">1</property>
++                                        <property name="bottom_attach">2</property>
++                                        <property name="x_options"/>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkSpinButton" id="dpms_standby_spinbutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip-text" translatable="yes">How long until the monitor goes completely black.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="climb_rate">15</property>
++                                        <property name="digits">0</property>
++                                        <property name="numeric">True</property>
++                                        <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                                        <property name="snap_to_ticks">True</property>
++                                        <property name="wrap">False</property>
++                                        <property name="adjustment">adjustment6</property>
++                                        <accessibility>
++                                          <relation target="dpms_button" type="controlled-by"/>
++                                          <relation target="dpms_standby_label" type="labelled-by"/>
++                                          <relation target="dpms_standby_mlabel" type="labelled-by"/>
++                                          <relation target="dpms_standby_label" type="flows-from"/>
++                                          <relation target="dpms_standby_mlabel" type="flows-to"/>
++                                        </accessibility>
++                                        <signal handler="pref_changed_cb" name="activate"/>
++                                        <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                                        <signal handler="pref_changed_cb" name="value_changed"/>
++                                      </object>
++                                      <packing>
++                                        <property name="left_attach">1</property>
++                                        <property name="right_attach">2</property>
++                                        <property name="top_attach">0</property>
++                                        <property name="bottom_attach">1</property>
++                                        <property name="x_options"/>
++                                        <property name="y_options"/>
++                                      </packing>
++                                    </child>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">True</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkCheckButton" id="dpms_quickoff_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the monitor should be powered off immediately in "Blank Screen Only" mode, regardless of the above power-management timeouts.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">_Quick Power-off in Blank Only Mode</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </object>
++                        </child>
++                        <child type="label">
++                          <object class="GtkLabel" id="label4">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Display Power Management</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="dpms_frame" type="label-for"/>
++                            </accessibility>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkFrame" id="cmap_frame">
++                        <property name="border_width">10</property>
++                        <property name="visible">True</property>
++                        <property name="label_xalign">0</property>
++                        <property name="label_yalign">0.5</property>
++                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                        <accessibility>
++                          <relation target="label5" type="labelled-by"/>
++                        </accessibility>
++                        <child>
++                          <object class="GtkHBox" id="cmap_hbox">
++                            <property name="border_width">8</property>
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">8</property>
++                            <child>
++                              <object class="GtkImage" id="image5">
++                                <property name="visible">True</property>
++                                <property name="pixbuf">screensaver-colorselector.png</property>
++                                <property name="xalign">0.5</property>
++                                <property name="yalign">0</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkVBox" id="vbox7">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++                                <child>
++                                  <object class="GtkCheckButton" id="fade_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the screen should slowly fade to black when the screen saver activates.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Fade to Black when _Blanking</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <accessibility>
++                                      <relation target="fade_spinbutton" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkCheckButton" id="unfade_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether the screen should slowly fade in from black when the screen saver deactivates.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Fade from Black When _Unblanking</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <accessibility>
++                                      <relation target="fade_spinbutton" type="controller-for"/>
++                                    </accessibility>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkHBox" id="fade_hbox">
++                                    <property name="visible">True</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="spacing">0</property>
++                                    <child>
++                                      <object class="GtkLabel" id="fade_dummy">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes"/>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0.5</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">3</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="fade_label">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">F_ade Duration</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                        <property name="mnemonic_widget">fade_spinbutton</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="fade_spinbutton" type="label-for"/>
++                                          <relation target="fade_spinbutton" type="flows-to"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">14</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkSpinButton" id="fade_spinbutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip-text" translatable="yes">How long it should take for the screen to fade in and out.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="climb_rate">1</property>
++                                        <property name="digits">0</property>
++                                        <property name="numeric">True</property>
++                                        <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                                        <property name="snap_to_ticks">True</property>
++                                        <property name="wrap">False</property>
++                                        <property name="adjustment">adjustment7</property>
++                                        <accessibility>
++                                          <relation target="unfade_button" type="controlled-by"/>
++                                          <relation target="fade_button" type="controlled-by"/>
++                                          <relation target="fade_label" type="labelled-by"/>
++                                          <relation target="fade_sec_label" type="labelled-by"/>
++                                          <relation target="fade_label" type="flows-from"/>
++                                          <relation target="fade_sec_label" type="flows-to"/>
++                                        </accessibility>
++                                        <signal handler="pref_changed_cb" name="activate"/>
++                                        <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                                        <signal handler="pref_changed_cb" name="value_changed"/>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">4</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkLabel" id="fade_sec_label">
++                                        <property name="visible">True</property>
++                                        <property name="label" translatable="yes">seconds</property>
++                                        <property name="use_underline">False</property>
++                                        <property name="use_markup">False</property>
++                                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                        <property name="wrap">False</property>
++                                        <property name="selectable">False</property>
++                                        <property name="xalign">0</property>
++                                        <property name="yalign">0.5</property>
++                                        <property name="xpad">0</property>
++                                        <property name="ypad">0</property>
++                                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                        <property name="width_chars">-1</property>
++                                        <property name="single_line_mode">False</property>
++                                        <property name="angle">0</property>
++                                        <accessibility>
++                                          <relation target="fade_spinbutton" type="label-for"/>
++                                          <relation target="fade_spinbutton" type="flows-from"/>
++                                        </accessibility>
++                                      </object>
++                                      <packing>
++                                        <property name="padding">2</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkHSeparator" id="cmap_hr">
++                                    <property name="visible">True</property>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">8</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                                <child>
++                                  <object class="GtkCheckButton" id="install_button">
++                                    <property name="visible">True</property>
++                                    <property name="tooltip-text" translatable="yes">Whether to install a private colormap when running in 8-bit mode on the default Visual.</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="label" translatable="yes">Install _Colormap</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                                    <property name="focus_on_click">True</property>
++                                    <property name="active">False</property>
++                                    <property name="inconsistent">False</property>
++                                    <property name="draw_indicator">True</property>
++                                    <signal handler="pref_changed_cb" name="toggled"/>
++                                  </object>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </object>
++                        </child>
++                        <child type="label">
++                          <object class="GtkLabel" id="label5">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Fading and Colormaps</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="cmap_frame" type="label-for"/>
++                            </accessibility>
++                          </object>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++                  </object>
++                  <packing>
++                    <property name="tab_expand">False</property>
++                    <property name="tab_fill">True</property>
++                  </packing>
++                </child>
++                <child type="tab">
++                  <object class="GtkLabel" id="options_tab">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">_Advanced</property>
++                    <property name="use_underline">True</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0.5</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="mnemonic_widget">notebook</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </object>
++                </child>
++              </object>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </object>
++          <packing>
++            <property name="padding">0</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++        <child>
++          <object class="GtkHButtonBox" id="hbuttonbox2">
++            <property name="border_width">5</property>
++            <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
++            <property name="spacing">10</property>
++            <child>
++              <object class="GtkButton" id="helpbutton">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label">gtk-help</property>
++                <property name="use_stock">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="doc_menu_cb" name="clicked"/>
++              </object>
++            </child>
++            <child>
++              <object class="GtkButton" id="closebutton">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label">gtk-close</property>
++                <property name="use_stock">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="exit_menu_cb" name="clicked"/>
++              </object>
++            </child>
++          </object>
++          <packing>
++            <property name="padding">0</property>
++            <property name="expand">False</property>
++            <property name="fill">True</property>
++            <property name="pack_type">GTK_PACK_END</property>
++          </packing>
++        </child>
++      </object>
++    </child>
++  </object>
++  <object class="GtkDialog" id="xscreensaver_settings_dialog">
++    <property name="title" translatable="yes">dialog1</property>
++    <property name="type">GTK_WINDOW_TOPLEVEL</property>
++    <property name="window_position">GTK_WIN_POS_NONE</property>
++    <property name="modal">False</property>
++    <property name="resizable">True</property>
++    <property name="destroy_with_parent">False</property>
++    <property name="decorated">True</property>
++    <property name="skip_taskbar_hint">False</property>
++    <property name="skip_pager_hint">False</property>
++    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++    <property name="focus_on_map">True</property>
++    <property name="urgency_hint">False</property>
++    @COMMENT_DEMO_GLADE2_GTK_2_22_HEAD@<property name="has_separator">False</property>@COMMENT_DEMO_GLADE2_GTK_2_22_TAIL@
++    <child internal-child="vbox">
++      <object class="GtkVBox" id="dialog_vbox">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">0</property>
++        <child internal-child="action_area">
++          <object class="GtkHButtonBox" id="dialog_action_area">
++            <property name="visible">True</property>
++            <property name="layout_style">GTK_BUTTONBOX_END</property>
++            <child>
++              <object class="GtkButton" id="adv_button">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label" translatable="yes">_Advanced &gt;&gt;</property>
++                <property name="use_underline">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="settings_adv_cb" name="clicked"/>
++              </object>
++            </child>
++            <child>
++              <object class="GtkButton" id="std_button">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label" translatable="yes">_Standard &lt;&lt;</property>
++                <property name="use_underline">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="settings_std_cb" name="clicked"/>
++              </object>
++            </child>
++            <child>
++              <object class="GtkButton" id="reset_button">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label" translatable="yes">_Reset to Defaults</property>
++                <property name="use_underline">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="settings_reset_cb" name="clicked"/>
++              </object>
++            </child>
++            <child>
++              <object class="GtkButton" id="cancel_button">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label">gtk-cancel</property>
++                <property name="use_stock">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="settings_cancel_cb" name="clicked"/>
++              </object>
++            </child>
++            <child>
++              <object class="GtkButton" id="ok_button">
++                <property name="visible">True</property>
++                <property name="can_default">True</property>
++                <property name="can_focus">True</property>
++                <property name="label">gtk-ok</property>
++                <property name="use_stock">True</property>
++                <property name="relief">GTK_RELIEF_NORMAL</property>
++                <property name="focus_on_click">True</property>
++                <signal handler="settings_ok_cb" name="clicked"/>
++              </object>
++            </child>
++          </object>
++          <packing>
++            <property name="padding">0</property>
++            <property name="expand">False</property>
++            <property name="fill">True</property>
++            <property name="pack_type">GTK_PACK_END</property>
++          </packing>
++        </child>
++        <child>
++          <object class="GtkVBox" id="vbox1">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++            <child>
++              <object class="GtkFrame" id="opt_frame">
++                <property name="visible">True</property>
++                <property name="label_xalign">0</property>
++                <property name="label_yalign">0</property>
++                <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
++                <accessibility>
++                  <relation target="label6" type="labelled-by"/>
++                </accessibility>
++                <child>
++                  <object class="GtkNotebook" id="opt_notebook">
++                    <property name="border_width">12</property>
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="show_tabs">True</property>
++                    <property name="show_border">False</property>
++                    <property name="tab_pos">GTK_POS_BOTTOM</property>
++                    <property name="scrollable">False</property>
++                    <property name="enable_popup">False</property>
++                    <signal handler="settings_switch_page_cb" name="switch_page"/>
++                    <child>
++                      <object class="GtkVBox" id="settings_vbox">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">0</property>
++                        <child>
++                          <placeholder/>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="tab_expand">True</property>
++                        <property name="tab_fill">True</property>
++                        <property name="tab_pack">GTK_PACK_END</property>
++                      </packing>
++                    </child>
++                    <child type="tab">
++                      <object class="GtkLabel" id="std_label">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Standard</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </object>
++                    </child>
++                    <child>
++                      <object class="GtkTable" id="adv_table">
++                        <property name="visible">True</property>
++                        <property name="n_rows">4</property>
++                        <property name="n_columns">2</property>
++                        <property name="homogeneous">False</property>
++                        <property name="row_spacing">0</property>
++                        <property name="column_spacing">0</property>
++                        <child>
++                          <object class="GtkImage" id="cmd_logo">
++                            <property name="visible">True</property>
++                            <property name="pixbuf">screensaver-cmndln.png</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">4</property>
++                            <property name="ypad">8</property>
++                          </object>
++                          <packing>
++                            <property name="left_attach">0</property>
++                            <property name="right_attach">1</property>
++                            <property name="top_attach">0</property>
++                            <property name="bottom_attach">1</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options">fill</property>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="cmd_label">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">_Command Line:</property>
++                            <property name="use_underline">True</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="mnemonic_widget">cmd_text</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                            <accessibility>
++                              <relation target="cmd_text" type="label-for"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">1</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">1</property>
++                            <property name="bottom_attach">2</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkEntry" id="cmd_text">
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="editable">True</property>
++                            <property name="visibility">True</property>
++                            <property name="max_length">0</property>
++                            <property name="text" translatable="yes"/>
++                            <property name="has_frame">True</property>
++                            <property name="invisible_char">*</property>
++                            <property name="activates_default">False</property>
++                            <accessibility>
++                              <relation target="cmd_label" type="labelled-by"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">1</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">2</property>
++                            <property name="bottom_attach">3</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkHBox" id="visual_hbox">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">0</property>
++                            <child>
++                              <object class="GtkLabel" id="visual">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">_Visual:</property>
++                                <property name="use_underline">True</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">1</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">3</property>
++                                <property name="ypad">0</property>
++                                <property name="mnemonic_widget">visual_combo</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                                <accessibility>
++                                  <relation target="visual_combo" type="label-for"/>
++                                </accessibility>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                            <child>
++                              <object class="GtkComboBoxEntry" id="visual_combo">
++                                <property name="has_entry">False</property>
++                                <property name="visible">True</property>
++                                <property name="model">visual_combo_model</property>
++                                <property name="text-column">0</property>
++                                <accessibility>
++                                  <relation target="visual" type="labelled-by"/>
++                                </accessibility>
++                                <child internal-child="entry">
++                                  <object class="GtkEntry" id="visual_entry">
++                                    <property name="visible">True</property>
++                                    <property name="can_focus">True</property>
++                                    <property name="editable">True</property>
++                                    <property name="visibility">True</property>
++                                    <property name="max_length">0</property>
++                                    <property name="text" translatable="yes"/>
++                                    <property name="has_frame">True</property>
++                                    <property name="invisible_char">*</property>
++                                    <property name="activates_default">False</property>
++                                  </object>
++                                </child>
++                              </object>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="left_attach">1</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">3</property>
++                            <property name="bottom_attach">4</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options">fill</property>
++                          </packing>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="tab_expand">False</property>
++                        <property name="tab_fill">True</property>
++                      </packing>
++                    </child>
++                    <child type="tab">
++                      <object class="GtkLabel" id="adv_label">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Advanced</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </object>
++                    </child>
++                  </object>
++                </child>
++                <child type="label">
++                  <object class="GtkLabel" id="label6">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">Settings</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0.5</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                    <accessibility>
++                      <relation target="opt_frame" type="label-for"/>
++                    </accessibility>
++                  </object>
++                </child>
++              </object>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++            <child>
++              <object class="GtkFrame" id="doc_frame">
++                <property name="visible">True</property>
++                <property name="label_xalign">0</property>
++                <property name="label_yalign">0</property>
++                <property name="shadow_type">GTK_SHADOW_NONE</property>
++                <child>
++                  <object class="GtkVBox" id="doc_vbox">
++                    <property name="border_width">5</property>
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">5</property>
++                    <child>
++                      <object class="GtkLabel" id="doc">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label" translatable="yes"/>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">True</property>
++                        <property name="selectable">True</property>
++                        <property name="xalign">0</property>
++                        <property name="yalign">0</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </object>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkHBox" id="hbox1">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">0</property>
++                        <child>
++                          <object class="GtkButton" id="manual">
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="label" translatable="yes">_Documentation...</property>
++                            <property name="use_underline">True</property>
++                            <property name="relief">GTK_RELIEF_NORMAL</property>
++                            <property name="focus_on_click">True</property>
++                            <signal handler="manual_cb" name="clicked"/>
++                          </object>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                            <property name="pack_type">GTK_PACK_END</property>
++                          </packing>
++                        </child>
++                      </object>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++                  </object>
++                </child>
++                <child type="label">
++                  <object class="GtkLabel" id="label7">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes"/>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0.5</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </object>
++                </child>
++              </object>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++          </object>
++          <packing>
++            <property name="padding">0</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++      </object>
++    </child>
++    <action-widgets>
++      <action-widget response="0">adv_button</action-widget>
++      <action-widget response="0">std_button</action-widget>
++      <action-widget response="0">reset_button</action-widget>
++      <action-widget response="-6">cancel_button</action-widget>
++      <action-widget response="-5">ok_button</action-widget>
++    </action-widgets>
++  </object>
++</interface>
+-- 
+2.7.4
+
--- a/components/desktop/xscreensaver/patches/0002-GNOME-desktop-menu.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0002-GNOME-desktop-menu.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 71dcd92da3e21019bd224ca4c13aeb98109614eb Mon Sep 17 00:00:00 2001
+From 336a180d7f5c0ec88296e79bad3c66cfdadafd07 Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 19:50:30 -0800
 Subject: [PATCH] GNOME desktop menu
@@ -8,15 +8,14 @@
 
 Unknown why this differs from upstream - need to find out someday.
 ---
- driver/screensaver-properties.desktop.in | 34 ++++++++++++++++++++++++++++----
- 1 file changed, 30 insertions(+), 4 deletions(-)
+ driver/screensaver-properties.desktop.in | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
 
 diff --git a/driver/screensaver-properties.desktop.in b/driver/screensaver-properties.desktop.in
-index de42527..9b9dbe0 100644
+index de42527..65982c1 100644
 --- a/driver/screensaver-properties.desktop.in
 +++ b/driver/screensaver-properties.desktop.in
-@@ -1,8 +1,34 @@
- [Desktop Entry]
+@@ -2,7 +2,33 @@
  Exec=xscreensaver-demo
  Icon=xscreensaver
  Terminal=false
@@ -53,5 +52,5 @@
  Type=Application
  Categories=Settings;DesktopSettings;Security;X-XFCE;
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/patches/0003-Solaris-paths.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0003-Solaris-paths.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 45cdceb023897ee25d4d82434f570d63ccf43df8 Mon Sep 17 00:00:00 2001
+From bebe3185c9f754e6d672e47eb2e330c7cb80aa7f Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 19:59:16 -0800
 Subject: [PATCH] Solaris paths
@@ -28,18 +28,18 @@
 Also, you'll need to fix the package names shown when the hacks are not
 installed to be the older SUNWxscreensaver-* for Solaris 10.
 ---
- driver/Makefile.in                 |  9 ++++---
- driver/XScreenSaver.ad.in          | 14 +++++++---
- driver/demo-Gtk.c                  |  4 +--
- driver/subprocs.c                  | 54 ++++++++++++++++++++++++++++++++++++--
- driver/xscreensaver-demo.glade2.in |  4 +--
- driver/xscreensaver-text           |  6 ++++-
- driver/xscreensaver.man            |  5 ++--
- hacks/glx/Makefile.in              |  4 +--
- 8 files changed, 81 insertions(+), 19 deletions(-)
+ driver/Makefile.in             |  9 ++++---
+ driver/XScreenSaver.ad.in      | 14 +++++++----
+ driver/demo-Gtk.c              |  4 ++--
+ driver/subprocs.c              | 54 ++++++++++++++++++++++++++++++++++++++++--
+ driver/xscreensaver-demo.ui.in |  5 ++--
+ driver/xscreensaver-text       |  6 ++++-
+ driver/xscreensaver.man        |  5 ++--
+ hacks/glx/Makefile.in          |  4 ++--
+ 8 files changed, 82 insertions(+), 19 deletions(-)
 
 diff --git a/driver/Makefile.in b/driver/Makefile.in
-index c132304..a5b94bf 100644
+index b24536e..7c41ac0 100644
 --- a/driver/Makefile.in
 +++ b/driver/Makefile.in
 @@ -27,7 +27,7 @@ INTLTOOL_MERGE	= @INTLTOOL_MERGE@
@@ -99,10 +99,10 @@
  !   Gnome 2.2:
  !
 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index 27d2316..6c449f2 100644
+index 87ae8a5..adb097f 100644
 --- a/driver/demo-Gtk.c
 +++ b/driver/demo-Gtk.c
-@@ -994,7 +994,7 @@ restart_menu_cb (GtkWidget *widget, gpointer user_data)
+@@ -1004,7 +1004,7 @@ restart_menu_cb (GtkWidget *widget, gpointer user_data)
    flush_dialog_changes_and_save (s);
    xscreensaver_command (GDK_DISPLAY(), XA_EXIT, 0, False, NULL);
    sleep (1);
@@ -111,7 +111,7 @@
      fprintf (stderr, "%s: fork error\n", blurb());
  
    await_xscreensaver (s);
-@@ -4969,7 +4969,7 @@ main (int argc, char **argv)
+@@ -4965,7 +4965,7 @@ main (int argc, char **argv)
  
        if (init_results == 1)
  	{
@@ -233,21 +233,22 @@
    av[ac] = 0;
  
    if (pipe (fds))
-diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in
-index ad0095d..40e47f6 100644
---- a/driver/xscreensaver-demo.glade2.in
-+++ b/driver/xscreensaver-demo.glade2.in
-@@ -927,8 +927,8 @@ Installed</property>
- 			      <property name="visible">True</property>
- 			      <property name="label" translatable="yes">Very few (or no) screen savers appear to be available.
+diff --git a/driver/xscreensaver-demo.ui.in b/driver/xscreensaver-demo.ui.in
+index 9c31a9b..c04a331 100644
+--- a/driver/xscreensaver-demo.ui.in
++++ b/driver/xscreensaver-demo.ui.in
+@@ -950,8 +950,9 @@ Installed</property>
+                                 <property name="visible">True</property>
+                                 <property name="label" translatable="yes">Very few (or no) screen savers appear to be available.
  
--This probably means that the &quot;xscreensaver-extras&quot; and
--&quot;xscreensaver-gl-extras&quot; packages are not installed.</property>
+-This probably means that the "xscreensaver-extras" and
+-"xscreensaver-gl-extras" packages are not installed.</property>
 +This probably means that the “desktop/xscreensaver/hacks” and
-+“desktop/xscreensaver/hacks/hacks-gl” packages are not installed.</property>
- 			      <property name="use_underline">False</property>
- 			      <property name="use_markup">False</property>
- 			      <property name="justify">GTK_JUSTIFY_CENTER</property>
++“desktop/xscreensaver/hacks/hacks-gl” packages are not installed.
++                                </property>
+                                 <property name="use_underline">False</property>
+                                 <property name="use_markup">False</property>
+                                 <property name="justify">GTK_JUSTIFY_CENTER</property>
 diff --git a/driver/xscreensaver-text b/driver/xscreensaver-text
 index 8199829..921d5c7 100755
 --- a/driver/xscreensaver-text
@@ -320,5 +321,5 @@
  	   echo rm -f $$idir/$$program ;				\
  		rm -f $$idir/$$program ;				\
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/patches/0005-gtk-lock.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0005-gtk-lock.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 8c50007e132d474a772ac456786342c0fe7fe189 Mon Sep 17 00:00:00 2001
+From a5e9aa2e68624b0162e69829bfc5a633e5cf8b79 Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 20:36:57 -0800
 Subject: [PATCH] gtk-lock
@@ -109,18 +109,18 @@
  #undef HAVE_XSHM_EXTENSION
  
 diff --git a/configure.in b/configure.in
-index 4c4dee5..eb753a3 100644
+index 5ff8aea..dea1f6a 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -2666,6 +2666,7 @@ if test "$with_gtk" = yes; then
-   pkg_check_version        libglade-2.0  1.99.0
+@@ -2665,6 +2665,7 @@ if test "$with_gtk" = yes; then
+   pkg_check_version          libxml-2.0  2.4.6
    pkg_check_version      gdk-pixbuf-2.0  2.0.0
    pkg_check_version gdk-pixbuf-xlib-2.0  2.0.0
 +  pkg_check_version           gconf-2.0  2.6.1
    have_gtk="$ok"
  
    if test "$have_gtk" = no; then
-@@ -2681,6 +2682,9 @@ if test "$with_gtk" = yes; then
+@@ -2680,6 +2681,9 @@ if test "$with_gtk" = yes; then
    fi
  
    if test "$have_gtk" = yes; then
@@ -130,7 +130,7 @@
      AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
                     [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
      AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
-@@ -3933,6 +3937,16 @@ if test "$have_gtk" = yes; then
+@@ -3932,6 +3936,16 @@ if test "$have_gtk" = yes; then
    ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
  fi
  
@@ -147,7 +147,7 @@
  
  if test "$have_kerberos" = yes; then
    PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
-@@ -4077,6 +4091,11 @@ AC_SUBST(INCLUDES)
+@@ -4076,6 +4090,11 @@ AC_SUBST(INCLUDES)
  
  AC_SUBST(PREFERRED_DEMO_PROGRAM)
  AC_SUBST(ALL_DEMO_PROGRAMS)
@@ -159,7 +159,7 @@
  AC_SUBST(SAVER_LIBS)
  AC_SUBST(MOTIF_LIBS)
  AC_SUBST(GTK_LIBS)
-@@ -4598,7 +4617,8 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
+@@ -4597,7 +4616,8 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
  
  
  # Sanity check the hackdir
@@ -170,7 +170,7 @@
      echo ""
      AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
 diff --git a/driver/Makefile.in b/driver/Makefile.in
-index 90ef1d2..a44e312 100644
+index 5f269df..22c486f 100644
 --- a/driver/Makefile.in
 +++ b/driver/Makefile.in
 @@ -29,6 +29,7 @@ GTK_APPDIR	= $(GTK_DATADIR)/applications
@@ -367,10 +367,10 @@
 +
  #endif
 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index 3fa27c3..ece3c44 100644
+index 6457d15..d62152c 100644
 --- a/driver/demo-Gtk.c
 +++ b/driver/demo-Gtk.c
-@@ -98,6 +98,8 @@
+@@ -97,6 +97,8 @@
  # define G_MODULE_EXPORT /**/
  #endif /* !HAVE_GTK2 */
  
@@ -379,7 +379,7 @@
  #if defined(DEFAULT_ICONDIR) && !defined(GLADE_DIR)
  # define GLADE_DIR DEFAULT_ICONDIR
  #endif
-@@ -5042,6 +5044,22 @@ main (int argc, char **argv)
+@@ -5038,6 +5040,22 @@ main (int argc, char **argv)
    load_init_file (dpy, p);
    initialize_sort_map (s);
  
--- a/components/desktop/xscreensaver/patches/0006-allow-root.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0006-allow-root.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 53a079ae5ba815381fd94cace1a56cd2841e09ed Mon Sep 17 00:00:00 2001
+From 42a34d66f5455bb0899f189a38539affbae0e212 Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 20:56:50 -0800
 Subject: [PATCH] allow root
@@ -13,19 +13,19 @@
 
 See http://www.jwz.org/xscreensaver/faq.html#root-lock for his side.
 ---
- driver/demo-Gtk.c     | 18 ++++++++++++++++++
+ driver/demo-Gtk.c     | 15 +++++++++++++++
  driver/exec.c         |  2 ++
  driver/setuid.c       | 12 ++++++++++++
  driver/subprocs.c     |  3 +++
  driver/timers.c       |  2 +-
  driver/xscreensaver.c |  7 ++++---
- 6 files changed, 40 insertions(+), 4 deletions(-)
+ 6 files changed, 37 insertions(+), 4 deletions(-)
 
 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index ece3c44..d4cc4a5 100644
+index d62152c..f6f9c19 100644
 --- a/driver/demo-Gtk.c
 +++ b/driver/demo-Gtk.c
-@@ -713,6 +713,14 @@ run_hack (state *s, int list_elt, Bool report_errors_p)
+@@ -723,6 +723,14 @@ run_hack (state *s, int list_elt, Bool report_errors_p)
    char *err = 0;
    int status;
  
@@ -40,30 +40,20 @@
    if (list_elt < 0) return;
    hack_number = s->list_elt_to_hack_number[list_elt];
  
-@@ -5173,6 +5181,15 @@ main (int argc, char **argv)
-     GtkMenu *menu = GTK_MENU (gtk_option_menu_get_menu (opt));
-     GList *kids = gtk_container_children (GTK_CONTAINER (menu));
-     int i;
-+
-+    if (getuid () == 0)
-+      {
-+        /* If logged in as root disable menu so user can't activate a hack. */
-+        gtk_widget_set_sensitive (GTK_WIDGET (opt), False);
-+        gtk_widget_set_sensitive (GTK_WIDGET (menu), False);
-+      }
-+    else
+@@ -5163,6 +5171,13 @@ main (int argc, char **argv)
+                       (gpointer) s);
+ #endif /* !HAVE_GTK2 */
+ 
++  if (getuid () == 0)
 +    {
-     for (i = 0; kids; kids = kids->next, i++)
-       {
-         gtk_signal_connect (GTK_OBJECT (kids->data), "activate",
-@@ -5186,6 +5203,7 @@ main (int argc, char **argv)
-             mode_menu_order[i] == RANDOM_HACKS_SAME)
-           gtk_widget_hide (GTK_WIDGET (kids->data));
-       }
++      /* If logged in as root disable menu so user can't activate a hack. */
++      gtk_widget_set_sensitive (GTK_WIDGET (name_to_widget (s, "mode_menu")),
++				False);
 +    }
- 
-     if (s->nscreens <= 1)   /* recompute option-menu size */
-       {
++  else
+   /* Hook up callbacks to the items on the mode menu. */
+   gtk_signal_connect (GTK_OBJECT (name_to_widget (s, "mode_menu")),
+                       "changed", GTK_SIGNAL_FUNC (mode_menu_item_cb),
 diff --git a/driver/exec.c b/driver/exec.c
 index 38ca88a..b68089e 100644
 --- a/driver/exec.c
@@ -204,5 +194,5 @@
        else
          for (i = 0; i < si->nscreens; i++)
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/patches/0007-passwdTimeout-pref.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0007-passwdTimeout-pref.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 37f1a55c40ce9aaf136f1512068b04f6a5c36d48 Mon Sep 17 00:00:00 2001
+From 27b30da105ba07182ba7bea9aee62deaad39f74d Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 22:02:23 -0800
 Subject: [PATCH] passwdTimeout pref
@@ -11,13 +11,13 @@
 
 Upstream status unknown.
 ---
- driver/XScreenSaver.ad.in          |  1 +
- driver/demo-Gtk.c                  | 13 +++++
- driver/lock.c                      |  8 ++++
- driver/prefs.c                     |  6 +++
- driver/types.h                     |  2 +
- driver/xscreensaver-demo.glade2.in | 98 +++++++++++++++++++++++++++++++++++++-
- 6 files changed, 127 insertions(+), 1 deletion(-)
+ driver/XScreenSaver.ad.in      |   1 +
+ driver/demo-Gtk.c              |  13 ++++++
+ driver/lock.c                  |   8 ++++
+ driver/prefs.c                 |   6 +++
+ driver/types.h                 |   2 +
+ driver/xscreensaver-demo.ui.in | 103 ++++++++++++++++++++++++++++++++++++++++-
+ 6 files changed, 131 insertions(+), 2 deletions(-)
 
 diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in
 index 3e1ff8a..0a0ccf8 100644
@@ -32,10 +32,10 @@
  *dpmsQuickoffEnabled:	False
  *dpmsStandby:		0:10:00
 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index d4cc4a5..3d86087 100644
+index f6f9c19..e78c3ed 100644
 --- a/driver/demo-Gtk.c
 +++ b/driver/demo-Gtk.c
-@@ -1566,6 +1566,8 @@ flush_dialog_changes_and_save (state *s)
+@@ -1576,6 +1576,8 @@ flush_dialog_changes_and_save (state *s)
  
    MINUTES  (&p2->timeout,         "timeout_spinbutton");
    MINUTES  (&p2->cycle,           "cycle_spinbutton");
@@ -44,7 +44,7 @@
    CHECKBOX (p2->lock_p,           "lock_button");
    MINUTES  (&p2->lock_timeout,    "lock_spinbutton");
  
-@@ -1670,6 +1672,8 @@ flush_dialog_changes_and_save (state *s)
+@@ -1677,6 +1679,8 @@ flush_dialog_changes_and_save (state *s)
    COPY(cycle,          "cycle");
    COPY(lock_p,         "lock_p");
    COPY(lock_timeout,   "lock_timeout");
@@ -53,7 +53,7 @@
  
    COPY(dpms_enabled_p,  "dpms_enabled_p");
    COPY(dpms_quickoff_p, "dpms_quickoff_enabled_p");
-@@ -2802,6 +2806,9 @@ populate_prefs_page (state *s)
+@@ -2797,6 +2801,9 @@ populate_prefs_page (state *s)
    FMT_MINUTES ("timeout_spinbutton",      p->timeout);
    FMT_MINUTES ("cycle_spinbutton",        p->cycle);
    FMT_MINUTES ("lock_spinbutton",         p->lock_timeout);
@@ -63,7 +63,7 @@
    FMT_MINUTES ("dpms_standby_spinbutton", p->dpms_standby);
    FMT_MINUTES ("dpms_suspend_spinbutton", p->dpms_suspend);
    FMT_MINUTES ("dpms_off_spinbutton",     p->dpms_off);
-@@ -2814,6 +2821,7 @@ populate_prefs_page (state *s)
+@@ -2809,6 +2816,7 @@ populate_prefs_page (state *s)
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (name_to_widget (s,(NAME))),\
                                  (ACTIVEP))
  
@@ -71,7 +71,7 @@
    TOGGLE_ACTIVE ("lock_button",       p->lock_p);
  #if 0
    TOGGLE_ACTIVE ("verbose_button",    p->verbose_p);
-@@ -2919,6 +2927,10 @@ populate_prefs_page (state *s)
+@@ -2914,6 +2922,10 @@ populate_prefs_page (state *s)
  
      /* Blanking and Locking
       */
@@ -82,7 +82,7 @@
      SENSITIZE ("lock_button",     can_lock_p);
      SENSITIZE ("lock_spinbutton", can_lock_p && p->lock_p);
      SENSITIZE ("lock_mlabel",     can_lock_p && p->lock_p);
-@@ -3093,6 +3105,7 @@ fix_text_entry_sizes (state *s)
+@@ -3089,6 +3101,7 @@ fix_text_entry_sizes (state *s)
  # if 0   /* appears no longer necessary with Gtk 1.2.10 */
    const char * const spinbuttons[] = {
      "timeout_spinbutton", "cycle_spinbutton", "lock_spinbutton",
@@ -91,7 +91,7 @@
      "dpms_off_spinbutton",
      "-fade_spinbutton" };
 diff --git a/driver/lock.c b/driver/lock.c
-index becf85b..08f0f98 100644
+index a4114e2..abf86c0 100644
 --- a/driver/lock.c
 +++ b/driver/lock.c
 @@ -1651,6 +1651,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio)
@@ -160,122 +160,141 @@
  
    Bool fade_p;			/* whether to fade to black, if possible */
    Bool unfade_p;		/* whether to fade from black, if possible */
-diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in
-index 40e47f6..a7a06a6 100644
---- a/driver/xscreensaver-demo.glade2.in
-+++ b/driver/xscreensaver-demo.glade2.in
-@@ -165,7 +165,7 @@
- 		  <child>
- 		    <widget class="GtkTable" id="blanking_table">
- 		      <property name="visible">True</property>
--		      <property name="n_rows">3</property>
-+		      <property name="n_rows">4</property>
- 		      <property name="n_columns">4</property>
- 		      <property name="homogeneous">False</property>
- 		      <property name="row_spacing">2</property>
-@@ -466,6 +466,102 @@
- 			  <property name="y_options"></property>
- 			</packing>
- 		      </child>
-+
-+		      <child>
-+			<widget class="GtkSpinButton" id="pwd_spinbutton">
-+			  <property name="visible">True</property>
-+			  <property name="tooltip" translatable="yes">How long the unlock dialog waits for input before disappearing.</property>
-+			  <property name="can_focus">True</property>
-+			  <property name="climb_rate">15</property>
-+			  <property name="digits">0</property>
-+			  <property name="numeric">True</property>
-+			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-+			  <property name="snap_to_ticks">True</property>
-+			  <property name="wrap">False</property>
-+			  <property name="adjustment">0 0 720 1 15 15</property>
-+			  <accessibility>
-+			    <atkrelation target="pwd_button" type="controlled-by"/>
-+			    <atkrelation target="pwd_button" type="labelled-by"/>
-+			    <atkrelation target="pwd_mlabel" type="labelled-by"/>
-+			  </accessibility>
-+			  <signal name="activate" handler="pref_changed_cb"/>
-+			  <signal name="focus_out_event" handler="pref_changed_event_cb"/>
-+			  <signal name="value_changed" handler="pref_changed_cb"/>
-+			</widget>
-+			<packing>
-+			  <property name="left_attach">2</property>
-+			  <property name="right_attach">3</property>
-+			  <property name="top_attach">3</property>
-+			  <property name="bottom_attach">4</property>
-+			  <property name="y_padding">10</property>
-+			  <property name="x_options">fill</property>
-+			  <property name="y_options"></property>
-+			</packing>
-+		      </child>
-+
-+		      <child>
-+			<widget class="GtkEventBox" id="pwd_button_eventbox">
-+			  <property name="visible">True</property>
-+			  <property name="tooltip" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property>
-+			  <property name="visible_window">True</property>
-+			  <property name="above_child">False</property>
-+
-+			  <child>
-+			    <widget class="GtkCheckButton" id="pwd_button">
-+			      <property name="visible">True</property>
-+			      <property name="can_focus">True</property>
-+			      <property name="label" translatable="yes">Timeout _Unlock After</property>
-+			      <property name="use_underline">True</property>
-+			      <property name="relief">GTK_RELIEF_NORMAL</property>
-+			      <property name="focus_on_click">True</property>
-+			      <property name="active">False</property>
-+			      <property name="inconsistent">False</property>
-+			      <property name="draw_indicator">True</property>
-+			      <accessibility>
-+				<atkrelation target="pwd_spinbutton" type="controller-for"/>
-+				<atkrelation target="pwd_spinbutton" type="label-for"/>
-+				<atkrelation target="pwd_spinbutton" type="flows-to"/>
-+			      </accessibility>
-+			      <signal name="toggled" handler="pref_changed_cb"/>
-+			    </widget>
-+			  </child>
-+			</widget>
-+			<packing>
-+			  <property name="left_attach">0</property>
-+			  <property name="right_attach">2</property>
-+			  <property name="top_attach">3</property>
-+			  <property name="bottom_attach">4</property>
-+			  <property name="x_options">fill</property>
-+			  <property name="y_options">fill</property>
-+			</packing>
-+		      </child>
-+
-+		      <child>
-+			<widget class="GtkLabel" id="pwd_mlabel">
-+			  <property name="visible">True</property>
-+			  <property name="label" translatable="yes">minutes</property>
-+			  <property name="use_underline">False</property>
-+			  <property name="use_markup">False</property>
-+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-+			  <property name="wrap">False</property>
-+			  <property name="selectable">False</property>
-+			  <property name="xalign">0</property>
-+			  <property name="yalign">0.5</property>
-+			  <property name="xpad">8</property>
-+			  <property name="ypad">0</property>
-+			  <accessibility>
-+			    <atkrelation target="pwd_spinbutton" type="label-for"/>
-+			    <atkrelation target="pwd_spinbutton" type="flows-from"/>
-+			  </accessibility>
-+			</widget>
-+			<packing>
-+			  <property name="left_attach">3</property>
-+			  <property name="right_attach">4</property>
-+			  <property name="top_attach">3</property>
-+			  <property name="bottom_attach">4</property>
-+			  <property name="y_options"></property>
-+			</packing>
-+		      </child>
- 		    </widget>
- 		    <packing>
- 		      <property name="left_attach">0</property>
+diff --git a/driver/xscreensaver-demo.ui.in b/driver/xscreensaver-demo.ui.in
+index c04a331..2281859 100644
+--- a/driver/xscreensaver-demo.ui.in
++++ b/driver/xscreensaver-demo.ui.in
+@@ -57,6 +57,14 @@
+     <property name="page_size">0</property>
+     <property name="value">0</property>
+   </object>
++  <object class="GtkAdjustment" id="adjustment8">
++    <property name="upper">720</property>
++    <property name="lower">0</property>
++    <property name="page_increment">15</property>
++    <property name="step_increment">1</property>
++    <property name="page_size">0</property>
++    <property name="value">0</property>
++  </object>
+   <object class="GtkListStore" id="mode_menu_model">
+     <columns>
+       <column type="gchararray"/>
+@@ -268,7 +276,7 @@
+                     <child>
+                       <object class="GtkTable" id="blanking_table">
+                         <property name="visible">True</property>
+-                        <property name="n_rows">3</property>
++                        <property name="n_rows">4</property>
+                         <property name="n_columns">4</property>
+                         <property name="homogeneous">False</property>
+                         <property name="row_spacing">2</property>
+@@ -409,7 +417,7 @@
+                             <property name="right_attach">3</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+-                            <property name="y_padding">10</property>
++                            <property name="y_padding">0</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"/>
+                           </packing>
+@@ -567,6 +575,97 @@
+                             <property name="y_options"/>
+                           </packing>
+                         </child>
++                        <child>
++                          <object class="GtkSpinButton" id="pwd_spinbutton">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">How long the unlock dialog waits for input before disappearing.</property>
++                            <property name="can_focus">True</property>
++                            <property name="climb_rate">15</property>
++                            <property name="digits">0</property>
++                            <property name="numeric">True</property>
++                            <property name="update_policy">GTK_UPDATE_ALWAYS</property>
++                            <property name="snap_to_ticks">True</property>
++                            <property name="wrap">False</property>
++                            <property name="adjustment">adjustment8</property>
++                            <accessibility>
++                              <relation target="pwd_button" type="controlled-by"/>
++                              <relation target="pwd_button" type="labelled-by"/>
++                              <relation target="pwd_mlabel" type="labelled-by"/>
++                            </accessibility>
++                            <signal handler="pref_changed_cb" name="activate"/>
++                            <signal handler="pref_changed_event_cb" name="focus_out_event"/>
++                            <signal handler="pref_changed_cb" name="value_changed"/>
++                          </object>
++                          <packing>
++                            <property name="left_attach">2</property>
++                            <property name="right_attach">3</property>
++                            <property name="top_attach">3</property>
++                            <property name="bottom_attach">4</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkEventBox" id="pwd_button_eventbox">
++                            <property name="visible">True</property>
++                            <property name="tooltip-text" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property>
++                            <property name="visible_window">True</property>
++                            <property name="above_child">False</property>
++                            <child>
++                              <object class="GtkCheckButton" id="pwd_button">
++                                <property name="visible">True</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">Timeout _Unlock After</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                                <accessibility>
++                                  <relation target="pwd_spinbutton" type="controller-for"/>
++                                  <relation target="pwd_spinbutton" type="label-for"/>
++                                  <relation target="pwd_spinbutton" type="flows-to"/>
++                                </accessibility>
++                                <signal handler="pref_changed_cb" name="toggled"/>
++                              </object>
++                            </child>
++                          </object>
++                          <packing>
++                            <property name="left_attach">0</property>
++                            <property name="right_attach">2</property>
++                            <property name="top_attach">3</property>
++                            <property name="bottom_attach">4</property>
++                            <property name="x_options">fill</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
++                        <child>
++                          <object class="GtkLabel" id="pwd_mlabel">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">minutes</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">8</property>
++                            <property name="ypad">0</property>
++                            <accessibility>
++                              <relation target="pwd_spinbutton" type="label-for"/>
++                              <relation target="pwd_spinbutton" type="flows-from"/>
++                            </accessibility>
++                          </object>
++                          <packing>
++                            <property name="left_attach">3</property>
++                            <property name="right_attach">4</property>
++                            <property name="top_attach">3</property>
++                            <property name="bottom_attach">4</property>
++                            <property name="y_options"/>
++                          </packing>
++                        </child>
+                       </object>
+                       <packing>
+                         <property name="left_attach">0</property>
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/patches/0008-security-policy.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0008-security-policy.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 65b6bdc8096ef4ac5b3bd41a0f2d38afe12c75ee Mon Sep 17 00:00:00 2001
+From 15cab78d41f50b40c19d3e88ef974f7d4845c705 Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Sat, 2 Jan 2016 22:23:10 -0800
 Subject: [PATCH] security-policy
@@ -15,20 +15,19 @@
 
 - specific to Solaris RBAC
 ---
- driver/demo-Gtk.c                  | 79 ++++++++++++++++++++++++++++++++++----
- driver/prefs.c                     | 32 +++++++++++++++
- driver/subprocs.c                  | 24 ++++++++++++
- driver/types.h                     |  3 ++
- driver/xscreensaver-demo.glade2.in |  2 +-
- driver/xscreensaver.c              | 32 +++++++++++++--
- driver/xscreensaver.h              |  2 +
- 7 files changed, 163 insertions(+), 11 deletions(-)
+ driver/demo-Gtk.c     | 79 ++++++++++++++++++++++++++++++++++++++++++++++-----
+ driver/prefs.c        | 32 +++++++++++++++++++++
+ driver/subprocs.c     | 24 ++++++++++++++++
+ driver/types.h        |  3 ++
+ driver/xscreensaver.c | 32 +++++++++++++++++++--
+ driver/xscreensaver.h |  2 ++
+ 6 files changed, 162 insertions(+), 10 deletions(-)
 
 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index 3d86087..3a4ab09 100644
+index e78c3ed..c888cf7 100644
 --- a/driver/demo-Gtk.c
 +++ b/driver/demo-Gtk.c
-@@ -131,6 +131,7 @@
+@@ -130,6 +130,7 @@
  #include <stdio.h>
  #include <string.h>
  #include <ctype.h>
@@ -36,7 +35,7 @@
  
  #ifdef HAVE_GTK2
  enum {
-@@ -1701,9 +1702,10 @@ flush_dialog_changes_and_save (state *s)
+@@ -1708,9 +1709,10 @@ flush_dialog_changes_and_save (state *s)
  # undef COPY
  
  # define COPYSTR(FIELD,NAME) \
@@ -49,7 +48,7 @@
      { \
        changed = True; \
        if (s->debug_p) \
-@@ -2765,6 +2767,70 @@ update_list_sensitivity (state *s)
+@@ -2760,6 +2762,70 @@ update_list_sensitivity (state *s)
  #endif /* !HAVE_GTK2 */
  }
  
@@ -120,7 +119,7 @@
  
  static void
  populate_prefs_page (state *s)
-@@ -2921,10 +2987,6 @@ populate_prefs_page (state *s)
+@@ -2916,10 +2982,6 @@ populate_prefs_page (state *s)
      }
  #endif /* HAVE_DPMS_EXTENSION */
  
@@ -131,7 +130,7 @@
      /* Blanking and Locking
       */
      /* bugid 5077081 */
-@@ -2964,10 +3026,13 @@ dpms_supported=1;
+@@ -2959,10 +3021,13 @@ dpms_supported=1;
      SENSITIZE ("fade_spinbutton", (fading_possible &&
                                     (p->fade_p || p->unfade_p)));
  
@@ -245,19 +244,6 @@
    Bool unlock_timeout_p;	/* whether to timeout unlock dialog */
                                  /* bugid 5077981 */
  
-diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in
-index a7a06a6..85b8069 100644
---- a/driver/xscreensaver-demo.glade2.in
-+++ b/driver/xscreensaver-demo.glade2.in
-@@ -478,7 +478,7 @@
- 			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- 			  <property name="snap_to_ticks">True</property>
- 			  <property name="wrap">False</property>
--			  <property name="adjustment">0 0 720 1 15 15</property>
-+			  <property name="adjustment">0 0 720 1 15 0</property>
- 			  <accessibility>
- 			    <atkrelation target="pwd_button" type="controlled-by"/>
- 			    <atkrelation target="pwd_button" type="labelled-by"/>
 diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c
 index f357281..e502f01 100644
 --- a/driver/xscreensaver.c
@@ -350,5 +336,5 @@
     subprocs diagnostics
     ======================================================================= */
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/patches/0021-forkpty.patch	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0021-forkpty.patch	Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 441a8b986e5a1d24e9930fdfd1129804d29775db Mon Sep 17 00:00:00 2001
+From ac1cd9caa8286552a4a74ca9e2a933457b6fef40 Mon Sep 17 00:00:00 2001
 From: Alan Coopersmith <[email protected]>
 Date: Thu, 4 Feb 2016 13:32:28 -0800
 Subject: [PATCH] forkpty
@@ -7,17 +7,17 @@
 but doesn't realize we stuck the required definitions in <sys/termios.h>
 instead of <pty.h> or <util.h>
 
-Sent upstream on 05 Feb 2016, no response yet.
+Sent upstream on 05 Feb 2016, upstream has included in 5.36 release.
 ---
  configure.in       | 2 +-
  utils/textclient.c | 3 +++
  2 files changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/configure.in b/configure.in
-index 873299e..f8f746b 100644
+index dea1f6a..517cd94 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -3547,7 +3547,7 @@ fi
+@@ -3541,7 +3541,7 @@ fi
  ###############################################################################
  
  PTY_LIBS=
@@ -41,5 +41,5 @@
  
  #undef DEBUG
 -- 
-2.6.1
+2.7.4
 
--- a/components/desktop/xscreensaver/xscreensaver.p5m	Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/xscreensaver.p5m	Thu Mar 30 13:00:52 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 <transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
 set name=pkg.fmri \
@@ -59,7 +59,7 @@
 file path=usr/lib/xscreensaver/config/screensaver-power.png
 file path=usr/lib/xscreensaver/config/screensaver-snap.png
 file files/unlock-logo.png path=usr/lib/xscreensaver/config/unlock-logo.png
-file path=usr/lib/xscreensaver/config/xscreensaver-demo.glade2
+file path=usr/lib/xscreensaver/config/xscreensaver-demo.ui
 file files/xscreensaver.desktop \
     path=usr/lib/xscreensaver/xscreensaver-autostart.desktop
 file path=usr/share/X11/app-defaults/XScreenSaver