2 * DO NOT EDIT THIS FILE - it is generated by Glade.
14 #include <gdk/gdkkeysyms.h>
17 #include "demo-Gtk-stubs.h"
18 #include "demo-Gtk-widgets.h"
21 create_xscreensaver_demo (void)
23 GtkWidget *xscreensaver_demo;
24 GtkWidget *outer_vbox;
29 GtkAccelGroup *file_menu_accels;
30 GtkWidget *activate_menu;
34 GtkWidget *separator1;
38 GtkAccelGroup *edit_menu_accels;
41 GtkWidget *paste_menu;
44 GtkAccelGroup *help_menu_accels;
45 GtkWidget *about_menu;
48 GtkWidget *demos_hbox;
53 GtkWidget *centering_hbox;
54 GtkWidget *next_prev_hbox;
60 GtkWidget *opts_vbox2;
63 GtkWidget *opts_hbox3;
66 GtkWidget *visual_combo;
67 GList *visual_combo_items = NULL;
68 GtkWidget *combo_entry1;
69 GtkWidget *demo_hline;
70 GtkWidget *demo_manual_hbox;
74 GtkWidget *prefs_hbox;
75 GtkWidget *prefs_frame;
76 GtkWidget *prefs_table;
77 GtkWidget *timeout_text;
78 GtkWidget *cycle_text;
80 GtkWidget *ticks_text;
83 GtkWidget *timeout_label;
84 GtkWidget *cycle_label;
85 GtkWidget *fade_label;
86 GtkWidget *ticks_label;
87 GtkWidget *lock_label;
88 GtkWidget *pass_label;
89 GtkWidget *verbose_button;
90 GtkWidget *install_button;
91 GtkWidget *fade_button;
92 GtkWidget *unfade_button;
93 GtkWidget *lock_button;
95 GtkAccelGroup *accel_group;
96 GtkTooltips *tooltips;
98 tooltips = gtk_tooltips_new ();
100 accel_group = gtk_accel_group_new ();
102 xscreensaver_demo = gtk_window_new (GTK_WINDOW_TOPLEVEL);
103 gtk_widget_set_name (xscreensaver_demo, "xscreensaver_demo");
104 gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "xscreensaver_demo", xscreensaver_demo);
105 gtk_window_set_title (GTK_WINDOW (xscreensaver_demo), "XScreenSaver");
106 gtk_window_set_default_size (GTK_WINDOW (xscreensaver_demo), 600, 400);
107 gtk_window_set_policy (GTK_WINDOW (xscreensaver_demo), TRUE, TRUE, FALSE);
108 gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_demo), "xscreensaver", "XScreenSaver");
110 outer_vbox = gtk_vbox_new (FALSE, 5);
111 gtk_widget_set_name (outer_vbox, "outer_vbox");
112 gtk_widget_ref (outer_vbox);
113 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "outer_vbox", outer_vbox,
114 (GtkDestroyNotify) gtk_widget_unref);
115 gtk_widget_show (outer_vbox);
116 gtk_container_add (GTK_CONTAINER (xscreensaver_demo), outer_vbox);
118 menubar = gtk_menu_bar_new ();
119 gtk_widget_set_name (menubar, "menubar");
120 gtk_widget_ref (menubar);
121 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "menubar", menubar,
122 (GtkDestroyNotify) gtk_widget_unref);
123 gtk_widget_show (menubar);
124 gtk_box_pack_start (GTK_BOX (outer_vbox), menubar, FALSE, FALSE, 0);
126 file = gtk_menu_item_new_with_label ("");
127 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file)->child),
129 gtk_widget_add_accelerator (file, "activate_item", accel_group,
130 tmp_key, GDK_MOD1_MASK, 0);
131 gtk_widget_set_name (file, "file");
132 gtk_widget_ref (file);
133 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file", file,
134 (GtkDestroyNotify) gtk_widget_unref);
135 gtk_widget_show (file);
136 gtk_container_add (GTK_CONTAINER (menubar), file);
138 file_menu = gtk_menu_new ();
139 gtk_widget_set_name (file_menu, "file_menu");
140 gtk_widget_ref (file_menu);
141 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file_menu", file_menu,
142 (GtkDestroyNotify) gtk_widget_unref);
143 gtk_menu_item_set_submenu (GTK_MENU_ITEM (file), file_menu);
144 file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu));
146 activate_menu = gtk_menu_item_new_with_label ("");
147 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (activate_menu)->child),
148 "_Blank Screen Now");
149 gtk_widget_add_accelerator (activate_menu, "activate_item", file_menu_accels,
151 gtk_widget_set_name (activate_menu, "activate_menu");
152 gtk_widget_ref (activate_menu);
153 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "activate_menu", activate_menu,
154 (GtkDestroyNotify) gtk_widget_unref);
155 gtk_widget_show (activate_menu);
156 gtk_container_add (GTK_CONTAINER (file_menu), activate_menu);
157 gtk_tooltips_set_tip (tooltips, activate_menu, "Activate the XScreenSaver daemon now (locking the screen if so configured.)", NULL);
159 lock_menu = gtk_menu_item_new_with_label ("");
160 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (lock_menu)->child),
162 gtk_widget_add_accelerator (lock_menu, "activate_item", file_menu_accels,
164 gtk_widget_set_name (lock_menu, "lock_menu");
165 gtk_widget_ref (lock_menu);
166 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_menu", lock_menu,
167 (GtkDestroyNotify) gtk_widget_unref);
168 gtk_widget_show (lock_menu);
169 gtk_container_add (GTK_CONTAINER (file_menu), lock_menu);
170 gtk_tooltips_set_tip (tooltips, lock_menu, "Lock the screen now (even if \"Require Password\" is unchecked.)", NULL);
172 kill_menu = gtk_menu_item_new_with_label ("");
173 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (kill_menu)->child),
175 gtk_widget_add_accelerator (kill_menu, "activate_item", file_menu_accels,
177 gtk_widget_set_name (kill_menu, "kill_menu");
178 gtk_widget_ref (kill_menu);
179 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "kill_menu", kill_menu,
180 (GtkDestroyNotify) gtk_widget_unref);
181 gtk_widget_show (kill_menu);
182 gtk_container_add (GTK_CONTAINER (file_menu), kill_menu);
183 gtk_tooltips_set_tip (tooltips, kill_menu, "Tell the running XScreenSaver daemon to exit.", NULL);
185 restart = gtk_menu_item_new_with_label ("");
186 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (restart)->child),
188 gtk_widget_add_accelerator (restart, "activate_item", file_menu_accels,
190 gtk_widget_set_name (restart, "restart");
191 gtk_widget_ref (restart);
192 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "restart", restart,
193 (GtkDestroyNotify) gtk_widget_unref);
194 gtk_widget_show (restart);
195 gtk_container_add (GTK_CONTAINER (file_menu), restart);
196 gtk_tooltips_set_tip (tooltips, restart, "Kill and re-launch the XScreenSaver daemon.", NULL);
198 separator1 = gtk_menu_item_new ();
199 gtk_widget_set_name (separator1, "separator1");
200 gtk_widget_ref (separator1);
201 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "separator1", separator1,
202 (GtkDestroyNotify) gtk_widget_unref);
203 gtk_widget_show (separator1);
204 gtk_container_add (GTK_CONTAINER (file_menu), separator1);
205 gtk_widget_set_sensitive (separator1, FALSE);
207 exit_menu = gtk_menu_item_new_with_label ("");
208 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (exit_menu)->child),
210 gtk_widget_add_accelerator (exit_menu, "activate_item", file_menu_accels,
212 gtk_widget_set_name (exit_menu, "exit_menu");
213 gtk_widget_ref (exit_menu);
214 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "exit_menu", exit_menu,
215 (GtkDestroyNotify) gtk_widget_unref);
216 gtk_widget_show (exit_menu);
217 gtk_container_add (GTK_CONTAINER (file_menu), exit_menu);
218 gtk_tooltips_set_tip (tooltips, exit_menu, "Exit the xscreensaver-demo program (but leave the XScreenSaver daemon running in the background.)", NULL);
220 edit = gtk_menu_item_new_with_label ("");
221 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (edit)->child),
223 gtk_widget_add_accelerator (edit, "activate_item", accel_group,
224 tmp_key, GDK_MOD1_MASK, 0);
225 gtk_widget_set_name (edit, "edit");
226 gtk_widget_ref (edit);
227 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "edit", edit,
228 (GtkDestroyNotify) gtk_widget_unref);
229 gtk_widget_show (edit);
230 gtk_container_add (GTK_CONTAINER (menubar), edit);
232 edit_menu = gtk_menu_new ();
233 gtk_widget_set_name (edit_menu, "edit_menu");
234 gtk_widget_ref (edit_menu);
235 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "edit_menu", edit_menu,
236 (GtkDestroyNotify) gtk_widget_unref);
237 gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit), edit_menu);
238 edit_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (edit_menu));
240 cut_menu = gtk_menu_item_new_with_label ("");
241 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (cut_menu)->child),
243 gtk_widget_add_accelerator (cut_menu, "activate_item", edit_menu_accels,
245 gtk_widget_set_name (cut_menu, "cut_menu");
246 gtk_widget_ref (cut_menu);
247 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cut_menu", cut_menu,
248 (GtkDestroyNotify) gtk_widget_unref);
249 gtk_widget_show (cut_menu);
250 gtk_container_add (GTK_CONTAINER (edit_menu), cut_menu);
252 copy_menu = gtk_menu_item_new_with_label ("");
253 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (copy_menu)->child),
255 gtk_widget_add_accelerator (copy_menu, "activate_item", edit_menu_accels,
257 gtk_widget_set_name (copy_menu, "copy_menu");
258 gtk_widget_ref (copy_menu);
259 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "copy_menu", copy_menu,
260 (GtkDestroyNotify) gtk_widget_unref);
261 gtk_widget_show (copy_menu);
262 gtk_container_add (GTK_CONTAINER (edit_menu), copy_menu);
264 paste_menu = gtk_menu_item_new_with_label ("");
265 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (paste_menu)->child),
267 gtk_widget_add_accelerator (paste_menu, "activate_item", edit_menu_accels,
269 gtk_widget_set_name (paste_menu, "paste_menu");
270 gtk_widget_ref (paste_menu);
271 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "paste_menu", paste_menu,
272 (GtkDestroyNotify) gtk_widget_unref);
273 gtk_widget_show (paste_menu);
274 gtk_container_add (GTK_CONTAINER (edit_menu), paste_menu);
276 help = gtk_menu_item_new_with_label ("");
277 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (help)->child),
279 gtk_widget_add_accelerator (help, "activate_item", accel_group,
280 tmp_key, GDK_MOD1_MASK, 0);
281 gtk_widget_set_name (help, "help");
282 gtk_widget_ref (help);
283 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help", help,
284 (GtkDestroyNotify) gtk_widget_unref);
285 gtk_widget_show (help);
286 gtk_container_add (GTK_CONTAINER (menubar), help);
288 help_menu = gtk_menu_new ();
289 gtk_widget_set_name (help_menu, "help_menu");
290 gtk_widget_ref (help_menu);
291 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help_menu", help_menu,
292 (GtkDestroyNotify) gtk_widget_unref);
293 gtk_menu_item_set_submenu (GTK_MENU_ITEM (help), help_menu);
294 help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (help_menu));
296 about_menu = gtk_menu_item_new_with_label ("");
297 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (about_menu)->child),
299 gtk_widget_add_accelerator (about_menu, "activate_item", help_menu_accels,
301 gtk_widget_set_name (about_menu, "about_menu");
302 gtk_widget_ref (about_menu);
303 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "about_menu", about_menu,
304 (GtkDestroyNotify) gtk_widget_unref);
305 gtk_widget_show (about_menu);
306 gtk_container_add (GTK_CONTAINER (help_menu), about_menu);
307 gtk_tooltips_set_tip (tooltips, about_menu, "Display version information.", NULL);
309 doc_menu = gtk_menu_item_new_with_label ("");
310 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (doc_menu)->child),
311 "_Documentation...");
312 gtk_widget_add_accelerator (doc_menu, "activate_item", help_menu_accels,
314 gtk_widget_set_name (doc_menu, "doc_menu");
315 gtk_widget_ref (doc_menu);
316 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc_menu", doc_menu,
317 (GtkDestroyNotify) gtk_widget_unref);
318 gtk_widget_show (doc_menu);
319 gtk_container_add (GTK_CONTAINER (help_menu), doc_menu);
320 gtk_tooltips_set_tip (tooltips, doc_menu, "Go to the documentation on the XScreenSaver web page.", NULL);
322 notebook = gtk_notebook_new ();
323 gtk_widget_set_name (notebook, "notebook");
324 gtk_widget_ref (notebook);
325 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "notebook", notebook,
326 (GtkDestroyNotify) gtk_widget_unref);
327 gtk_widget_show (notebook);
328 gtk_box_pack_start (GTK_BOX (outer_vbox), notebook, TRUE, TRUE, 0);
330 demos_hbox = gtk_hbox_new (FALSE, 5);
331 gtk_widget_set_name (demos_hbox, "demos_hbox");
332 gtk_widget_ref (demos_hbox);
333 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demos_hbox", demos_hbox,
334 (GtkDestroyNotify) gtk_widget_unref);
335 gtk_widget_show (demos_hbox);
336 gtk_container_add (GTK_CONTAINER (notebook), demos_hbox);
338 list_vbox = gtk_vbox_new (FALSE, 5);
339 gtk_widget_set_name (list_vbox, "list_vbox");
340 gtk_widget_ref (list_vbox);
341 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list_vbox", list_vbox,
342 (GtkDestroyNotify) gtk_widget_unref);
343 gtk_widget_show (list_vbox);
344 gtk_box_pack_start (GTK_BOX (demos_hbox), list_vbox, FALSE, FALSE, 0);
345 gtk_container_set_border_width (GTK_CONTAINER (list_vbox), 10);
347 scroller = gtk_scrolled_window_new (NULL, NULL);
348 gtk_widget_set_name (scroller, "scroller");
349 gtk_widget_ref (scroller);
350 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "scroller", scroller,
351 (GtkDestroyNotify) gtk_widget_unref);
352 gtk_widget_show (scroller);
353 gtk_box_pack_start (GTK_BOX (list_vbox), scroller, TRUE, TRUE, 0);
354 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
356 viewport = gtk_viewport_new (NULL, NULL);
357 gtk_widget_set_name (viewport, "viewport");
358 gtk_widget_ref (viewport);
359 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "viewport", viewport,
360 (GtkDestroyNotify) gtk_widget_unref);
361 gtk_widget_show (viewport);
362 gtk_container_add (GTK_CONTAINER (scroller), viewport);
363 gtk_container_set_border_width (GTK_CONTAINER (viewport), 1);
365 list = gtk_list_new ();
366 gtk_widget_set_name (list, "list");
367 gtk_widget_ref (list);
368 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list", list,
369 (GtkDestroyNotify) gtk_widget_unref);
370 gtk_widget_show (list);
371 gtk_container_add (GTK_CONTAINER (viewport), list);
373 centering_hbox = gtk_hbox_new (TRUE, 0);
374 gtk_widget_set_name (centering_hbox, "centering_hbox");
375 gtk_widget_ref (centering_hbox);
376 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "centering_hbox", centering_hbox,
377 (GtkDestroyNotify) gtk_widget_unref);
378 gtk_widget_show (centering_hbox);
379 gtk_box_pack_start (GTK_BOX (list_vbox), centering_hbox, FALSE, TRUE, 0);
381 next_prev_hbox = gtk_hbox_new (FALSE, 0);
382 gtk_widget_set_name (next_prev_hbox, "next_prev_hbox");
383 gtk_widget_ref (next_prev_hbox);
384 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next_prev_hbox", next_prev_hbox,
385 (GtkDestroyNotify) gtk_widget_unref);
386 gtk_widget_show (next_prev_hbox);
387 gtk_box_pack_start (GTK_BOX (centering_hbox), next_prev_hbox, FALSE, FALSE, 0);
389 next = gtk_button_new_with_label ("\\/");
390 gtk_widget_set_name (next, "next");
391 gtk_widget_ref (next);
392 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next", next,
393 (GtkDestroyNotify) gtk_widget_unref);
394 gtk_widget_show (next);
395 gtk_box_pack_start (GTK_BOX (next_prev_hbox), next, FALSE, FALSE, 0);
396 GTK_WIDGET_SET_FLAGS (next, GTK_CAN_DEFAULT);
397 gtk_tooltips_set_tip (tooltips, next, "Run the next demo in this list in full-screen mode (click the mouse to return.)", NULL);
399 prev = gtk_button_new_with_label ("/\\");
400 gtk_widget_set_name (prev, "prev");
401 gtk_widget_ref (prev);
402 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prev", prev,
403 (GtkDestroyNotify) gtk_widget_unref);
404 gtk_widget_show (prev);
405 gtk_box_pack_start (GTK_BOX (next_prev_hbox), prev, FALSE, FALSE, 0);
406 GTK_WIDGET_SET_FLAGS (prev, GTK_CAN_DEFAULT);
407 gtk_tooltips_set_tip (tooltips, prev, "Run the previous demo in this list in full-screen mode (click the mouse to return.)", NULL);
409 opts_vbox = gtk_vbox_new (FALSE, 0);
410 gtk_widget_set_name (opts_vbox, "opts_vbox");
411 gtk_widget_ref (opts_vbox);
412 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_vbox", opts_vbox,
413 (GtkDestroyNotify) gtk_widget_unref);
414 gtk_widget_show (opts_vbox);
415 gtk_box_pack_start (GTK_BOX (demos_hbox), opts_vbox, TRUE, TRUE, 0);
416 gtk_container_set_border_width (GTK_CONTAINER (opts_vbox), 10);
418 frame = gtk_frame_new (NULL);
419 gtk_widget_set_name (frame, "frame");
420 gtk_widget_ref (frame);
421 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "frame", frame,
422 (GtkDestroyNotify) gtk_widget_unref);
423 gtk_widget_show (frame);
424 gtk_box_pack_start (GTK_BOX (opts_vbox), frame, TRUE, TRUE, 0);
426 doc = gtk_label_new ("");
427 gtk_widget_set_name (doc, "doc");
428 gtk_widget_ref (doc);
429 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc", doc,
430 (GtkDestroyNotify) gtk_widget_unref);
431 gtk_widget_show (doc);
432 gtk_container_add (GTK_CONTAINER (frame), doc);
433 gtk_label_set_justify (GTK_LABEL (doc), GTK_JUSTIFY_LEFT);
434 gtk_label_set_line_wrap (GTK_LABEL (doc), TRUE);
435 gtk_misc_set_alignment (GTK_MISC (doc), 0, 0);
436 gtk_misc_set_padding (GTK_MISC (doc), 10, 10);
438 opts_vbox2 = gtk_vbox_new (FALSE, 2);
439 gtk_widget_set_name (opts_vbox2, "opts_vbox2");
440 gtk_widget_ref (opts_vbox2);
441 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_vbox2", opts_vbox2,
442 (GtkDestroyNotify) gtk_widget_unref);
443 gtk_widget_show (opts_vbox2);
444 gtk_box_pack_start (GTK_BOX (opts_vbox), opts_vbox2, FALSE, TRUE, 0);
446 cmd_label = gtk_label_new ("Command Line:");
447 gtk_widget_set_name (cmd_label, "cmd_label");
448 gtk_widget_ref (cmd_label);
449 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmd_label", cmd_label,
450 (GtkDestroyNotify) gtk_widget_unref);
451 gtk_widget_show (cmd_label);
452 gtk_box_pack_start (GTK_BOX (opts_vbox2), cmd_label, FALSE, FALSE, 0);
453 gtk_label_set_justify (GTK_LABEL (cmd_label), GTK_JUSTIFY_LEFT);
454 gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 1);
455 gtk_misc_set_padding (GTK_MISC (cmd_label), 0, 2);
457 cmd_text = gtk_entry_new ();
458 gtk_widget_set_name (cmd_text, "cmd_text");
459 gtk_widget_ref (cmd_text);
460 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmd_text", cmd_text,
461 (GtkDestroyNotify) gtk_widget_unref);
462 gtk_widget_show (cmd_text);
463 gtk_box_pack_start (GTK_BOX (opts_vbox2), cmd_text, FALSE, TRUE, 0);
465 opts_hbox3 = gtk_hbox_new (FALSE, 0);
466 gtk_widget_set_name (opts_hbox3, "opts_hbox3");
467 gtk_widget_ref (opts_hbox3);
468 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "opts_hbox3", opts_hbox3,
469 (GtkDestroyNotify) gtk_widget_unref);
470 gtk_widget_show (opts_hbox3);
471 gtk_box_pack_start (GTK_BOX (opts_vbox2), opts_hbox3, FALSE, TRUE, 4);
472 gtk_container_set_border_width (GTK_CONTAINER (opts_hbox3), 4);
474 enabled = gtk_check_button_new_with_label ("Enabled");
475 gtk_widget_set_name (enabled, "enabled");
476 gtk_widget_ref (enabled);
477 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "enabled", enabled,
478 (GtkDestroyNotify) gtk_widget_unref);
479 gtk_widget_show (enabled);
480 gtk_box_pack_start (GTK_BOX (opts_hbox3), enabled, FALSE, FALSE, 0);
481 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enabled), TRUE);
483 visual = gtk_label_new ("Visual:");
484 gtk_widget_set_name (visual, "visual");
485 gtk_widget_ref (visual);
486 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "visual", visual,
487 (GtkDestroyNotify) gtk_widget_unref);
488 gtk_widget_show (visual);
489 gtk_box_pack_start (GTK_BOX (opts_hbox3), visual, FALSE, FALSE, 0);
490 gtk_label_set_justify (GTK_LABEL (visual), GTK_JUSTIFY_RIGHT);
491 gtk_misc_set_alignment (GTK_MISC (visual), 1, 0.5);
492 gtk_misc_set_padding (GTK_MISC (visual), 10, 0);
494 visual_combo = gtk_combo_new ();
495 gtk_widget_set_name (visual_combo, "visual_combo");
496 gtk_widget_ref (visual_combo);
497 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "visual_combo", visual_combo,
498 (GtkDestroyNotify) gtk_widget_unref);
499 gtk_widget_show (visual_combo);
500 gtk_box_pack_start (GTK_BOX (opts_hbox3), visual_combo, FALSE, FALSE, 0);
501 visual_combo_items = g_list_append (visual_combo_items, "Any");
502 visual_combo_items = g_list_append (visual_combo_items, "Best");
503 visual_combo_items = g_list_append (visual_combo_items, "Default");
504 visual_combo_items = g_list_append (visual_combo_items, "Default-N");
505 visual_combo_items = g_list_append (visual_combo_items, "GL");
506 visual_combo_items = g_list_append (visual_combo_items, "TrueColor");
507 visual_combo_items = g_list_append (visual_combo_items, "PseudoColor");
508 visual_combo_items = g_list_append (visual_combo_items, "StaticGray");
509 visual_combo_items = g_list_append (visual_combo_items, "GrayScale");
510 visual_combo_items = g_list_append (visual_combo_items, "DirectColor");
511 visual_combo_items = g_list_append (visual_combo_items, "Color");
512 visual_combo_items = g_list_append (visual_combo_items, "Gray");
513 visual_combo_items = g_list_append (visual_combo_items, "Mono");
514 gtk_combo_set_popdown_strings (GTK_COMBO (visual_combo), visual_combo_items);
515 g_list_free (visual_combo_items);
517 combo_entry1 = GTK_COMBO (visual_combo)->entry;
518 gtk_widget_set_name (combo_entry1, "combo_entry1");
519 gtk_widget_ref (combo_entry1);
520 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "combo_entry1", combo_entry1,
521 (GtkDestroyNotify) gtk_widget_unref);
522 gtk_widget_show (combo_entry1);
523 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);
524 gtk_entry_set_text (GTK_ENTRY (combo_entry1), "Any");
526 demo_hline = gtk_hseparator_new ();
527 gtk_widget_set_name (demo_hline, "demo_hline");
528 gtk_widget_ref (demo_hline);
529 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_hline", demo_hline,
530 (GtkDestroyNotify) gtk_widget_unref);
531 gtk_widget_show (demo_hline);
532 gtk_box_pack_start (GTK_BOX (opts_vbox), demo_hline, FALSE, FALSE, 5);
534 demo_manual_hbox = gtk_hbutton_box_new ();
535 gtk_widget_set_name (demo_manual_hbox, "demo_manual_hbox");
536 gtk_widget_ref (demo_manual_hbox);
537 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_manual_hbox", demo_manual_hbox,
538 (GtkDestroyNotify) gtk_widget_unref);
539 gtk_widget_show (demo_manual_hbox);
540 gtk_box_pack_start (GTK_BOX (opts_vbox), demo_manual_hbox, FALSE, TRUE, 0);
542 demo = gtk_button_new_with_label ("Demo");
543 gtk_widget_set_name (demo, "demo");
544 gtk_widget_ref (demo);
545 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo", demo,
546 (GtkDestroyNotify) gtk_widget_unref);
547 gtk_widget_show (demo);
548 gtk_container_add (GTK_CONTAINER (demo_manual_hbox), demo);
549 GTK_WIDGET_SET_FLAGS (demo, GTK_CAN_DEFAULT);
550 gtk_tooltips_set_tip (tooltips, demo, "Run this one in full-screen mode (click the mouse to return.)", NULL);
552 manual = gtk_button_new_with_label ("Documentation...");
553 gtk_widget_set_name (manual, "manual");
554 gtk_widget_ref (manual);
555 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "manual", manual,
556 (GtkDestroyNotify) gtk_widget_unref);
557 gtk_widget_show (manual);
558 gtk_container_add (GTK_CONTAINER (demo_manual_hbox), manual);
559 GTK_WIDGET_SET_FLAGS (manual, GTK_CAN_DEFAULT);
560 gtk_tooltips_set_tip (tooltips, manual, "Click here to read the manual for this display mode, if it has one.", NULL);
562 demo_tab = gtk_label_new ("Graphics Demos");
563 gtk_widget_set_name (demo_tab, "demo_tab");
564 gtk_widget_ref (demo_tab);
565 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_tab", demo_tab,
566 (GtkDestroyNotify) gtk_widget_unref);
567 gtk_widget_show (demo_tab);
568 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), demo_tab);
570 prefs_hbox = gtk_vbox_new (FALSE, 0);
571 gtk_widget_set_name (prefs_hbox, "prefs_hbox");
572 gtk_widget_ref (prefs_hbox);
573 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_hbox", prefs_hbox,
574 (GtkDestroyNotify) gtk_widget_unref);
575 gtk_widget_show (prefs_hbox);
576 gtk_container_add (GTK_CONTAINER (notebook), prefs_hbox);
578 prefs_frame = gtk_frame_new (NULL);
579 gtk_widget_set_name (prefs_frame, "prefs_frame");
580 gtk_widget_ref (prefs_frame);
581 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_frame", prefs_frame,
582 (GtkDestroyNotify) gtk_widget_unref);
583 gtk_widget_show (prefs_frame);
584 gtk_box_pack_start (GTK_BOX (prefs_hbox), prefs_frame, TRUE, TRUE, 0);
585 gtk_container_set_border_width (GTK_CONTAINER (prefs_frame), 10);
587 prefs_table = gtk_table_new (6, 3, FALSE);
588 gtk_widget_set_name (prefs_table, "prefs_table");
589 gtk_widget_ref (prefs_table);
590 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_table", prefs_table,
591 (GtkDestroyNotify) gtk_widget_unref);
592 gtk_widget_show (prefs_table);
593 gtk_container_add (GTK_CONTAINER (prefs_frame), prefs_table);
594 gtk_container_set_border_width (GTK_CONTAINER (prefs_table), 10);
595 gtk_table_set_row_spacings (GTK_TABLE (prefs_table), 2);
596 gtk_table_set_col_spacings (GTK_TABLE (prefs_table), 10);
598 timeout_text = gtk_entry_new_with_max_length (8);
599 gtk_widget_set_name (timeout_text, "timeout_text");
600 gtk_widget_ref (timeout_text);
601 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_text", timeout_text,
602 (GtkDestroyNotify) gtk_widget_unref);
603 gtk_widget_show (timeout_text);
604 gtk_table_attach (GTK_TABLE (prefs_table), timeout_text, 1, 2, 0, 1,
605 (GtkAttachOptions) (GTK_FILL),
606 (GtkAttachOptions) (0), 0, 0);
607 gtk_tooltips_set_tip (tooltips, timeout_text, "How long until the screensaver activates.", NULL);
609 cycle_text = gtk_entry_new_with_max_length (8);
610 gtk_widget_set_name (cycle_text, "cycle_text");
611 gtk_widget_ref (cycle_text);
612 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_text", cycle_text,
613 (GtkDestroyNotify) gtk_widget_unref);
614 gtk_widget_show (cycle_text);
615 gtk_table_attach (GTK_TABLE (prefs_table), cycle_text, 1, 2, 1, 2,
616 (GtkAttachOptions) (GTK_FILL),
617 (GtkAttachOptions) (0), 0, 0);
618 gtk_tooltips_set_tip (tooltips, cycle_text, "How long each demo will be run before moving on to another.", NULL);
620 fade_text = gtk_entry_new_with_max_length (8);
621 gtk_widget_set_name (fade_text, "fade_text");
622 gtk_widget_ref (fade_text);
623 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_text", fade_text,
624 (GtkDestroyNotify) gtk_widget_unref);
625 gtk_widget_show (fade_text);
626 gtk_table_attach (GTK_TABLE (prefs_table), fade_text, 1, 2, 2, 3,
627 (GtkAttachOptions) (GTK_FILL),
628 (GtkAttachOptions) (0), 0, 0);
629 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);
631 ticks_text = gtk_entry_new_with_max_length (8);
632 gtk_widget_set_name (ticks_text, "ticks_text");
633 gtk_widget_ref (ticks_text);
634 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_text", ticks_text,
635 (GtkDestroyNotify) gtk_widget_unref);
636 gtk_widget_show (ticks_text);
637 gtk_table_attach (GTK_TABLE (prefs_table), ticks_text, 1, 2, 3, 4,
638 (GtkAttachOptions) (GTK_FILL),
639 (GtkAttachOptions) (0), 0, 0);
640 gtk_tooltips_set_tip (tooltips, ticks_text, "How many steps are in the fade animation (8-bit displays only.)", NULL);
642 lock_text = gtk_entry_new_with_max_length (8);
643 gtk_widget_set_name (lock_text, "lock_text");
644 gtk_widget_ref (lock_text);
645 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_text", lock_text,
646 (GtkDestroyNotify) gtk_widget_unref);
647 gtk_widget_show (lock_text);
648 gtk_table_attach (GTK_TABLE (prefs_table), lock_text, 1, 2, 4, 5,
649 (GtkAttachOptions) (GTK_FILL),
650 (GtkAttachOptions) (0), 0, 0);
651 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);
653 pass_text = gtk_entry_new_with_max_length (8);
654 gtk_widget_set_name (pass_text, "pass_text");
655 gtk_widget_ref (pass_text);
656 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_text", pass_text,
657 (GtkDestroyNotify) gtk_widget_unref);
658 gtk_widget_show (pass_text);
659 gtk_table_attach (GTK_TABLE (prefs_table), pass_text, 1, 2, 5, 6,
660 (GtkAttachOptions) (GTK_FILL),
661 (GtkAttachOptions) (0), 0, 0);
662 gtk_tooltips_set_tip (tooltips, pass_text, "How long the password dialog will wait.", NULL);
664 timeout_label = gtk_label_new ("Saver Timeout:");
665 gtk_widget_set_name (timeout_label, "timeout_label");
666 gtk_widget_ref (timeout_label);
667 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_label", timeout_label,
668 (GtkDestroyNotify) gtk_widget_unref);
669 gtk_widget_show (timeout_label);
670 gtk_table_attach (GTK_TABLE (prefs_table), timeout_label, 0, 1, 0, 1,
671 (GtkAttachOptions) (GTK_FILL),
672 (GtkAttachOptions) (0), 0, 0);
673 gtk_label_set_justify (GTK_LABEL (timeout_label), GTK_JUSTIFY_RIGHT);
674 gtk_misc_set_alignment (GTK_MISC (timeout_label), 1, 0.5);
676 cycle_label = gtk_label_new ("Cycle Timeout:");
677 gtk_widget_set_name (cycle_label, "cycle_label");
678 gtk_widget_ref (cycle_label);
679 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_label", cycle_label,
680 (GtkDestroyNotify) gtk_widget_unref);
681 gtk_widget_show (cycle_label);
682 gtk_table_attach (GTK_TABLE (prefs_table), cycle_label, 0, 1, 1, 2,
683 (GtkAttachOptions) (GTK_FILL),
684 (GtkAttachOptions) (0), 0, 0);
685 gtk_label_set_justify (GTK_LABEL (cycle_label), GTK_JUSTIFY_RIGHT);
686 gtk_misc_set_alignment (GTK_MISC (cycle_label), 1, 0.5);
688 fade_label = gtk_label_new ("Fade Duration:");
689 gtk_widget_set_name (fade_label, "fade_label");
690 gtk_widget_ref (fade_label);
691 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_label", fade_label,
692 (GtkDestroyNotify) gtk_widget_unref);
693 gtk_widget_show (fade_label);
694 gtk_table_attach (GTK_TABLE (prefs_table), fade_label, 0, 1, 2, 3,
695 (GtkAttachOptions) (GTK_FILL),
696 (GtkAttachOptions) (0), 0, 0);
697 gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_RIGHT);
698 gtk_misc_set_alignment (GTK_MISC (fade_label), 1, 0.5);
700 ticks_label = gtk_label_new ("Fade Ticks:");
701 gtk_widget_set_name (ticks_label, "ticks_label");
702 gtk_widget_ref (ticks_label);
703 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "ticks_label", ticks_label,
704 (GtkDestroyNotify) gtk_widget_unref);
705 gtk_widget_show (ticks_label);
706 gtk_table_attach (GTK_TABLE (prefs_table), ticks_label, 0, 1, 3, 4,
707 (GtkAttachOptions) (GTK_FILL),
708 (GtkAttachOptions) (0), 0, 0);
709 gtk_label_set_justify (GTK_LABEL (ticks_label), GTK_JUSTIFY_RIGHT);
710 gtk_misc_set_alignment (GTK_MISC (ticks_label), 1, 0.5);
712 lock_label = gtk_label_new ("Lock Timeout:");
713 gtk_widget_set_name (lock_label, "lock_label");
714 gtk_widget_ref (lock_label);
715 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_label", lock_label,
716 (GtkDestroyNotify) gtk_widget_unref);
717 gtk_widget_show (lock_label);
718 gtk_table_attach (GTK_TABLE (prefs_table), lock_label, 0, 1, 4, 5,
719 (GtkAttachOptions) (GTK_FILL),
720 (GtkAttachOptions) (0), 0, 0);
721 gtk_label_set_justify (GTK_LABEL (lock_label), GTK_JUSTIFY_RIGHT);
722 gtk_misc_set_alignment (GTK_MISC (lock_label), 1, 0.5);
724 pass_label = gtk_label_new ("Password Timeout:");
725 gtk_widget_set_name (pass_label, "pass_label");
726 gtk_widget_ref (pass_label);
727 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "pass_label", pass_label,
728 (GtkDestroyNotify) gtk_widget_unref);
729 gtk_widget_show (pass_label);
730 gtk_table_attach (GTK_TABLE (prefs_table), pass_label, 0, 1, 5, 6,
731 (GtkAttachOptions) (GTK_FILL),
732 (GtkAttachOptions) (0), 0, 0);
733 gtk_label_set_justify (GTK_LABEL (pass_label), GTK_JUSTIFY_RIGHT);
734 gtk_misc_set_alignment (GTK_MISC (pass_label), 1, 0.5);
736 verbose_button = gtk_check_button_new_with_label ("Verbose");
737 gtk_widget_set_name (verbose_button, "verbose_button");
738 gtk_widget_ref (verbose_button);
739 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button", verbose_button,
740 (GtkDestroyNotify) gtk_widget_unref);
741 gtk_widget_show (verbose_button);
742 gtk_table_attach (GTK_TABLE (prefs_table), verbose_button, 2, 3, 0, 1,
743 (GtkAttachOptions) (GTK_FILL),
744 (GtkAttachOptions) (0), 10, 0);
746 install_button = gtk_check_button_new_with_label ("Install Colormap");
747 gtk_widget_set_name (install_button, "install_button");
748 gtk_widget_ref (install_button);
749 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button", install_button,
750 (GtkDestroyNotify) gtk_widget_unref);
751 gtk_widget_show (install_button);
752 gtk_table_attach (GTK_TABLE (prefs_table), install_button, 2, 3, 1, 2,
753 (GtkAttachOptions) (GTK_FILL),
754 (GtkAttachOptions) (0), 10, 0);
756 fade_button = gtk_check_button_new_with_label ("Fade Colormap");
757 gtk_widget_set_name (fade_button, "fade_button");
758 gtk_widget_ref (fade_button);
759 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button", fade_button,
760 (GtkDestroyNotify) gtk_widget_unref);
761 gtk_widget_show (fade_button);
762 gtk_table_attach (GTK_TABLE (prefs_table), fade_button, 2, 3, 2, 3,
763 (GtkAttachOptions) (GTK_FILL),
764 (GtkAttachOptions) (0), 10, 0);
766 unfade_button = gtk_check_button_new_with_label ("Unfade Colormap");
767 gtk_widget_set_name (unfade_button, "unfade_button");
768 gtk_widget_ref (unfade_button);
769 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button", unfade_button,
770 (GtkDestroyNotify) gtk_widget_unref);
771 gtk_widget_show (unfade_button);
772 gtk_table_attach (GTK_TABLE (prefs_table), unfade_button, 2, 3, 3, 4,
773 (GtkAttachOptions) (GTK_FILL),
774 (GtkAttachOptions) (0), 10, 0);
776 lock_button = gtk_check_button_new_with_label ("Require Password");
777 gtk_widget_set_name (lock_button, "lock_button");
778 gtk_widget_ref (lock_button);
779 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button", lock_button,
780 (GtkDestroyNotify) gtk_widget_unref);
781 gtk_widget_show (lock_button);
782 gtk_table_attach (GTK_TABLE (prefs_table), lock_button, 2, 3, 4, 5,
783 (GtkAttachOptions) (GTK_FILL),
784 (GtkAttachOptions) (0), 10, 0);
786 prefs_tab = gtk_label_new ("Screensaver Options");
787 gtk_widget_set_name (prefs_tab, "prefs_tab");
788 gtk_widget_ref (prefs_tab);
789 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_tab", prefs_tab,
790 (GtkDestroyNotify) gtk_widget_unref);
791 gtk_widget_show (prefs_tab);
792 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), prefs_tab);
794 gtk_signal_connect (GTK_OBJECT (activate_menu), "activate",
795 GTK_SIGNAL_FUNC (activate_menu_cb),
797 gtk_signal_connect (GTK_OBJECT (lock_menu), "activate",
798 GTK_SIGNAL_FUNC (lock_menu_cb),
800 gtk_signal_connect (GTK_OBJECT (kill_menu), "activate",
801 GTK_SIGNAL_FUNC (kill_menu_cb),
803 gtk_signal_connect (GTK_OBJECT (restart), "activate",
804 GTK_SIGNAL_FUNC (restart_menu_cb),
806 gtk_signal_connect (GTK_OBJECT (exit_menu), "activate",
807 GTK_SIGNAL_FUNC (exit_menu_cb),
809 gtk_signal_connect (GTK_OBJECT (cut_menu), "activate",
810 GTK_SIGNAL_FUNC (cut_menu_cb),
812 gtk_signal_connect (GTK_OBJECT (copy_menu), "activate",
813 GTK_SIGNAL_FUNC (copy_menu_cb),
815 gtk_signal_connect (GTK_OBJECT (paste_menu), "activate",
816 GTK_SIGNAL_FUNC (paste_menu_cb),
818 gtk_signal_connect (GTK_OBJECT (about_menu), "activate",
819 GTK_SIGNAL_FUNC (about_menu_cb),
821 gtk_signal_connect (GTK_OBJECT (doc_menu), "activate",
822 GTK_SIGNAL_FUNC (doc_menu_cb),
824 gtk_signal_connect (GTK_OBJECT (notebook), "switch_page",
825 GTK_SIGNAL_FUNC (pref_changed_cb),
827 gtk_signal_connect (GTK_OBJECT (next), "clicked",
828 GTK_SIGNAL_FUNC (run_next_cb),
830 gtk_signal_connect (GTK_OBJECT (prev), "clicked",
831 GTK_SIGNAL_FUNC (run_prev_cb),
833 gtk_signal_connect (GTK_OBJECT (enabled), "toggled",
834 GTK_SIGNAL_FUNC (enabled_cb),
836 gtk_signal_connect (GTK_OBJECT (demo), "clicked",
837 GTK_SIGNAL_FUNC (run_this_cb),
839 gtk_signal_connect (GTK_OBJECT (manual), "clicked",
840 GTK_SIGNAL_FUNC (manual_cb),
842 gtk_signal_connect (GTK_OBJECT (timeout_text), "activate",
843 GTK_SIGNAL_FUNC (pref_changed_cb),
845 gtk_signal_connect (GTK_OBJECT (timeout_text), "focus_out_event",
846 GTK_SIGNAL_FUNC (pref_changed_cb),
848 gtk_signal_connect (GTK_OBJECT (cycle_text), "activate",
849 GTK_SIGNAL_FUNC (pref_changed_cb),
851 gtk_signal_connect (GTK_OBJECT (cycle_text), "focus_out_event",
852 GTK_SIGNAL_FUNC (pref_changed_cb),
854 gtk_signal_connect (GTK_OBJECT (fade_text), "activate",
855 GTK_SIGNAL_FUNC (pref_changed_cb),
857 gtk_signal_connect (GTK_OBJECT (fade_text), "focus_out_event",
858 GTK_SIGNAL_FUNC (pref_changed_cb),
860 gtk_signal_connect (GTK_OBJECT (ticks_text), "activate",
861 GTK_SIGNAL_FUNC (pref_changed_cb),
863 gtk_signal_connect (GTK_OBJECT (ticks_text), "focus_out_event",
864 GTK_SIGNAL_FUNC (pref_changed_cb),
866 gtk_signal_connect (GTK_OBJECT (lock_text), "activate",
867 GTK_SIGNAL_FUNC (pref_changed_cb),
869 gtk_signal_connect (GTK_OBJECT (lock_text), "focus_out_event",
870 GTK_SIGNAL_FUNC (pref_changed_cb),
872 gtk_signal_connect (GTK_OBJECT (pass_text), "activate",
873 GTK_SIGNAL_FUNC (pref_changed_cb),
875 gtk_signal_connect (GTK_OBJECT (pass_text), "focus_out_event",
876 GTK_SIGNAL_FUNC (pref_changed_cb),
878 gtk_signal_connect (GTK_OBJECT (verbose_button), "toggled",
879 GTK_SIGNAL_FUNC (pref_changed_cb),
881 gtk_signal_connect (GTK_OBJECT (install_button), "toggled",
882 GTK_SIGNAL_FUNC (pref_changed_cb),
884 gtk_signal_connect (GTK_OBJECT (fade_button), "toggled",
885 GTK_SIGNAL_FUNC (pref_changed_cb),
887 gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled",
888 GTK_SIGNAL_FUNC (pref_changed_cb),
890 gtk_signal_connect (GTK_OBJECT (lock_button), "toggled",
891 GTK_SIGNAL_FUNC (pref_changed_cb),
894 gtk_widget_grab_default (next);
895 gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "tooltips", tooltips);
897 gtk_window_add_accel_group (GTK_WINDOW (xscreensaver_demo), accel_group);
899 return xscreensaver_demo;