--- 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 "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>
+- </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 >></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 <<</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 >></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 <<</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 "xscreensaver-extras" and
--"xscreensaver-gl-extras" 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