+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#include "demo-Gtk-stubs.h"
+#include "demo-Gtk-widgets.h"
+
+
+GtkWidget*
+create_xscreensaver_demo ()
+{
+ GtkWidget *xscreensaver_demo;
+ GtkWidget *outer_vbox;
+ GtkWidget *menubar;
+ guint tmp_key;
+ GtkWidget *file;
+ GtkWidget *file_menu;
+ GtkAccelGroup *file_menu_accels;
+ GtkWidget *activate_menu;
+ GtkWidget *lock_menu;
+ GtkWidget *kill_menu;
+ GtkWidget *restart;
+ GtkWidget *separator1;
+ GtkWidget *exit_menu;
+ GtkWidget *edit;
+ GtkWidget *edit_menu;
+ GtkAccelGroup *edit_menu_accels;
+ GtkWidget *cut_menu;
+ GtkWidget *copy_menu;
+ GtkWidget *paste_menu;
+ GtkWidget *help;
+ GtkWidget *help_menu;
+ GtkAccelGroup *help_menu_accels;
+ GtkWidget *about_menu;
+ GtkWidget *doc_menu;
+ GtkWidget *notebook;
+ GtkWidget *demos_hbox;
+ GtkWidget *list_vbox;
+ GtkWidget *scroller;
+ GtkWidget *viewport;
+ GtkWidget *list;
+ GtkWidget *centering_hbox;
+ GtkWidget *next_prev_hbox;
+ GtkWidget *next;
+ GtkWidget *prev;
+ GtkWidget *opts_vbox;
+ GtkWidget *frame;
+ GtkWidget *doc;
+ GtkWidget *opts_vbox2;
+ GtkWidget *cmd_label;
+ GtkWidget *cmd_text;
+ GtkWidget *opts_hbox3;
+ GtkWidget *enabled;
+ GtkWidget *visual;
+ GtkWidget *visual_combo;
+ GList *visual_combo_items = NULL;
+ GtkWidget *combo_entry1;
+ GtkWidget *demo_hline;
+ GtkWidget *demo_cancel_hbox;
+ GtkWidget *demo;
+ GtkWidget *apply;
+ GtkWidget *cancel;
+ GtkWidget *demo_tab;
+ GtkWidget *prefs_hbox;
+ GtkWidget *prefs_frame;
+ GtkWidget *prefs_table;
+ GtkWidget *timeout_text;
+ GtkWidget *cycle_text;
+ GtkWidget *fade_text;
+ GtkWidget *ticks_text;
+ GtkWidget *lock_text;
+ GtkWidget *pass_text;
+ GtkWidget *timeout_label;
+ GtkWidget *cycle_label;
+ GtkWidget *fade_label;
+ GtkWidget *ticks_label;
+ GtkWidget *lock_label;
+ GtkWidget *pass_label;
+ GtkWidget *verbose_button;
+ GtkWidget *install_button;
+ GtkWidget *fade_button;
+ GtkWidget *unfade_button;
+ GtkWidget *lock_button;
+ GtkWidget *hbuttonbox3;
+ GtkWidget *prefs_ok;
+ GtkWidget *prefs_cancel;
+ GtkWidget *prefs_tab;
+ GtkAccelGroup *accel_group;
+ GtkTooltips *tooltips;
+
+ tooltips = gtk_tooltips_new ();
+
+ accel_group = gtk_accel_group_new ();
+
+ xscreensaver_demo = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_name (xscreensaver_demo, "xscreensaver_demo");
+ gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "xscreensaver_demo", xscreensaver_demo);
+ gtk_window_set_title (GTK_WINDOW (xscreensaver_demo), "XScreenSaver");
+ gtk_window_set_default_size (GTK_WINDOW (xscreensaver_demo), 600, 400);
+ gtk_window_set_policy (GTK_WINDOW (xscreensaver_demo), TRUE, TRUE, FALSE);
+ gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_demo), "xscreensaver", "XScreenSaver");
+
+ outer_vbox = gtk_vbox_new (FALSE, 5);
+ gtk_widget_set_name (outer_vbox, "outer_vbox");
+ gtk_widget_ref (outer_vbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "outer_vbox", outer_vbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (outer_vbox);
+ gtk_container_add (GTK_CONTAINER (xscreensaver_demo), outer_vbox);
+
+ menubar = gtk_menu_bar_new ();
+ gtk_widget_set_name (menubar, "menubar");
+ gtk_widget_ref (menubar);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "menubar", menubar,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (menubar);
+ gtk_box_pack_start (GTK_BOX (outer_vbox), menubar, FALSE, FALSE, 0);
+
+ file = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file)->child),
+ "_File");
+ gtk_widget_add_accelerator (file, "activate_item", accel_group,
+ tmp_key, GDK_MOD1_MASK, 0);
+ gtk_widget_set_name (file, "file");
+ gtk_widget_ref (file);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file", file,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (file);
+ gtk_container_add (GTK_CONTAINER (menubar), file);
+
+ file_menu = gtk_menu_new ();
+ gtk_widget_set_name (file_menu, "file_menu");
+ gtk_widget_ref (file_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file_menu", file_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (file), file_menu);
+ file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu));
+
+ activate_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (activate_menu)->child),
+ "_Blank Screen Now");
+ gtk_widget_add_accelerator (activate_menu, "activate_item", file_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (activate_menu, "activate_menu");
+ gtk_widget_ref (activate_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "activate_menu", activate_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (activate_menu);
+ gtk_container_add (GTK_CONTAINER (file_menu), activate_menu);
+ gtk_tooltips_set_tip (tooltips, activate_menu, "Activate the XScreenSaver daemon now (locking the screen if so configured.)", NULL);
+
+ lock_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (lock_menu)->child),
+ "_Lock Screen Now");
+ gtk_widget_add_accelerator (lock_menu, "activate_item", file_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (lock_menu, "lock_menu");
+ gtk_widget_ref (lock_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_menu", lock_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (lock_menu);
+ gtk_container_add (GTK_CONTAINER (file_menu), lock_menu);
+ gtk_tooltips_set_tip (tooltips, lock_menu, "Lock the screen now (even if \"Require Password\" is unchecked.)", NULL);
+
+ kill_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (kill_menu)->child),
+ "_Kill Daemon");
+ gtk_widget_add_accelerator (kill_menu, "activate_item", file_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (kill_menu, "kill_menu");
+ gtk_widget_ref (kill_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "kill_menu", kill_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (kill_menu);
+ gtk_container_add (GTK_CONTAINER (file_menu), kill_menu);
+ gtk_tooltips_set_tip (tooltips, kill_menu, "Tell the running XScreenSaver daemon to exit.", NULL);
+
+ restart = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (restart)->child),
+ "_Restart Daemon");
+ gtk_widget_add_accelerator (restart, "activate_item", file_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (restart, "restart");
+ gtk_widget_ref (restart);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "restart", restart,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (restart);
+ gtk_container_add (GTK_CONTAINER (file_menu), restart);
+ gtk_tooltips_set_tip (tooltips, restart, "Kill and re-launch the XScreenSaver daemon.", NULL);
+
+ separator1 = gtk_menu_item_new ();
+ gtk_widget_set_name (separator1, "separator1");
+ gtk_widget_ref (separator1);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "separator1", separator1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (separator1);
+ gtk_container_add (GTK_CONTAINER (file_menu), separator1);
+ gtk_widget_set_sensitive (separator1, FALSE);
+
+ exit_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (exit_menu)->child),
+ "_Exit");
+ gtk_widget_add_accelerator (exit_menu, "activate_item", file_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (exit_menu, "exit_menu");
+ gtk_widget_ref (exit_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "exit_menu", exit_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (exit_menu);
+ gtk_container_add (GTK_CONTAINER (file_menu), exit_menu);
+ gtk_tooltips_set_tip (tooltips, exit_menu, "Exit the xscreensaver-demo program (but leave the XScreenSaver daemon running in the background.)", NULL);
+
+ edit = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (edit)->child),
+ "_Edit");
+ gtk_widget_add_accelerator (edit, "activate_item", accel_group,
+ tmp_key, GDK_MOD1_MASK, 0);
+ gtk_widget_set_name (edit, "edit");
+ gtk_widget_ref (edit);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "edit", edit,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (edit);
+ gtk_container_add (GTK_CONTAINER (menubar), edit);
+
+ edit_menu = gtk_menu_new ();
+ gtk_widget_set_name (edit_menu, "edit_menu");
+ gtk_widget_ref (edit_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "edit_menu", edit_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit), edit_menu);
+ edit_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (edit_menu));
+
+ cut_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (cut_menu)->child),
+ "C_ut");
+ gtk_widget_add_accelerator (cut_menu, "activate_item", edit_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (cut_menu, "cut_menu");
+ gtk_widget_ref (cut_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cut_menu", cut_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cut_menu);
+ gtk_container_add (GTK_CONTAINER (edit_menu), cut_menu);
+
+ copy_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (copy_menu)->child),
+ "_Copy");
+ gtk_widget_add_accelerator (copy_menu, "activate_item", edit_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (copy_menu, "copy_menu");
+ gtk_widget_ref (copy_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "copy_menu", copy_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (copy_menu);
+ gtk_container_add (GTK_CONTAINER (edit_menu), copy_menu);
+
+ paste_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (paste_menu)->child),
+ "_Paste");
+ gtk_widget_add_accelerator (paste_menu, "activate_item", edit_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (paste_menu, "paste_menu");
+ gtk_widget_ref (paste_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "paste_menu", paste_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (paste_menu);
+ gtk_container_add (GTK_CONTAINER (edit_menu), paste_menu);
+
+ help = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (help)->child),
+ "_Help");
+ gtk_widget_add_accelerator (help, "activate_item", accel_group,
+ tmp_key, GDK_MOD1_MASK, 0);
+ gtk_widget_set_name (help, "help");
+ gtk_widget_ref (help);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help", help,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (help);
+ gtk_container_add (GTK_CONTAINER (menubar), help);
+
+ help_menu = gtk_menu_new ();
+ gtk_widget_set_name (help_menu, "help_menu");
+ gtk_widget_ref (help_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help_menu", help_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (help), help_menu);
+ help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (help_menu));
+
+ about_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (about_menu)->child),
+ "_About...");
+ gtk_widget_add_accelerator (about_menu, "activate_item", help_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (about_menu, "about_menu");
+ gtk_widget_ref (about_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "about_menu", about_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (about_menu);
+ gtk_container_add (GTK_CONTAINER (help_menu), about_menu);
+ gtk_tooltips_set_tip (tooltips, about_menu, "Display version information.", NULL);
+
+ doc_menu = gtk_menu_item_new_with_label ("");
+ tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (doc_menu)->child),
+ "_Documentation...");
+ gtk_widget_add_accelerator (doc_menu, "activate_item", help_menu_accels,
+ tmp_key, 0, 0);
+ gtk_widget_set_name (doc_menu, "doc_menu");
+ gtk_widget_ref (doc_menu);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc_menu", doc_menu,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (doc_menu);
+ gtk_container_add (GTK_CONTAINER (help_menu), doc_menu);
+ gtk_tooltips_set_tip (tooltips, doc_menu, "Go to the documentation on the XScreenSaver web page.", NULL);
+
+ notebook = gtk_notebook_new ();
+ gtk_widget_set_name (notebook, "notebook");
+ gtk_widget_ref (notebook);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "notebook", notebook,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (notebook);
+ gtk_box_pack_start (GTK_BOX (outer_vbox), notebook, TRUE, TRUE, 0);
+
+ demos_hbox = gtk_hbox_new (FALSE, 5);
+ gtk_widget_set_name (demos_hbox, "demos_hbox");
+ gtk_widget_ref (demos_hbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demos_hbox", demos_hbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (demos_hbox);
+ gtk_container_add (GTK_CONTAINER (notebook), demos_hbox);
+
+ list_vbox = gtk_vbox_new (FALSE, 5);
+ gtk_widget_set_name (list_vbox, "list_vbox");
+ gtk_widget_ref (list_vbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list_vbox", list_vbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (list_vbox);
+ gtk_box_pack_start (GTK_BOX (demos_hbox), list_vbox, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (list_vbox), 10);
+
+ scroller = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scroller, "scroller");
+ gtk_widget_ref (scroller);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "scroller", scroller,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (scroller);
+ gtk_box_pack_start (GTK_BOX (list_vbox), scroller, TRUE, TRUE, 0);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
+
+ viewport = gtk_viewport_new (NULL, NULL);
+ gtk_widget_set_name (viewport, "viewport");
+ gtk_widget_ref (viewport);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "viewport", viewport,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (viewport);
+ gtk_container_add (GTK_CONTAINER (scroller), viewport);
+ gtk_container_set_border_width (GTK_CONTAINER (viewport), 1);
+
+ list = gtk_list_new ();
+ gtk_widget_set_name (list, "list");
+ gtk_widget_ref (list);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list", list,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (list);
+ gtk_container_add (GTK_CONTAINER (viewport), list);
+
+ centering_hbox = gtk_hbox_new (TRUE, 0);
+ gtk_widget_set_name (centering_hbox, "centering_hbox");
+ gtk_widget_ref (centering_hbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "centering_hbox", centering_hbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (centering_hbox);
+ gtk_box_pack_start (GTK_BOX (list_vbox), centering_hbox, FALSE, TRUE, 0);
+
+ next_prev_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (next_prev_hbox, "next_prev_hbox");
+ gtk_widget_ref (next_prev_hbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next_prev_hbox", next_prev_hbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (next_prev_hbox);
+ gtk_box_pack_start (GTK_BOX (centering_hbox), next_prev_hbox, FALSE, FALSE, 0);
+
+ next = gtk_button_new_with_label ("\\/");
+ gtk_widget_set_name (next, "next");
+ gtk_widget_ref (next);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next", next,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (next);
+ gtk_box_pack_start (GTK_BOX (next_prev_hbox), next, FALSE, FALSE, 0);
+ GTK_WIDGET_SET_FLAGS (next, GTK_CAN_DEFAULT);
+ gtk_tooltips_set_tip (tooltips, next, "Run the next demo in this list in full-screen mode (click the mouse to return.)", NULL);
+
+ prev = gtk_button_new_with_label ("/\\");
+ gtk_widget_set_name (prev, "prev");
+ gtk_widget_ref (prev);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prev", prev,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prev);
+ gtk_box_pack_start (GTK_BOX (next_prev_hbox), prev, FALSE, FALSE, 0);
+ GTK_WIDGET_SET_FLAGS (prev, GTK_CAN_DEFAULT);
+ gtk_tooltips_set_tip (tooltips, prev, "Run the previous demo in this list in full-screen mode (click the mouse to return.)", NULL);
+
+ opts_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (opts_vbox, "opts_vbox");
+ gtk_widget_ref (opts_vbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_vbox", opts_vbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (opts_vbox);
+ gtk_box_pack_start (GTK_BOX (demos_hbox), opts_vbox, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (opts_vbox), 10);
+
+ frame = gtk_frame_new (NULL);
+ gtk_widget_set_name (frame, "frame");
+ gtk_widget_ref (frame);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "frame", frame,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (frame);
+ gtk_box_pack_start (GTK_BOX (opts_vbox), frame, TRUE, TRUE, 0);
+
+ doc = gtk_label_new ("");
+ gtk_widget_set_name (doc, "doc");
+ gtk_widget_ref (doc);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc", doc,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (doc);
+ gtk_container_add (GTK_CONTAINER (frame), doc);
+ gtk_label_set_justify (GTK_LABEL (doc), GTK_JUSTIFY_LEFT);
+ gtk_label_set_line_wrap (GTK_LABEL (doc), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (doc), 0, 0);
+ gtk_misc_set_padding (GTK_MISC (doc), 10, 10);
+
+ opts_vbox2 = gtk_vbox_new (FALSE, 2);
+ gtk_widget_set_name (opts_vbox2, "opts_vbox2");
+ gtk_widget_ref (opts_vbox2);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_vbox2", opts_vbox2,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (opts_vbox2);
+ gtk_box_pack_start (GTK_BOX (opts_vbox), opts_vbox2, FALSE, TRUE, 0);
+
+ cmd_label = gtk_label_new ("Command Line:");
+ gtk_widget_set_name (cmd_label, "cmd_label");
+ gtk_widget_ref (cmd_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmd_label", cmd_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cmd_label);
+ gtk_box_pack_start (GTK_BOX (opts_vbox2), cmd_label, FALSE, FALSE, 0);
+ gtk_label_set_justify (GTK_LABEL (cmd_label), GTK_JUSTIFY_LEFT);
+ gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 1);
+ gtk_misc_set_padding (GTK_MISC (cmd_label), 0, 2);
+
+ cmd_text = gtk_entry_new ();
+ gtk_widget_set_name (cmd_text, "cmd_text");
+ gtk_widget_ref (cmd_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmd_text", cmd_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cmd_text);
+ gtk_box_pack_start (GTK_BOX (opts_vbox2), cmd_text, FALSE, TRUE, 0);
+
+ opts_hbox3 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (opts_hbox3, "opts_hbox3");
+ gtk_widget_ref (opts_hbox3);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_hbox3", opts_hbox3,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (opts_hbox3);
+ gtk_box_pack_start (GTK_BOX (opts_vbox2), opts_hbox3, FALSE, TRUE, 4);
+ gtk_container_set_border_width (GTK_CONTAINER (opts_hbox3), 4);
+
+ enabled = gtk_check_button_new_with_label ("Enabled");
+ gtk_widget_set_name (enabled, "enabled");
+ gtk_widget_ref (enabled);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "enabled", enabled,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (enabled);
+ gtk_box_pack_start (GTK_BOX (opts_hbox3), enabled, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enabled), TRUE);
+
+ visual = gtk_label_new ("Visual:");
+ gtk_widget_set_name (visual, "visual");
+ gtk_widget_ref (visual);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "visual", visual,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (visual);
+ gtk_box_pack_start (GTK_BOX (opts_hbox3), visual, FALSE, FALSE, 0);
+ gtk_label_set_justify (GTK_LABEL (visual), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (visual), 1, 0.5);
+ gtk_misc_set_padding (GTK_MISC (visual), 10, 0);
+
+ visual_combo = gtk_combo_new ();
+ gtk_widget_set_name (visual_combo, "visual_combo");
+ gtk_widget_ref (visual_combo);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "visual_combo", visual_combo,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (visual_combo);
+ gtk_box_pack_start (GTK_BOX (opts_hbox3), visual_combo, FALSE, FALSE, 0);
+ visual_combo_items = g_list_append (visual_combo_items, "Any");
+ visual_combo_items = g_list_append (visual_combo_items, "Best");
+ visual_combo_items = g_list_append (visual_combo_items, "Default");
+ visual_combo_items = g_list_append (visual_combo_items, "Default-N");
+ visual_combo_items = g_list_append (visual_combo_items, "GL");
+ visual_combo_items = g_list_append (visual_combo_items, "TrueColor");
+ visual_combo_items = g_list_append (visual_combo_items, "PseudoColor");
+ visual_combo_items = g_list_append (visual_combo_items, "StaticGray");
+ visual_combo_items = g_list_append (visual_combo_items, "GrayScale");
+ visual_combo_items = g_list_append (visual_combo_items, "DirectColor");
+ visual_combo_items = g_list_append (visual_combo_items, "Color");
+ visual_combo_items = g_list_append (visual_combo_items, "Gray");
+ visual_combo_items = g_list_append (visual_combo_items, "Mono");
+ gtk_combo_set_popdown_strings (GTK_COMBO (visual_combo), visual_combo_items);
+ g_list_free (visual_combo_items);
+
+ combo_entry1 = GTK_COMBO (visual_combo)->entry;
+ gtk_widget_set_name (combo_entry1, "combo_entry1");
+ gtk_widget_ref (combo_entry1);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "combo_entry1", combo_entry1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (combo_entry1);
+ gtk_tooltips_set_tip (tooltips, combo_entry1, "The X visual type that this demo will require. If that visual is available it will be used, otherwise, this demo will not be run.", NULL);
+ gtk_entry_set_text (GTK_ENTRY (combo_entry1), "Any");
+
+ demo_hline = gtk_hseparator_new ();
+ gtk_widget_set_name (demo_hline, "demo_hline");
+ gtk_widget_ref (demo_hline);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_hline", demo_hline,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (demo_hline);
+ gtk_box_pack_start (GTK_BOX (opts_vbox), demo_hline, FALSE, FALSE, 5);
+
+ demo_cancel_hbox = gtk_hbutton_box_new ();
+ gtk_widget_set_name (demo_cancel_hbox, "demo_cancel_hbox");
+ gtk_widget_ref (demo_cancel_hbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_cancel_hbox", demo_cancel_hbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (demo_cancel_hbox);
+ gtk_box_pack_start (GTK_BOX (opts_vbox), demo_cancel_hbox, FALSE, TRUE, 0);
+
+ demo = gtk_button_new_with_label ("Demo");
+ gtk_widget_set_name (demo, "demo");
+ gtk_widget_ref (demo);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo", demo,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (demo);
+ gtk_container_add (GTK_CONTAINER (demo_cancel_hbox), demo);
+ GTK_WIDGET_SET_FLAGS (demo, GTK_CAN_DEFAULT);
+ gtk_tooltips_set_tip (tooltips, demo, "Make any changes to this demo's parameters permanent, and run it in full-screen mode (click the mouse to return.)", NULL);
+
+ apply = gtk_button_new_with_label ("Apply");
+ gtk_widget_set_name (apply, "apply");
+ gtk_widget_ref (apply);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "apply", apply,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (apply);
+ gtk_container_add (GTK_CONTAINER (demo_cancel_hbox), apply);
+ GTK_WIDGET_SET_FLAGS (apply, GTK_CAN_DEFAULT);
+ gtk_tooltips_set_tip (tooltips, apply, "Make any changes to this demo's parameters permanent.", NULL);
+
+ cancel = gtk_button_new_with_label ("Cancel");
+ gtk_widget_set_name (cancel, "cancel");
+ gtk_widget_ref (cancel);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cancel", cancel,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cancel);
+ gtk_container_add (GTK_CONTAINER (demo_cancel_hbox), cancel);
+ GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
+ gtk_tooltips_set_tip (tooltips, cancel, "Discard any changes you have made to this demo's parameters.", NULL);
+
+ demo_tab = gtk_label_new ("Graphics Demos");
+ gtk_widget_set_name (demo_tab, "demo_tab");
+ gtk_widget_ref (demo_tab);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_tab", demo_tab,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (demo_tab);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), demo_tab);
+
+ prefs_hbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (prefs_hbox, "prefs_hbox");
+ gtk_widget_ref (prefs_hbox);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_hbox", prefs_hbox,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_hbox);
+ gtk_container_add (GTK_CONTAINER (notebook), prefs_hbox);
+
+ prefs_frame = gtk_frame_new (NULL);
+ gtk_widget_set_name (prefs_frame, "prefs_frame");
+ gtk_widget_ref (prefs_frame);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_frame", prefs_frame,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_frame);
+ gtk_box_pack_start (GTK_BOX (prefs_hbox), prefs_frame, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (prefs_frame), 10);
+
+ prefs_table = gtk_table_new (6, 3, FALSE);
+ gtk_widget_set_name (prefs_table, "prefs_table");
+ gtk_widget_ref (prefs_table);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_table", prefs_table,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_table);
+ gtk_container_add (GTK_CONTAINER (prefs_frame), prefs_table);
+ gtk_container_set_border_width (GTK_CONTAINER (prefs_table), 10);
+ gtk_table_set_row_spacings (GTK_TABLE (prefs_table), 2);
+ gtk_table_set_col_spacings (GTK_TABLE (prefs_table), 10);
+
+ timeout_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (timeout_text, "timeout_text");
+ gtk_widget_ref (timeout_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_text", timeout_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (timeout_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), timeout_text, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, timeout_text, "How long until the screensaver activates.", NULL);
+
+ cycle_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (cycle_text, "cycle_text");
+ gtk_widget_ref (cycle_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_text", cycle_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cycle_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), cycle_text, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, cycle_text, "How long each demo will be run before moving on to another.", NULL);
+
+ fade_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (fade_text, "fade_text");
+ gtk_widget_ref (fade_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_text", fade_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (fade_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), fade_text, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, fade_text, "How long (in seconds) it should take for the screen to fade to black (8-bit displays only.)", NULL);
+
+ ticks_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (ticks_text, "ticks_text");
+ gtk_widget_ref (ticks_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_text", ticks_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (ticks_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), ticks_text, 1, 2, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, ticks_text, "How many steps are in the fade animation (8-bit displays only.)", NULL);
+
+ lock_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (lock_text, "lock_text");
+ gtk_widget_ref (lock_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_text", lock_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (lock_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), lock_text, 1, 2, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, lock_text, "How long after the screensaver has activated until a password will be required (if `Require Password' is also set.)", NULL);
+
+ pass_text = gtk_entry_new_with_max_length (8);
+ gtk_widget_set_name (pass_text, "pass_text");
+ gtk_widget_ref (pass_text);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_text", pass_text,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (pass_text);
+ gtk_table_attach (GTK_TABLE (prefs_table), pass_text, 1, 2, 5, 6,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, pass_text, "How long the password dialog will wait.", NULL);
+
+ timeout_label = gtk_label_new ("Saver Timeout:");
+ gtk_widget_set_name (timeout_label, "timeout_label");
+ gtk_widget_ref (timeout_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_label", timeout_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (timeout_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), timeout_label, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (timeout_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (timeout_label), 1, 0.5);
+
+ cycle_label = gtk_label_new ("Cycle Timeout:");
+ gtk_widget_set_name (cycle_label, "cycle_label");
+ gtk_widget_ref (cycle_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_label", cycle_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (cycle_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), cycle_label, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (cycle_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (cycle_label), 1, 0.5);
+
+ fade_label = gtk_label_new ("Fade Duration:");
+ gtk_widget_set_name (fade_label, "fade_label");
+ gtk_widget_ref (fade_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_label", fade_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (fade_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), fade_label, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (fade_label), 1, 0.5);
+
+ ticks_label = gtk_label_new ("Fade Ticks:");
+ gtk_widget_set_name (ticks_label, "ticks_label");
+ gtk_widget_ref (ticks_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_label", ticks_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (ticks_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), ticks_label, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (ticks_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (ticks_label), 1, 0.5);
+
+ lock_label = gtk_label_new ("Lock Timeout:");
+ gtk_widget_set_name (lock_label, "lock_label");
+ gtk_widget_ref (lock_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_label", lock_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (lock_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), lock_label, 0, 1, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (lock_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (lock_label), 1, 0.5);
+
+ pass_label = gtk_label_new ("Password Timeout:");
+ gtk_widget_set_name (pass_label, "pass_label");
+ gtk_widget_ref (pass_label);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_label", pass_label,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (pass_label);
+ gtk_table_attach (GTK_TABLE (prefs_table), pass_label, 0, 1, 5, 6,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_justify (GTK_LABEL (pass_label), GTK_JUSTIFY_RIGHT);
+ gtk_misc_set_alignment (GTK_MISC (pass_label), 1, 0.5);
+
+ verbose_button = gtk_check_button_new_with_label ("Verbose");
+ gtk_widget_set_name (verbose_button, "verbose_button");
+ gtk_widget_ref (verbose_button);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button", verbose_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (verbose_button);
+ gtk_table_attach (GTK_TABLE (prefs_table), verbose_button, 2, 3, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 10, 0);
+
+ install_button = gtk_check_button_new_with_label ("Install Colormap");
+ gtk_widget_set_name (install_button, "install_button");
+ gtk_widget_ref (install_button);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button", install_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (install_button);
+ gtk_table_attach (GTK_TABLE (prefs_table), install_button, 2, 3, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 10, 0);
+
+ fade_button = gtk_check_button_new_with_label ("Fade Colormap");
+ gtk_widget_set_name (fade_button, "fade_button");
+ gtk_widget_ref (fade_button);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button", fade_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (fade_button);
+ gtk_table_attach (GTK_TABLE (prefs_table), fade_button, 2, 3, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 10, 0);
+
+ unfade_button = gtk_check_button_new_with_label ("Unfade Colormap");
+ gtk_widget_set_name (unfade_button, "unfade_button");
+ gtk_widget_ref (unfade_button);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button", unfade_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (unfade_button);
+ gtk_table_attach (GTK_TABLE (prefs_table), unfade_button, 2, 3, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 10, 0);
+
+ lock_button = gtk_check_button_new_with_label ("Require Password");
+ gtk_widget_set_name (lock_button, "lock_button");
+ gtk_widget_ref (lock_button);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button", lock_button,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (lock_button);
+ gtk_table_attach (GTK_TABLE (prefs_table), lock_button, 2, 3, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 10, 0);
+
+ hbuttonbox3 = gtk_hbutton_box_new ();
+ gtk_widget_set_name (hbuttonbox3, "hbuttonbox3");
+ gtk_widget_ref (hbuttonbox3);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "hbuttonbox3", hbuttonbox3,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (hbuttonbox3);
+ gtk_box_pack_start (GTK_BOX (prefs_hbox), hbuttonbox3, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 10);
+
+ prefs_ok = gtk_button_new_with_label ("OK");
+ gtk_widget_set_name (prefs_ok, "prefs_ok");
+ gtk_widget_ref (prefs_ok);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_ok", prefs_ok,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_ok);
+ gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_ok);
+ GTK_WIDGET_SET_FLAGS (prefs_ok, GTK_CAN_DEFAULT);
+
+ prefs_cancel = gtk_button_new_with_label ("Cancel");
+ gtk_widget_set_name (prefs_cancel, "prefs_cancel");
+ gtk_widget_ref (prefs_cancel);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_cancel", prefs_cancel,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_cancel);
+ gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_cancel);
+ GTK_WIDGET_SET_FLAGS (prefs_cancel, GTK_CAN_DEFAULT);
+
+ prefs_tab = gtk_label_new ("Screensaver Options");
+ gtk_widget_set_name (prefs_tab, "prefs_tab");
+ gtk_widget_ref (prefs_tab);
+ gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_tab", prefs_tab,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (prefs_tab);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), prefs_tab);
+
+ gtk_signal_connect (GTK_OBJECT (activate_menu), "activate",
+ GTK_SIGNAL_FUNC (activate_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (lock_menu), "activate",
+ GTK_SIGNAL_FUNC (lock_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (kill_menu), "activate",
+ GTK_SIGNAL_FUNC (kill_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (restart), "activate",
+ GTK_SIGNAL_FUNC (restart_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (exit_menu), "activate",
+ GTK_SIGNAL_FUNC (exit_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (cut_menu), "activate",
+ GTK_SIGNAL_FUNC (cut_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (copy_menu), "activate",
+ GTK_SIGNAL_FUNC (copy_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (paste_menu), "activate",
+ GTK_SIGNAL_FUNC (paste_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (about_menu), "activate",
+ GTK_SIGNAL_FUNC (about_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (doc_menu), "activate",
+ GTK_SIGNAL_FUNC (doc_menu_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (next), "clicked",
+ GTK_SIGNAL_FUNC (run_next_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (prev), "clicked",
+ GTK_SIGNAL_FUNC (run_prev_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (demo), "clicked",
+ GTK_SIGNAL_FUNC (run_this_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (apply), "clicked",
+ GTK_SIGNAL_FUNC (apply_this_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (cancel), "clicked",
+ GTK_SIGNAL_FUNC (cancel_this_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (prefs_ok), "clicked",
+ GTK_SIGNAL_FUNC (prefs_ok_cb),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (prefs_cancel), "clicked",
+ GTK_SIGNAL_FUNC (prefs_cancel_cb),
+ NULL);
+
+ gtk_widget_grab_default (next);
+ gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "tooltips", tooltips);
+
+ gtk_window_add_accel_group (GTK_WINDOW (xscreensaver_demo), accel_group);
+
+ return xscreensaver_demo;
+}
+