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"
19 #include "demo-Gtk-support.h"
22 # define STFU __extension__ /* ignore gcc -pendantic warnings in next sexp */
28 create_xscreensaver_demo (void)
30 GtkWidget *xscreensaver_demo;
31 GtkWidget *outer_vbox;
36 GtkAccelGroup *file_menu_accels;
37 GtkWidget *activate_menu;
41 GtkWidget *separator1;
45 GtkAccelGroup *help_menu_accels;
46 GtkWidget *about_menu;
49 GtkWidget *demos_table;
50 GtkWidget *blanking_table;
51 GtkWidget *cycle_label;
52 GtkWidget *lock_button_eventbox;
53 GtkWidget *lock_button;
54 GtkWidget *timeout_label;
55 GtkObject *timeout_spinbutton_adj;
56 GtkWidget *timeout_spinbutton;
57 GtkWidget *timeout_mlabel;
58 GtkWidget *cycle_mlabel;
59 GtkWidget *lock_mlabel;
60 GtkObject *lock_spinbutton_adj;
61 GtkWidget *lock_spinbutton;
62 GtkObject *cycle_spinbutton_adj;
63 GtkWidget *cycle_spinbutton;
64 GtkWidget *demo_manual_hbbox;
69 GtkWidget *mode_label;
71 GtkWidget *mode_menu_menu;
72 GtkWidget *glade_menuitem;
73 GtkWidget *col_head_hbox;
74 GtkWidget *use_col_frame;
76 GtkWidget *saver_col_frame;
77 GtkWidget *saver_label;
81 GtkWidget *centering_hbox;
82 GtkWidget *next_prev_hbox;
85 GtkWidget *preview_frame;
86 GtkWidget *preview_aspectframe;
89 GtkWidget *options_table;
90 GtkWidget *diag_frame;
94 GtkWidget *verbose_button_eventbox;
95 GtkWidget *verbose_button;
96 GtkWidget *capture_button_eventbox;
97 GtkWidget *capture_button;
98 GtkWidget *splash_button_eventbox;
99 GtkWidget *splash_button;
100 GtkWidget *cmap_frame;
101 GtkWidget *cmap_hbox;
102 GtkWidget *cmap_logo;
103 GtkWidget *cmap_vbox;
104 GtkWidget *install_button_eventbox;
105 GtkWidget *install_button;
107 GtkWidget *fade_button_eventbox;
108 GtkWidget *fade_button;
109 GtkWidget *unfade_button_eventbox;
110 GtkWidget *unfade_button;
111 GtkWidget *fade_hbox;
112 GtkWidget *fade_dummy;
113 GtkWidget *fade_label;
114 GtkObject *fade_spinbutton_adj;
115 GtkWidget *fade_spinbutton;
116 GtkWidget *fade_sec_label;
117 GtkWidget *dpms_frame;
118 GtkWidget *dpms_hbox;
119 GtkWidget *dpms_logo;
120 GtkWidget *dpms_vbox;
121 GtkWidget *dpms_button_eventbox;
122 GtkWidget *dpms_button;
123 GtkWidget *dpms_table;
124 GtkObject *dpms_standby_spinbutton_adj;
125 GtkWidget *dpms_standby_spinbutton;
126 GtkWidget *dpms_standby_mlabel;
127 GtkWidget *dpms_suspend_mlabel;
128 GtkWidget *dpms_off_mlabel;
129 GtkWidget *dpms_off_label;
130 GtkWidget *dpms_suspend_label;
131 GtkWidget *dpms_standby_label;
132 GtkObject *dpms_suspend_spinbutton_adj;
133 GtkWidget *dpms_suspend_spinbutton;
134 GtkObject *dpms_off_spinbutton_adj;
135 GtkWidget *dpms_off_spinbutton;
136 GtkWidget *grab_frame;
137 GtkWidget *grab_hbox;
139 GtkWidget *grab_vbox;
140 GtkWidget *grab_desk_eventbox;
141 GtkWidget *grab_desk_button;
142 GtkWidget *grab_video_eventbox;
143 GtkWidget *grab_video_button;
144 GtkWidget *grab_image_eventbox;
145 GtkWidget *grab_image_button;
146 GtkWidget *image_hbox;
147 GtkWidget *grab_dummy;
148 GtkWidget *image_text;
149 GtkWidget *image_browse_button;
150 GtkWidget *options_tab;
151 GtkAccelGroup *accel_group;
152 GtkTooltips *tooltips;
154 tooltips = gtk_tooltips_new ();
156 accel_group = gtk_accel_group_new ();
158 xscreensaver_demo = gtk_window_new (GTK_WINDOW_TOPLEVEL);
159 gtk_widget_set_name (xscreensaver_demo, "xscreensaver_demo");
160 gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "xscreensaver_demo", xscreensaver_demo);
161 gtk_window_set_title (GTK_WINDOW (xscreensaver_demo), _("XScreenSaver"));
162 gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_demo), "xscreensaver", "XScreenSaver");
164 outer_vbox = gtk_vbox_new (FALSE, 5);
165 gtk_widget_set_name (outer_vbox, "outer_vbox");
166 gtk_widget_ref (outer_vbox);
167 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "outer_vbox", outer_vbox,
168 (GtkDestroyNotify) gtk_widget_unref);
169 gtk_widget_show (outer_vbox);
170 gtk_container_add (GTK_CONTAINER (xscreensaver_demo), outer_vbox);
172 menubar = gtk_menu_bar_new ();
173 gtk_widget_set_name (menubar, "menubar");
174 gtk_widget_ref (menubar);
175 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "menubar", menubar,
176 (GtkDestroyNotify) gtk_widget_unref);
177 gtk_widget_show (menubar);
178 gtk_box_pack_start (GTK_BOX (outer_vbox), menubar, FALSE, FALSE, 0);
180 file = gtk_menu_item_new_with_label ("");
181 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file)->child),
183 gtk_widget_add_accelerator (file, "activate_item", accel_group,
184 tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
185 gtk_widget_set_name (file, "file");
186 gtk_widget_ref (file);
187 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file", file,
188 (GtkDestroyNotify) gtk_widget_unref);
189 gtk_widget_show (file);
190 gtk_container_add (GTK_CONTAINER (menubar), file);
192 file_menu = gtk_menu_new ();
193 gtk_widget_set_name (file_menu, "file_menu");
194 gtk_widget_ref (file_menu);
195 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "file_menu", file_menu,
196 (GtkDestroyNotify) gtk_widget_unref);
197 gtk_menu_item_set_submenu (GTK_MENU_ITEM (file), file_menu);
198 file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu));
200 activate_menu = gtk_menu_item_new_with_label ("");
201 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (activate_menu)->child),
202 _("_Blank Screen Now"));
203 gtk_widget_add_accelerator (activate_menu, "activate_item", file_menu_accels,
205 gtk_widget_set_name (activate_menu, "activate_menu");
206 gtk_widget_ref (activate_menu);
207 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "activate_menu", activate_menu,
208 (GtkDestroyNotify) gtk_widget_unref);
209 gtk_widget_show (activate_menu);
210 gtk_container_add (GTK_CONTAINER (file_menu), activate_menu);
211 gtk_tooltips_set_tip (tooltips, activate_menu, _("Activate the XScreenSaver daemon now (locking the screen if so configured.)"), NULL);
213 lock_menu = gtk_menu_item_new_with_label ("");
214 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (lock_menu)->child),
215 _("_Lock Screen Now"));
216 gtk_widget_add_accelerator (lock_menu, "activate_item", file_menu_accels,
218 gtk_widget_set_name (lock_menu, "lock_menu");
219 gtk_widget_ref (lock_menu);
220 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_menu", lock_menu,
221 (GtkDestroyNotify) gtk_widget_unref);
222 gtk_widget_show (lock_menu);
223 gtk_container_add (GTK_CONTAINER (file_menu), lock_menu);
224 gtk_tooltips_set_tip (tooltips, lock_menu, _("Lock the screen now (even if \"Lock Screen\" is unchecked.)"), NULL);
226 kill_menu = gtk_menu_item_new_with_label ("");
227 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (kill_menu)->child),
229 gtk_widget_add_accelerator (kill_menu, "activate_item", file_menu_accels,
231 gtk_widget_set_name (kill_menu, "kill_menu");
232 gtk_widget_ref (kill_menu);
233 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "kill_menu", kill_menu,
234 (GtkDestroyNotify) gtk_widget_unref);
235 gtk_widget_show (kill_menu);
236 gtk_container_add (GTK_CONTAINER (file_menu), kill_menu);
237 gtk_tooltips_set_tip (tooltips, kill_menu, _("Tell the running XScreenSaver daemon to exit."), NULL);
239 restart = gtk_menu_item_new_with_label ("");
240 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (restart)->child),
241 _("_Restart Daemon"));
242 gtk_widget_add_accelerator (restart, "activate_item", file_menu_accels,
244 gtk_widget_set_name (restart, "restart");
245 gtk_widget_ref (restart);
246 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "restart", restart,
247 (GtkDestroyNotify) gtk_widget_unref);
248 gtk_widget_show (restart);
249 gtk_container_add (GTK_CONTAINER (file_menu), restart);
250 gtk_tooltips_set_tip (tooltips, restart, _("Kill and re-launch the XScreenSaver daemon."), NULL);
252 separator1 = gtk_menu_item_new ();
253 gtk_widget_set_name (separator1, "separator1");
254 gtk_widget_ref (separator1);
255 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "separator1", separator1,
256 (GtkDestroyNotify) gtk_widget_unref);
257 gtk_widget_show (separator1);
258 gtk_container_add (GTK_CONTAINER (file_menu), separator1);
259 gtk_widget_set_sensitive (separator1, FALSE);
261 exit_menu = gtk_menu_item_new_with_label ("");
262 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (exit_menu)->child),
264 gtk_widget_add_accelerator (exit_menu, "activate_item", file_menu_accels,
266 gtk_widget_set_name (exit_menu, "exit_menu");
267 gtk_widget_ref (exit_menu);
268 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "exit_menu", exit_menu,
269 (GtkDestroyNotify) gtk_widget_unref);
270 gtk_widget_show (exit_menu);
271 gtk_container_add (GTK_CONTAINER (file_menu), exit_menu);
272 gtk_tooltips_set_tip (tooltips, exit_menu, _("Exit the xscreensaver-demo program (but leave the XScreenSaver daemon running in the background.)"), NULL);
274 help = gtk_menu_item_new_with_label ("");
275 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (help)->child),
277 gtk_widget_add_accelerator (help, "activate_item", accel_group,
278 tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
279 gtk_widget_set_name (help, "help");
280 gtk_widget_ref (help);
281 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help", help,
282 (GtkDestroyNotify) gtk_widget_unref);
283 gtk_widget_show (help);
284 gtk_container_add (GTK_CONTAINER (menubar), help);
286 help_menu = gtk_menu_new ();
287 gtk_widget_set_name (help_menu, "help_menu");
288 gtk_widget_ref (help_menu);
289 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "help_menu", help_menu,
290 (GtkDestroyNotify) gtk_widget_unref);
291 gtk_menu_item_set_submenu (GTK_MENU_ITEM (help), help_menu);
292 help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (help_menu));
294 about_menu = gtk_menu_item_new_with_label ("");
295 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (about_menu)->child),
297 gtk_widget_add_accelerator (about_menu, "activate_item", help_menu_accels,
299 gtk_widget_set_name (about_menu, "about_menu");
300 gtk_widget_ref (about_menu);
301 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "about_menu", about_menu,
302 (GtkDestroyNotify) gtk_widget_unref);
303 gtk_widget_show (about_menu);
304 gtk_container_add (GTK_CONTAINER (help_menu), about_menu);
305 gtk_tooltips_set_tip (tooltips, about_menu, _("Display version information."), NULL);
307 doc_menu = gtk_menu_item_new_with_label ("");
308 tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (doc_menu)->child),
309 _("_Documentation..."));
310 gtk_widget_add_accelerator (doc_menu, "activate_item", help_menu_accels,
312 gtk_widget_set_name (doc_menu, "doc_menu");
313 gtk_widget_ref (doc_menu);
314 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "doc_menu", doc_menu,
315 (GtkDestroyNotify) gtk_widget_unref);
316 gtk_widget_show (doc_menu);
317 gtk_container_add (GTK_CONTAINER (help_menu), doc_menu);
318 gtk_tooltips_set_tip (tooltips, doc_menu, _("Go to the documentation on the XScreenSaver web page."), NULL);
320 notebook = gtk_notebook_new ();
321 gtk_widget_set_name (notebook, "notebook");
322 gtk_widget_ref (notebook);
323 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "notebook", notebook,
324 (GtkDestroyNotify) gtk_widget_unref);
325 gtk_widget_show (notebook);
326 gtk_box_pack_start (GTK_BOX (outer_vbox), notebook, TRUE, TRUE, 0);
328 demos_table = gtk_table_new (2, 2, FALSE);
329 gtk_widget_set_name (demos_table, "demos_table");
330 gtk_widget_ref (demos_table);
331 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demos_table", demos_table,
332 (GtkDestroyNotify) gtk_widget_unref);
333 gtk_widget_show (demos_table);
334 gtk_container_add (GTK_CONTAINER (notebook), demos_table);
335 gtk_container_set_border_width (GTK_CONTAINER (demos_table), 10);
337 blanking_table = gtk_table_new (3, 4, FALSE);
338 gtk_widget_set_name (blanking_table, "blanking_table");
339 gtk_widget_ref (blanking_table);
340 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "blanking_table", blanking_table,
341 (GtkDestroyNotify) gtk_widget_unref);
342 gtk_widget_show (blanking_table);
343 gtk_table_attach (GTK_TABLE (demos_table), blanking_table, 0, 1, 1, 2,
344 (GtkAttachOptions) (GTK_FILL),
345 (GtkAttachOptions) (GTK_FILL), 0, 0);
346 gtk_table_set_row_spacings (GTK_TABLE (blanking_table), 2);
348 cycle_label = gtk_label_new (_("Cycle After"));
349 gtk_widget_set_name (cycle_label, "cycle_label");
350 gtk_widget_ref (cycle_label);
351 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_label", cycle_label,
352 (GtkDestroyNotify) gtk_widget_unref);
353 gtk_widget_show (cycle_label);
354 gtk_table_attach (GTK_TABLE (blanking_table), cycle_label, 1, 2, 1, 2,
355 (GtkAttachOptions) (GTK_FILL),
356 (GtkAttachOptions) (0), 0, 0);
357 gtk_label_set_justify (GTK_LABEL (cycle_label), GTK_JUSTIFY_RIGHT);
358 gtk_misc_set_alignment (GTK_MISC (cycle_label), 1, 0.5);
359 gtk_misc_set_padding (GTK_MISC (cycle_label), 8, 0);
361 lock_button_eventbox = gtk_event_box_new ();
362 gtk_widget_set_name (lock_button_eventbox, "lock_button_eventbox");
363 gtk_widget_ref (lock_button_eventbox);
364 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button_eventbox", lock_button_eventbox,
365 (GtkDestroyNotify) gtk_widget_unref);
366 gtk_widget_show (lock_button_eventbox);
367 gtk_table_attach (GTK_TABLE (blanking_table), lock_button_eventbox, 0, 2, 2, 3,
368 (GtkAttachOptions) (GTK_FILL),
369 (GtkAttachOptions) (0), 0, 0);
370 gtk_tooltips_set_tip (tooltips, lock_button_eventbox, _("Whether a password should be required to un-blank the screen."), NULL);
372 lock_button = gtk_check_button_new_with_label (_("Lock Screen After"));
373 gtk_widget_set_name (lock_button, "lock_button");
374 gtk_widget_ref (lock_button);
375 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_button", lock_button,
376 (GtkDestroyNotify) gtk_widget_unref);
377 gtk_widget_show (lock_button);
378 gtk_container_add (GTK_CONTAINER (lock_button_eventbox), lock_button);
380 timeout_label = gtk_label_new (_("Blank After"));
381 gtk_widget_set_name (timeout_label, "timeout_label");
382 gtk_widget_ref (timeout_label);
383 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_label", timeout_label,
384 (GtkDestroyNotify) gtk_widget_unref);
385 gtk_widget_show (timeout_label);
386 gtk_table_attach (GTK_TABLE (blanking_table), timeout_label, 1, 2, 0, 1,
387 (GtkAttachOptions) (GTK_FILL),
388 (GtkAttachOptions) (0), 0, 0);
389 gtk_label_set_justify (GTK_LABEL (timeout_label), GTK_JUSTIFY_RIGHT);
390 gtk_misc_set_alignment (GTK_MISC (timeout_label), 1, 0.5);
391 gtk_misc_set_padding (GTK_MISC (timeout_label), 8, 0);
393 timeout_spinbutton_adj = gtk_adjustment_new (0, 1, 720, 1, 30, 30);
394 timeout_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (timeout_spinbutton_adj), 15, 0);
395 gtk_widget_set_name (timeout_spinbutton, "timeout_spinbutton");
396 gtk_widget_ref (timeout_spinbutton);
397 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_spinbutton", timeout_spinbutton,
398 (GtkDestroyNotify) gtk_widget_unref);
399 gtk_widget_show (timeout_spinbutton);
400 gtk_table_attach (GTK_TABLE (blanking_table), timeout_spinbutton, 2, 3, 0, 1,
401 (GtkAttachOptions) (GTK_FILL),
402 (GtkAttachOptions) (0), 0, 0);
403 gtk_tooltips_set_tip (tooltips, timeout_spinbutton, _("How long before the monitor goes completely black."), NULL);
404 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (timeout_spinbutton), TRUE);
405 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (timeout_spinbutton), TRUE);
407 timeout_mlabel = gtk_label_new (_("minutes"));
408 gtk_widget_set_name (timeout_mlabel, "timeout_mlabel");
409 gtk_widget_ref (timeout_mlabel);
410 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "timeout_mlabel", timeout_mlabel,
411 (GtkDestroyNotify) gtk_widget_unref);
412 gtk_widget_show (timeout_mlabel);
413 gtk_table_attach (GTK_TABLE (blanking_table), timeout_mlabel, 3, 4, 0, 1,
414 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
415 (GtkAttachOptions) (0), 0, 0);
416 gtk_label_set_justify (GTK_LABEL (timeout_mlabel), GTK_JUSTIFY_LEFT);
417 gtk_misc_set_alignment (GTK_MISC (timeout_mlabel), 0, 0.5);
419 cycle_mlabel = gtk_label_new (_("minutes"));
420 gtk_widget_set_name (cycle_mlabel, "cycle_mlabel");
421 gtk_widget_ref (cycle_mlabel);
422 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_mlabel", cycle_mlabel,
423 (GtkDestroyNotify) gtk_widget_unref);
424 gtk_widget_show (cycle_mlabel);
425 gtk_table_attach (GTK_TABLE (blanking_table), cycle_mlabel, 3, 4, 1, 2,
426 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
427 (GtkAttachOptions) (0), 0, 0);
428 gtk_label_set_justify (GTK_LABEL (cycle_mlabel), GTK_JUSTIFY_LEFT);
429 gtk_misc_set_alignment (GTK_MISC (cycle_mlabel), 0, 0.5);
431 lock_mlabel = gtk_label_new (_("minutes"));
432 gtk_widget_set_name (lock_mlabel, "lock_mlabel");
433 gtk_widget_ref (lock_mlabel);
434 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_mlabel", lock_mlabel,
435 (GtkDestroyNotify) gtk_widget_unref);
436 gtk_widget_show (lock_mlabel);
437 gtk_table_attach (GTK_TABLE (blanking_table), lock_mlabel, 3, 4, 2, 3,
438 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
439 (GtkAttachOptions) (0), 0, 0);
440 gtk_label_set_justify (GTK_LABEL (lock_mlabel), GTK_JUSTIFY_LEFT);
441 gtk_misc_set_alignment (GTK_MISC (lock_mlabel), 0, 0.5);
443 lock_spinbutton_adj = gtk_adjustment_new (0, 0, 720, 1, 30, 30);
444 lock_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (lock_spinbutton_adj), 15, 0);
445 gtk_widget_set_name (lock_spinbutton, "lock_spinbutton");
446 gtk_widget_ref (lock_spinbutton);
447 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "lock_spinbutton", lock_spinbutton,
448 (GtkDestroyNotify) gtk_widget_unref);
449 gtk_widget_show (lock_spinbutton);
450 gtk_table_attach (GTK_TABLE (blanking_table), lock_spinbutton, 2, 3, 2, 3,
451 (GtkAttachOptions) (GTK_FILL),
452 (GtkAttachOptions) (0), 0, 10);
453 gtk_tooltips_set_tip (tooltips, lock_spinbutton, _("How long before the monitor goes completely black."), NULL);
454 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (lock_spinbutton), TRUE);
455 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (lock_spinbutton), TRUE);
457 cycle_spinbutton_adj = gtk_adjustment_new (0, 1, 720, 1, 30, 30);
458 cycle_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (cycle_spinbutton_adj), 15, 0);
459 gtk_widget_set_name (cycle_spinbutton, "cycle_spinbutton");
460 gtk_widget_ref (cycle_spinbutton);
461 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cycle_spinbutton", cycle_spinbutton,
462 (GtkDestroyNotify) gtk_widget_unref);
463 gtk_widget_show (cycle_spinbutton);
464 gtk_table_attach (GTK_TABLE (blanking_table), cycle_spinbutton, 2, 3, 1, 2,
465 (GtkAttachOptions) (GTK_FILL),
466 (GtkAttachOptions) (0), 0, 0);
467 gtk_tooltips_set_tip (tooltips, cycle_spinbutton, _("How long before the monitor goes completely black."), NULL);
468 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (cycle_spinbutton), TRUE);
469 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (cycle_spinbutton), TRUE);
471 demo_manual_hbbox = gtk_hbutton_box_new ();
472 gtk_widget_set_name (demo_manual_hbbox, "demo_manual_hbbox");
473 gtk_widget_ref (demo_manual_hbbox);
474 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_manual_hbbox", demo_manual_hbbox,
475 (GtkDestroyNotify) gtk_widget_unref);
476 gtk_widget_show (demo_manual_hbbox);
477 gtk_table_attach (GTK_TABLE (demos_table), demo_manual_hbbox, 1, 2, 1, 2,
478 (GtkAttachOptions) (GTK_FILL),
479 (GtkAttachOptions) (GTK_FILL), 0, 0);
480 gtk_button_box_set_layout (GTK_BUTTON_BOX (demo_manual_hbbox), GTK_BUTTONBOX_SPREAD);
482 demo = gtk_button_new_with_label (_("Preview"));
483 gtk_widget_set_name (demo, "demo");
484 gtk_widget_ref (demo);
485 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo", demo,
486 (GtkDestroyNotify) gtk_widget_unref);
487 gtk_widget_show (demo);
488 gtk_container_add (GTK_CONTAINER (demo_manual_hbbox), demo);
489 STFU GTK_WIDGET_SET_FLAGS (demo, GTK_CAN_DEFAULT);
490 gtk_tooltips_set_tip (tooltips, demo, _("Demo the selected screen saver in full-screen mode (click the mouse to return.)"), NULL);
492 settings = gtk_button_new_with_label (_("Settings..."));
493 gtk_widget_set_name (settings, "settings");
494 gtk_widget_ref (settings);
495 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "settings", settings,
496 (GtkDestroyNotify) gtk_widget_unref);
497 gtk_widget_show (settings);
498 gtk_container_add (GTK_CONTAINER (demo_manual_hbbox), settings);
499 STFU GTK_WIDGET_SET_FLAGS (settings, GTK_CAN_DEFAULT);
500 gtk_tooltips_set_tip (tooltips, settings, _("Customization and explanation of the selected screen saver."), NULL);
502 list_vbox = gtk_vbox_new (FALSE, 0);
503 gtk_widget_set_name (list_vbox, "list_vbox");
504 gtk_widget_ref (list_vbox);
505 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list_vbox", list_vbox,
506 (GtkDestroyNotify) gtk_widget_unref);
507 gtk_widget_show (list_vbox);
508 gtk_table_attach (GTK_TABLE (demos_table), list_vbox, 0, 1, 0, 1,
509 (GtkAttachOptions) (GTK_FILL),
510 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
511 gtk_container_set_border_width (GTK_CONTAINER (list_vbox), 10);
513 mode_hbox = gtk_hbox_new (FALSE, 0);
514 gtk_widget_set_name (mode_hbox, "mode_hbox");
515 gtk_widget_ref (mode_hbox);
516 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_hbox", mode_hbox,
517 (GtkDestroyNotify) gtk_widget_unref);
518 gtk_widget_show (mode_hbox);
519 gtk_box_pack_start (GTK_BOX (list_vbox), mode_hbox, FALSE, TRUE, 10);
521 mode_label = gtk_label_new (_("Mode:"));
522 gtk_widget_set_name (mode_label, "mode_label");
523 gtk_widget_ref (mode_label);
524 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_label", mode_label,
525 (GtkDestroyNotify) gtk_widget_unref);
526 gtk_widget_show (mode_label);
527 gtk_box_pack_start (GTK_BOX (mode_hbox), mode_label, FALSE, FALSE, 0);
528 gtk_label_set_justify (GTK_LABEL (mode_label), GTK_JUSTIFY_LEFT);
529 gtk_misc_set_alignment (GTK_MISC (mode_label), 0, 0.5);
531 mode_menu = gtk_option_menu_new ();
532 gtk_widget_set_name (mode_menu, "mode_menu");
533 gtk_widget_ref (mode_menu);
534 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "mode_menu", mode_menu,
535 (GtkDestroyNotify) gtk_widget_unref);
536 gtk_widget_show (mode_menu);
537 gtk_box_pack_start (GTK_BOX (mode_hbox), mode_menu, FALSE, FALSE, 4);
538 mode_menu_menu = gtk_menu_new ();
539 glade_menuitem = gtk_menu_item_new_with_label (_("Disable Screen Saver"));
540 gtk_widget_show (glade_menuitem);
541 gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
542 glade_menuitem = gtk_menu_item_new_with_label (_("Blank Screen Only"));
543 gtk_widget_show (glade_menuitem);
544 gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
545 glade_menuitem = gtk_menu_item_new_with_label (_("Only One Screen Saver"));
546 gtk_widget_show (glade_menuitem);
547 gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
548 glade_menuitem = gtk_menu_item_new_with_label (_("Random Screen Saver"));
549 gtk_widget_show (glade_menuitem);
550 gtk_menu_append (GTK_MENU (mode_menu_menu), glade_menuitem);
551 gtk_option_menu_set_menu (GTK_OPTION_MENU (mode_menu), mode_menu_menu);
552 gtk_option_menu_set_history (GTK_OPTION_MENU (mode_menu), 3);
554 col_head_hbox = gtk_hbox_new (FALSE, 0);
555 gtk_widget_set_name (col_head_hbox, "col_head_hbox");
556 gtk_widget_ref (col_head_hbox);
557 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "col_head_hbox", col_head_hbox,
558 (GtkDestroyNotify) gtk_widget_unref);
559 gtk_widget_show (col_head_hbox);
560 gtk_box_pack_start (GTK_BOX (list_vbox), col_head_hbox, FALSE, TRUE, 0);
562 use_col_frame = gtk_frame_new (NULL);
563 gtk_widget_set_name (use_col_frame, "use_col_frame");
564 gtk_widget_ref (use_col_frame);
565 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "use_col_frame", use_col_frame,
566 (GtkDestroyNotify) gtk_widget_unref);
567 gtk_widget_show (use_col_frame);
568 gtk_box_pack_start (GTK_BOX (col_head_hbox), use_col_frame, FALSE, FALSE, 0);
569 gtk_frame_set_shadow_type (GTK_FRAME (use_col_frame), GTK_SHADOW_OUT);
571 use_label = gtk_label_new (_("Use"));
572 gtk_widget_set_name (use_label, "use_label");
573 gtk_widget_ref (use_label);
574 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "use_label", use_label,
575 (GtkDestroyNotify) gtk_widget_unref);
576 gtk_widget_show (use_label);
577 gtk_container_add (GTK_CONTAINER (use_col_frame), use_label);
578 gtk_label_set_justify (GTK_LABEL (use_label), GTK_JUSTIFY_LEFT);
579 gtk_misc_set_alignment (GTK_MISC (use_label), 0, 0.5);
580 gtk_misc_set_padding (GTK_MISC (use_label), 3, 0);
582 saver_col_frame = gtk_frame_new (NULL);
583 gtk_widget_set_name (saver_col_frame, "saver_col_frame");
584 gtk_widget_ref (saver_col_frame);
585 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "saver_col_frame", saver_col_frame,
586 (GtkDestroyNotify) gtk_widget_unref);
587 gtk_widget_show (saver_col_frame);
588 gtk_box_pack_start (GTK_BOX (col_head_hbox), saver_col_frame, TRUE, TRUE, 0);
589 gtk_frame_set_shadow_type (GTK_FRAME (saver_col_frame), GTK_SHADOW_OUT);
591 saver_label = gtk_label_new (_("Screen Saver"));
592 gtk_widget_set_name (saver_label, "saver_label");
593 gtk_widget_ref (saver_label);
594 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "saver_label", saver_label,
595 (GtkDestroyNotify) gtk_widget_unref);
596 gtk_widget_show (saver_label);
597 gtk_container_add (GTK_CONTAINER (saver_col_frame), saver_label);
598 gtk_label_set_justify (GTK_LABEL (saver_label), GTK_JUSTIFY_LEFT);
599 gtk_misc_set_alignment (GTK_MISC (saver_label), 0, 0.5);
600 gtk_misc_set_padding (GTK_MISC (saver_label), 6, 0);
602 scroller = gtk_scrolled_window_new (NULL, NULL);
603 gtk_widget_set_name (scroller, "scroller");
604 gtk_widget_ref (scroller);
605 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "scroller", scroller,
606 (GtkDestroyNotify) gtk_widget_unref);
607 gtk_widget_show (scroller);
608 gtk_box_pack_start (GTK_BOX (list_vbox), scroller, TRUE, TRUE, 0);
609 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
611 viewport = gtk_viewport_new (NULL, NULL);
612 gtk_widget_set_name (viewport, "viewport");
613 gtk_widget_ref (viewport);
614 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "viewport", viewport,
615 (GtkDestroyNotify) gtk_widget_unref);
616 gtk_widget_show (viewport);
617 gtk_container_add (GTK_CONTAINER (scroller), viewport);
618 gtk_container_set_border_width (GTK_CONTAINER (viewport), 1);
620 list = gtk_list_new ();
621 gtk_widget_set_name (list, "list");
622 gtk_widget_ref (list);
623 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "list", list,
624 (GtkDestroyNotify) gtk_widget_unref);
625 gtk_widget_show (list);
626 gtk_container_add (GTK_CONTAINER (viewport), list);
628 centering_hbox = gtk_hbox_new (TRUE, 0);
629 gtk_widget_set_name (centering_hbox, "centering_hbox");
630 gtk_widget_ref (centering_hbox);
631 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "centering_hbox", centering_hbox,
632 (GtkDestroyNotify) gtk_widget_unref);
633 gtk_widget_show (centering_hbox);
634 gtk_box_pack_end (GTK_BOX (list_vbox), centering_hbox, FALSE, TRUE, 0);
636 next_prev_hbox = gtk_hbox_new (FALSE, 0);
637 gtk_widget_set_name (next_prev_hbox, "next_prev_hbox");
638 gtk_widget_ref (next_prev_hbox);
639 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next_prev_hbox", next_prev_hbox,
640 (GtkDestroyNotify) gtk_widget_unref);
641 gtk_widget_show (next_prev_hbox);
642 gtk_box_pack_start (GTK_BOX (centering_hbox), next_prev_hbox, FALSE, FALSE, 0);
644 next = gtk_button_new_with_label (_("\\/"));
645 gtk_widget_set_name (next, "next");
646 gtk_widget_ref (next);
647 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "next", next,
648 (GtkDestroyNotify) gtk_widget_unref);
649 gtk_widget_show (next);
650 gtk_box_pack_start (GTK_BOX (next_prev_hbox), next, FALSE, FALSE, 0);
651 STFU GTK_WIDGET_SET_FLAGS (next, GTK_CAN_DEFAULT);
652 gtk_tooltips_set_tip (tooltips, next, _("Run the next screen saver in the list in full-screen mode (click the mouse to return.)"), NULL);
654 prev = gtk_button_new_with_label (_("/\\"));
655 gtk_widget_set_name (prev, "prev");
656 gtk_widget_ref (prev);
657 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prev", prev,
658 (GtkDestroyNotify) gtk_widget_unref);
659 gtk_widget_show (prev);
660 gtk_box_pack_start (GTK_BOX (next_prev_hbox), prev, FALSE, FALSE, 0);
661 STFU GTK_WIDGET_SET_FLAGS (prev, GTK_CAN_DEFAULT);
662 gtk_tooltips_set_tip (tooltips, prev, _("Run the previous screen saver in the list in full-screen mode (click the mouse to return.)"), NULL);
664 preview_frame = gtk_frame_new (_("Description"));
665 gtk_widget_set_name (preview_frame, "preview_frame");
666 gtk_widget_ref (preview_frame);
667 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview_frame", preview_frame,
668 (GtkDestroyNotify) gtk_widget_unref);
669 gtk_widget_show (preview_frame);
670 gtk_table_attach (GTK_TABLE (demos_table), preview_frame, 1, 2, 0, 1,
671 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
672 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 6);
674 preview_aspectframe = gtk_aspect_frame_new (NULL, 0.5, 0.5, 1.33, FALSE);
675 gtk_widget_set_name (preview_aspectframe, "preview_aspectframe");
676 gtk_widget_ref (preview_aspectframe);
677 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview_aspectframe", preview_aspectframe,
678 (GtkDestroyNotify) gtk_widget_unref);
679 gtk_widget_show (preview_aspectframe);
680 gtk_container_add (GTK_CONTAINER (preview_frame), preview_aspectframe);
681 gtk_container_set_border_width (GTK_CONTAINER (preview_aspectframe), 8);
683 preview = gtk_drawing_area_new ();
684 gtk_widget_set_name (preview, "preview");
685 gtk_widget_ref (preview);
686 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "preview", preview,
687 (GtkDestroyNotify) gtk_widget_unref);
688 gtk_widget_show (preview);
689 gtk_container_add (GTK_CONTAINER (preview_aspectframe), preview);
691 demo_tab = gtk_label_new (_("Display Modes"));
692 gtk_widget_set_name (demo_tab, "demo_tab");
693 gtk_widget_ref (demo_tab);
694 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "demo_tab", demo_tab,
695 (GtkDestroyNotify) gtk_widget_unref);
696 gtk_widget_show (demo_tab);
697 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), demo_tab);
699 options_table = gtk_table_new (2, 2, TRUE);
700 gtk_widget_set_name (options_table, "options_table");
701 gtk_widget_ref (options_table);
702 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "options_table", options_table,
703 (GtkDestroyNotify) gtk_widget_unref);
704 gtk_widget_show (options_table);
705 gtk_container_add (GTK_CONTAINER (notebook), options_table);
707 diag_frame = gtk_frame_new (_("Diagnostics"));
708 gtk_widget_set_name (diag_frame, "diag_frame");
709 gtk_widget_ref (diag_frame);
710 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_frame", diag_frame,
711 (GtkDestroyNotify) gtk_widget_unref);
712 gtk_widget_show (diag_frame);
713 gtk_table_attach (GTK_TABLE (options_table), diag_frame, 0, 1, 1, 2,
714 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
715 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
716 gtk_container_set_border_width (GTK_CONTAINER (diag_frame), 10);
718 diag_hbox = gtk_hbox_new (FALSE, 8);
719 gtk_widget_set_name (diag_hbox, "diag_hbox");
720 gtk_widget_ref (diag_hbox);
721 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_hbox", diag_hbox,
722 (GtkDestroyNotify) gtk_widget_unref);
723 gtk_widget_show (diag_hbox);
724 gtk_container_add (GTK_CONTAINER (diag_frame), diag_hbox);
725 gtk_container_set_border_width (GTK_CONTAINER (diag_hbox), 8);
727 diag_logo = create_pixmap (xscreensaver_demo, "screensaver-diagnostic.png");
728 gtk_widget_set_name (diag_logo, "diag_logo");
729 gtk_widget_ref (diag_logo);
730 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_logo", diag_logo,
731 (GtkDestroyNotify) gtk_widget_unref);
732 gtk_widget_show (diag_logo);
733 gtk_box_pack_start (GTK_BOX (diag_hbox), diag_logo, FALSE, FALSE, 0);
734 gtk_misc_set_alignment (GTK_MISC (diag_logo), 0.5, 0);
736 diag_vbox = gtk_vbox_new (FALSE, 0);
737 gtk_widget_set_name (diag_vbox, "diag_vbox");
738 gtk_widget_ref (diag_vbox);
739 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "diag_vbox", diag_vbox,
740 (GtkDestroyNotify) gtk_widget_unref);
741 gtk_widget_show (diag_vbox);
742 gtk_box_pack_start (GTK_BOX (diag_hbox), diag_vbox, TRUE, TRUE, 0);
744 verbose_button_eventbox = gtk_event_box_new ();
745 gtk_widget_set_name (verbose_button_eventbox, "verbose_button_eventbox");
746 gtk_widget_ref (verbose_button_eventbox);
747 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button_eventbox", verbose_button_eventbox,
748 (GtkDestroyNotify) gtk_widget_unref);
749 gtk_widget_show (verbose_button_eventbox);
750 gtk_box_pack_start (GTK_BOX (diag_vbox), verbose_button_eventbox, FALSE, FALSE, 0);
751 gtk_tooltips_set_tip (tooltips, verbose_button_eventbox, _("Whether the daemon should print lots of debugging information."), NULL);
753 verbose_button = gtk_check_button_new_with_label (_("Verbose Diagnostics"));
754 gtk_widget_set_name (verbose_button, "verbose_button");
755 gtk_widget_ref (verbose_button);
756 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "verbose_button", verbose_button,
757 (GtkDestroyNotify) gtk_widget_unref);
758 gtk_widget_show (verbose_button);
759 gtk_container_add (GTK_CONTAINER (verbose_button_eventbox), verbose_button);
761 capture_button_eventbox = gtk_event_box_new ();
762 gtk_widget_set_name (capture_button_eventbox, "capture_button_eventbox");
763 gtk_widget_ref (capture_button_eventbox);
764 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "capture_button_eventbox", capture_button_eventbox,
765 (GtkDestroyNotify) gtk_widget_unref);
766 gtk_widget_show (capture_button_eventbox);
767 gtk_box_pack_start (GTK_BOX (diag_vbox), capture_button_eventbox, FALSE, FALSE, 0);
768 gtk_tooltips_set_tip (tooltips, capture_button_eventbox, _("Whether any error output of the display modes should be redirected to the screen."), NULL);
770 capture_button = gtk_check_button_new_with_label (_("Display Subprocess Errors"));
771 gtk_widget_set_name (capture_button, "capture_button");
772 gtk_widget_ref (capture_button);
773 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "capture_button", capture_button,
774 (GtkDestroyNotify) gtk_widget_unref);
775 gtk_widget_show (capture_button);
776 gtk_container_add (GTK_CONTAINER (capture_button_eventbox), capture_button);
778 splash_button_eventbox = gtk_event_box_new ();
779 gtk_widget_set_name (splash_button_eventbox, "splash_button_eventbox");
780 gtk_widget_ref (splash_button_eventbox);
781 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "splash_button_eventbox", splash_button_eventbox,
782 (GtkDestroyNotify) gtk_widget_unref);
783 gtk_widget_show (splash_button_eventbox);
784 gtk_box_pack_start (GTK_BOX (diag_vbox), splash_button_eventbox, FALSE, FALSE, 0);
785 gtk_tooltips_set_tip (tooltips, splash_button_eventbox, _("Whether the splash screen (with the version number and `Help' button) should be momentarily displayed when the daemon first starts up."), NULL);
787 splash_button = gtk_check_button_new_with_label (_("Display Splash Screen at Startup"));
788 gtk_widget_set_name (splash_button, "splash_button");
789 gtk_widget_ref (splash_button);
790 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "splash_button", splash_button,
791 (GtkDestroyNotify) gtk_widget_unref);
792 gtk_widget_show (splash_button);
793 gtk_container_add (GTK_CONTAINER (splash_button_eventbox), splash_button);
794 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (splash_button), TRUE);
796 cmap_frame = gtk_frame_new (_("Colormaps"));
797 gtk_widget_set_name (cmap_frame, "cmap_frame");
798 gtk_widget_ref (cmap_frame);
799 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_frame", cmap_frame,
800 (GtkDestroyNotify) gtk_widget_unref);
801 gtk_widget_show (cmap_frame);
802 gtk_table_attach (GTK_TABLE (options_table), cmap_frame, 1, 2, 1, 2,
803 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
804 (GtkAttachOptions) (GTK_FILL), 0, 0);
805 gtk_container_set_border_width (GTK_CONTAINER (cmap_frame), 10);
807 cmap_hbox = gtk_hbox_new (FALSE, 8);
808 gtk_widget_set_name (cmap_hbox, "cmap_hbox");
809 gtk_widget_ref (cmap_hbox);
810 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_hbox", cmap_hbox,
811 (GtkDestroyNotify) gtk_widget_unref);
812 gtk_widget_show (cmap_hbox);
813 gtk_container_add (GTK_CONTAINER (cmap_frame), cmap_hbox);
814 gtk_container_set_border_width (GTK_CONTAINER (cmap_hbox), 8);
816 cmap_logo = create_pixmap (xscreensaver_demo, "screensaver-colorselector.png");
817 gtk_widget_set_name (cmap_logo, "cmap_logo");
818 gtk_widget_ref (cmap_logo);
819 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_logo", cmap_logo,
820 (GtkDestroyNotify) gtk_widget_unref);
821 gtk_widget_show (cmap_logo);
822 gtk_box_pack_start (GTK_BOX (cmap_hbox), cmap_logo, FALSE, FALSE, 0);
823 gtk_misc_set_alignment (GTK_MISC (cmap_logo), 0.5, 0);
825 cmap_vbox = gtk_vbox_new (FALSE, 0);
826 gtk_widget_set_name (cmap_vbox, "cmap_vbox");
827 gtk_widget_ref (cmap_vbox);
828 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_vbox", cmap_vbox,
829 (GtkDestroyNotify) gtk_widget_unref);
830 gtk_widget_show (cmap_vbox);
831 gtk_box_pack_start (GTK_BOX (cmap_hbox), cmap_vbox, TRUE, TRUE, 0);
833 install_button_eventbox = gtk_event_box_new ();
834 gtk_widget_set_name (install_button_eventbox, "install_button_eventbox");
835 gtk_widget_ref (install_button_eventbox);
836 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button_eventbox", install_button_eventbox,
837 (GtkDestroyNotify) gtk_widget_unref);
838 gtk_widget_show (install_button_eventbox);
839 gtk_box_pack_start (GTK_BOX (cmap_vbox), install_button_eventbox, FALSE, FALSE, 0);
840 gtk_tooltips_set_tip (tooltips, install_button_eventbox, _("Whether to install a private colormap when running in 8-bit mode on the default Visual."), NULL);
842 install_button = gtk_check_button_new_with_label (_("Install Colormap"));
843 gtk_widget_set_name (install_button, "install_button");
844 gtk_widget_ref (install_button);
845 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "install_button", install_button,
846 (GtkDestroyNotify) gtk_widget_unref);
847 gtk_widget_show (install_button);
848 gtk_container_add (GTK_CONTAINER (install_button_eventbox), install_button);
850 cmap_hr = gtk_hseparator_new ();
851 gtk_widget_set_name (cmap_hr, "cmap_hr");
852 gtk_widget_ref (cmap_hr);
853 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "cmap_hr", cmap_hr,
854 (GtkDestroyNotify) gtk_widget_unref);
855 gtk_widget_show (cmap_hr);
856 gtk_box_pack_start (GTK_BOX (cmap_vbox), cmap_hr, FALSE, FALSE, 4);
858 fade_button_eventbox = gtk_event_box_new ();
859 gtk_widget_set_name (fade_button_eventbox, "fade_button_eventbox");
860 gtk_widget_ref (fade_button_eventbox);
861 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button_eventbox", fade_button_eventbox,
862 (GtkDestroyNotify) gtk_widget_unref);
863 gtk_widget_show (fade_button_eventbox);
864 gtk_box_pack_start (GTK_BOX (cmap_vbox), fade_button_eventbox, FALSE, FALSE, 0);
865 gtk_tooltips_set_tip (tooltips, fade_button_eventbox, _("Whether the screen should slowly fade to black when the screen saver activates."), NULL);
867 fade_button = gtk_check_button_new_with_label (_("Fade To Black When Blanking"));
868 gtk_widget_set_name (fade_button, "fade_button");
869 gtk_widget_ref (fade_button);
870 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_button", fade_button,
871 (GtkDestroyNotify) gtk_widget_unref);
872 gtk_widget_show (fade_button);
873 gtk_container_add (GTK_CONTAINER (fade_button_eventbox), fade_button);
875 unfade_button_eventbox = gtk_event_box_new ();
876 gtk_widget_set_name (unfade_button_eventbox, "unfade_button_eventbox");
877 gtk_widget_ref (unfade_button_eventbox);
878 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button_eventbox", unfade_button_eventbox,
879 (GtkDestroyNotify) gtk_widget_unref);
880 gtk_widget_show (unfade_button_eventbox);
881 gtk_box_pack_start (GTK_BOX (cmap_vbox), unfade_button_eventbox, FALSE, FALSE, 0);
882 gtk_tooltips_set_tip (tooltips, unfade_button_eventbox, _("Whether the screen should slowly fade in from black when the screen saver deactivates."), NULL);
884 unfade_button = gtk_check_button_new_with_label (_("Fade From Black When Unblanking"));
885 gtk_widget_set_name (unfade_button, "unfade_button");
886 gtk_widget_ref (unfade_button);
887 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "unfade_button", unfade_button,
888 (GtkDestroyNotify) gtk_widget_unref);
889 gtk_widget_show (unfade_button);
890 gtk_container_add (GTK_CONTAINER (unfade_button_eventbox), unfade_button);
892 fade_hbox = gtk_hbox_new (FALSE, 0);
893 gtk_widget_set_name (fade_hbox, "fade_hbox");
894 gtk_widget_ref (fade_hbox);
895 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_hbox", fade_hbox,
896 (GtkDestroyNotify) gtk_widget_unref);
897 gtk_widget_show (fade_hbox);
898 gtk_box_pack_start (GTK_BOX (cmap_vbox), fade_hbox, FALSE, FALSE, 0);
900 fade_dummy = gtk_label_new ("");
901 gtk_widget_set_name (fade_dummy, "fade_dummy");
902 gtk_widget_ref (fade_dummy);
903 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_dummy", fade_dummy,
904 (GtkDestroyNotify) gtk_widget_unref);
905 gtk_widget_show (fade_dummy);
906 gtk_box_pack_start (GTK_BOX (fade_hbox), fade_dummy, FALSE, FALSE, 0);
907 gtk_label_set_justify (GTK_LABEL (fade_dummy), GTK_JUSTIFY_LEFT);
908 gtk_misc_set_padding (GTK_MISC (fade_dummy), 3, 0);
910 fade_label = gtk_label_new (_("Fade Duration"));
911 gtk_widget_set_name (fade_label, "fade_label");
912 gtk_widget_ref (fade_label);
913 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_label", fade_label,
914 (GtkDestroyNotify) gtk_widget_unref);
915 gtk_widget_show (fade_label);
916 gtk_box_pack_start (GTK_BOX (fade_hbox), fade_label, FALSE, FALSE, 10);
917 gtk_label_set_justify (GTK_LABEL (fade_label), GTK_JUSTIFY_LEFT);
918 gtk_misc_set_alignment (GTK_MISC (fade_label), 0, 0.5);
920 fade_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 1, 1, 1);
921 fade_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (fade_spinbutton_adj), 1, 0);
922 gtk_widget_set_name (fade_spinbutton, "fade_spinbutton");
923 gtk_widget_ref (fade_spinbutton);
924 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_spinbutton", fade_spinbutton,
925 (GtkDestroyNotify) gtk_widget_unref);
926 gtk_widget_show (fade_spinbutton);
927 gtk_box_pack_start (GTK_BOX (fade_hbox), fade_spinbutton, FALSE, FALSE, 0);
928 gtk_tooltips_set_tip (tooltips, fade_spinbutton, _("How long it should take for the screen to fade in and out."), NULL);
929 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fade_spinbutton), TRUE);
930 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (fade_spinbutton), TRUE);
932 fade_sec_label = gtk_label_new (_("seconds"));
933 gtk_widget_set_name (fade_sec_label, "fade_sec_label");
934 gtk_widget_ref (fade_sec_label);
935 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "fade_sec_label", fade_sec_label,
936 (GtkDestroyNotify) gtk_widget_unref);
937 gtk_widget_show (fade_sec_label);
938 gtk_box_pack_start (GTK_BOX (fade_hbox), fade_sec_label, FALSE, FALSE, 0);
939 gtk_label_set_justify (GTK_LABEL (fade_sec_label), GTK_JUSTIFY_LEFT);
940 gtk_misc_set_alignment (GTK_MISC (fade_sec_label), 0, 0.5);
942 dpms_frame = gtk_frame_new (_("Display Power Management"));
943 gtk_widget_set_name (dpms_frame, "dpms_frame");
944 gtk_widget_ref (dpms_frame);
945 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_frame", dpms_frame,
946 (GtkDestroyNotify) gtk_widget_unref);
947 gtk_widget_show (dpms_frame);
948 gtk_table_attach (GTK_TABLE (options_table), dpms_frame, 1, 2, 0, 1,
949 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
950 (GtkAttachOptions) (GTK_FILL), 0, 0);
951 gtk_container_set_border_width (GTK_CONTAINER (dpms_frame), 10);
953 dpms_hbox = gtk_hbox_new (FALSE, 8);
954 gtk_widget_set_name (dpms_hbox, "dpms_hbox");
955 gtk_widget_ref (dpms_hbox);
956 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_hbox", dpms_hbox,
957 (GtkDestroyNotify) gtk_widget_unref);
958 gtk_widget_show (dpms_hbox);
959 gtk_container_add (GTK_CONTAINER (dpms_frame), dpms_hbox);
960 gtk_container_set_border_width (GTK_CONTAINER (dpms_hbox), 8);
962 dpms_logo = create_pixmap (xscreensaver_demo, "screensaver-power.png");
963 gtk_widget_set_name (dpms_logo, "dpms_logo");
964 gtk_widget_ref (dpms_logo);
965 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_logo", dpms_logo,
966 (GtkDestroyNotify) gtk_widget_unref);
967 gtk_widget_show (dpms_logo);
968 gtk_box_pack_start (GTK_BOX (dpms_hbox), dpms_logo, FALSE, FALSE, 0);
969 gtk_misc_set_alignment (GTK_MISC (dpms_logo), 0.5, 0);
971 dpms_vbox = gtk_vbox_new (FALSE, 0);
972 gtk_widget_set_name (dpms_vbox, "dpms_vbox");
973 gtk_widget_ref (dpms_vbox);
974 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_vbox", dpms_vbox,
975 (GtkDestroyNotify) gtk_widget_unref);
976 gtk_widget_show (dpms_vbox);
977 gtk_box_pack_start (GTK_BOX (dpms_hbox), dpms_vbox, FALSE, FALSE, 0);
979 dpms_button_eventbox = gtk_event_box_new ();
980 gtk_widget_set_name (dpms_button_eventbox, "dpms_button_eventbox");
981 gtk_widget_ref (dpms_button_eventbox);
982 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_button_eventbox", dpms_button_eventbox,
983 (GtkDestroyNotify) gtk_widget_unref);
984 gtk_widget_show (dpms_button_eventbox);
985 gtk_box_pack_start (GTK_BOX (dpms_vbox), dpms_button_eventbox, FALSE, FALSE, 0);
986 gtk_tooltips_set_tip (tooltips, dpms_button_eventbox, _("Whether the monitor should be powered down after a while."), NULL);
988 dpms_button = gtk_check_button_new_with_label (_("Power Management Enabled"));
989 gtk_widget_set_name (dpms_button, "dpms_button");
990 gtk_widget_ref (dpms_button);
991 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_button", dpms_button,
992 (GtkDestroyNotify) gtk_widget_unref);
993 gtk_widget_show (dpms_button);
994 gtk_container_add (GTK_CONTAINER (dpms_button_eventbox), dpms_button);
995 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dpms_button), TRUE);
997 dpms_table = gtk_table_new (3, 3, FALSE);
998 gtk_widget_set_name (dpms_table, "dpms_table");
999 gtk_widget_ref (dpms_table);
1000 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_table", dpms_table,
1001 (GtkDestroyNotify) gtk_widget_unref);
1002 gtk_widget_show (dpms_table);
1003 gtk_box_pack_start (GTK_BOX (dpms_vbox), dpms_table, FALSE, FALSE, 0);
1004 gtk_table_set_row_spacings (GTK_TABLE (dpms_table), 2);
1006 dpms_standby_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
1007 dpms_standby_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_standby_spinbutton_adj), 15, 0);
1008 gtk_widget_set_name (dpms_standby_spinbutton, "dpms_standby_spinbutton");
1009 gtk_widget_ref (dpms_standby_spinbutton);
1010 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_spinbutton", dpms_standby_spinbutton,
1011 (GtkDestroyNotify) gtk_widget_unref);
1012 gtk_widget_show (dpms_standby_spinbutton);
1013 gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_spinbutton, 1, 2, 0, 1,
1014 (GtkAttachOptions) (GTK_FILL),
1015 (GtkAttachOptions) (0), 0, 0);
1016 gtk_tooltips_set_tip (tooltips, dpms_standby_spinbutton, _("How long before the monitor goes completely black."), NULL);
1017 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_standby_spinbutton), TRUE);
1018 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_standby_spinbutton), TRUE);
1020 dpms_standby_mlabel = gtk_label_new (_("minutes"));
1021 gtk_widget_set_name (dpms_standby_mlabel, "dpms_standby_mlabel");
1022 gtk_widget_ref (dpms_standby_mlabel);
1023 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_mlabel", dpms_standby_mlabel,
1024 (GtkDestroyNotify) gtk_widget_unref);
1025 gtk_widget_show (dpms_standby_mlabel);
1026 gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_mlabel, 2, 3, 0, 1,
1027 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1028 (GtkAttachOptions) (0), 0, 0);
1029 gtk_label_set_justify (GTK_LABEL (dpms_standby_mlabel), GTK_JUSTIFY_LEFT);
1030 gtk_misc_set_alignment (GTK_MISC (dpms_standby_mlabel), 0, 0.5);
1032 dpms_suspend_mlabel = gtk_label_new (_("minutes"));
1033 gtk_widget_set_name (dpms_suspend_mlabel, "dpms_suspend_mlabel");
1034 gtk_widget_ref (dpms_suspend_mlabel);
1035 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_mlabel", dpms_suspend_mlabel,
1036 (GtkDestroyNotify) gtk_widget_unref);
1037 gtk_widget_show (dpms_suspend_mlabel);
1038 gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_mlabel, 2, 3, 1, 2,
1039 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1040 (GtkAttachOptions) (0), 0, 0);
1041 gtk_label_set_justify (GTK_LABEL (dpms_suspend_mlabel), GTK_JUSTIFY_LEFT);
1042 gtk_misc_set_alignment (GTK_MISC (dpms_suspend_mlabel), 0, 0.5);
1044 dpms_off_mlabel = gtk_label_new (_("minutes"));
1045 gtk_widget_set_name (dpms_off_mlabel, "dpms_off_mlabel");
1046 gtk_widget_ref (dpms_off_mlabel);
1047 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_mlabel", dpms_off_mlabel,
1048 (GtkDestroyNotify) gtk_widget_unref);
1049 gtk_widget_show (dpms_off_mlabel);
1050 gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_mlabel, 2, 3, 2, 3,
1051 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1052 (GtkAttachOptions) (0), 0, 0);
1053 gtk_label_set_justify (GTK_LABEL (dpms_off_mlabel), GTK_JUSTIFY_LEFT);
1054 gtk_misc_set_alignment (GTK_MISC (dpms_off_mlabel), 0, 0.5);
1056 dpms_off_label = gtk_label_new (_("Off After"));
1057 gtk_widget_set_name (dpms_off_label, "dpms_off_label");
1058 gtk_widget_ref (dpms_off_label);
1059 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_label", dpms_off_label,
1060 (GtkDestroyNotify) gtk_widget_unref);
1061 gtk_widget_show (dpms_off_label);
1062 gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_label, 0, 1, 2, 3,
1063 (GtkAttachOptions) (GTK_FILL),
1064 (GtkAttachOptions) (0), 0, 0);
1065 gtk_label_set_justify (GTK_LABEL (dpms_off_label), GTK_JUSTIFY_RIGHT);
1066 gtk_misc_set_alignment (GTK_MISC (dpms_off_label), 1, 0.5);
1067 gtk_misc_set_padding (GTK_MISC (dpms_off_label), 10, 0);
1069 dpms_suspend_label = gtk_label_new (_("Suspend After"));
1070 gtk_widget_set_name (dpms_suspend_label, "dpms_suspend_label");
1071 gtk_widget_ref (dpms_suspend_label);
1072 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_label", dpms_suspend_label,
1073 (GtkDestroyNotify) gtk_widget_unref);
1074 gtk_widget_show (dpms_suspend_label);
1075 gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_label, 0, 1, 1, 2,
1076 (GtkAttachOptions) (GTK_FILL),
1077 (GtkAttachOptions) (0), 0, 0);
1078 gtk_label_set_justify (GTK_LABEL (dpms_suspend_label), GTK_JUSTIFY_RIGHT);
1079 gtk_misc_set_alignment (GTK_MISC (dpms_suspend_label), 1, 0.5);
1080 gtk_misc_set_padding (GTK_MISC (dpms_suspend_label), 10, 0);
1082 dpms_standby_label = gtk_label_new (_("Standby After"));
1083 gtk_widget_set_name (dpms_standby_label, "dpms_standby_label");
1084 gtk_widget_ref (dpms_standby_label);
1085 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_standby_label", dpms_standby_label,
1086 (GtkDestroyNotify) gtk_widget_unref);
1087 gtk_widget_show (dpms_standby_label);
1088 gtk_table_attach (GTK_TABLE (dpms_table), dpms_standby_label, 0, 1, 0, 1,
1089 (GtkAttachOptions) (GTK_FILL),
1090 (GtkAttachOptions) (0), 0, 0);
1091 gtk_label_set_justify (GTK_LABEL (dpms_standby_label), GTK_JUSTIFY_RIGHT);
1092 gtk_misc_set_alignment (GTK_MISC (dpms_standby_label), 1, 0.5);
1093 gtk_misc_set_padding (GTK_MISC (dpms_standby_label), 10, 0);
1095 dpms_suspend_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
1096 dpms_suspend_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_suspend_spinbutton_adj), 15, 0);
1097 gtk_widget_set_name (dpms_suspend_spinbutton, "dpms_suspend_spinbutton");
1098 gtk_widget_ref (dpms_suspend_spinbutton);
1099 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_suspend_spinbutton", dpms_suspend_spinbutton,
1100 (GtkDestroyNotify) gtk_widget_unref);
1101 gtk_widget_show (dpms_suspend_spinbutton);
1102 gtk_table_attach (GTK_TABLE (dpms_table), dpms_suspend_spinbutton, 1, 2, 1, 2,
1103 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1104 (GtkAttachOptions) (0), 0, 0);
1105 gtk_tooltips_set_tip (tooltips, dpms_suspend_spinbutton, _("How long until the monitor goes into power-saving mode."), NULL);
1106 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_suspend_spinbutton), TRUE);
1107 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_suspend_spinbutton), TRUE);
1109 dpms_off_spinbutton_adj = gtk_adjustment_new (0, 0, 1440, 1, 30, 30);
1110 dpms_off_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dpms_off_spinbutton_adj), 15, 0);
1111 gtk_widget_set_name (dpms_off_spinbutton, "dpms_off_spinbutton");
1112 gtk_widget_ref (dpms_off_spinbutton);
1113 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "dpms_off_spinbutton", dpms_off_spinbutton,
1114 (GtkDestroyNotify) gtk_widget_unref);
1115 gtk_widget_show (dpms_off_spinbutton);
1116 gtk_table_attach (GTK_TABLE (dpms_table), dpms_off_spinbutton, 1, 2, 2, 3,
1117 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1118 (GtkAttachOptions) (0), 0, 0);
1119 gtk_tooltips_set_tip (tooltips, dpms_off_spinbutton, _("How long until the monitor powers down."), NULL);
1120 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dpms_off_spinbutton), TRUE);
1121 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (dpms_off_spinbutton), TRUE);
1123 grab_frame = gtk_frame_new (_("Image Manipulation"));
1124 gtk_widget_set_name (grab_frame, "grab_frame");
1125 gtk_widget_ref (grab_frame);
1126 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_frame", grab_frame,
1127 (GtkDestroyNotify) gtk_widget_unref);
1128 gtk_widget_show (grab_frame);
1129 gtk_table_attach (GTK_TABLE (options_table), grab_frame, 0, 1, 0, 1,
1130 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1131 (GtkAttachOptions) (GTK_FILL), 0, 0);
1132 gtk_container_set_border_width (GTK_CONTAINER (grab_frame), 10);
1134 grab_hbox = gtk_hbox_new (FALSE, 8);
1135 gtk_widget_set_name (grab_hbox, "grab_hbox");
1136 gtk_widget_ref (grab_hbox);
1137 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_hbox", grab_hbox,
1138 (GtkDestroyNotify) gtk_widget_unref);
1139 gtk_widget_show (grab_hbox);
1140 gtk_container_add (GTK_CONTAINER (grab_frame), grab_hbox);
1141 gtk_container_set_border_width (GTK_CONTAINER (grab_hbox), 8);
1143 img_logo = create_pixmap (xscreensaver_demo, "screensaver-snap.png");
1144 gtk_widget_set_name (img_logo, "img_logo");
1145 gtk_widget_ref (img_logo);
1146 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "img_logo", img_logo,
1147 (GtkDestroyNotify) gtk_widget_unref);
1148 gtk_widget_show (img_logo);
1149 gtk_box_pack_start (GTK_BOX (grab_hbox), img_logo, FALSE, FALSE, 0);
1150 gtk_misc_set_alignment (GTK_MISC (img_logo), 0.5, 0);
1152 grab_vbox = gtk_vbox_new (FALSE, 0);
1153 gtk_widget_set_name (grab_vbox, "grab_vbox");
1154 gtk_widget_ref (grab_vbox);
1155 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_vbox", grab_vbox,
1156 (GtkDestroyNotify) gtk_widget_unref);
1157 gtk_widget_show (grab_vbox);
1158 gtk_box_pack_start (GTK_BOX (grab_hbox), grab_vbox, TRUE, TRUE, 0);
1160 grab_desk_eventbox = gtk_event_box_new ();
1161 gtk_widget_set_name (grab_desk_eventbox, "grab_desk_eventbox");
1162 gtk_widget_ref (grab_desk_eventbox);
1163 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_desk_eventbox", grab_desk_eventbox,
1164 (GtkDestroyNotify) gtk_widget_unref);
1165 gtk_widget_show (grab_desk_eventbox);
1166 gtk_box_pack_start (GTK_BOX (grab_vbox), grab_desk_eventbox, FALSE, FALSE, 0);
1167 gtk_tooltips_set_tip (tooltips, grab_desk_eventbox, _("Whether the image-manipulating modes should be allowed to operate on an image of your desktop."), NULL);
1169 grab_desk_button = gtk_check_button_new_with_label (_("Grab Desktop Images"));
1170 gtk_widget_set_name (grab_desk_button, "grab_desk_button");
1171 gtk_widget_ref (grab_desk_button);
1172 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_desk_button", grab_desk_button,
1173 (GtkDestroyNotify) gtk_widget_unref);
1174 gtk_widget_show (grab_desk_button);
1175 gtk_container_add (GTK_CONTAINER (grab_desk_eventbox), grab_desk_button);
1177 grab_video_eventbox = gtk_event_box_new ();
1178 gtk_widget_set_name (grab_video_eventbox, "grab_video_eventbox");
1179 gtk_widget_ref (grab_video_eventbox);
1180 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_video_eventbox", grab_video_eventbox,
1181 (GtkDestroyNotify) gtk_widget_unref);
1182 gtk_widget_show (grab_video_eventbox);
1183 gtk_box_pack_start (GTK_BOX (grab_vbox), grab_video_eventbox, FALSE, FALSE, 0);
1184 gtk_tooltips_set_tip (tooltips, grab_video_eventbox, _("Whether the image-manipulating modes should operate on images captured from the system's video input (if there is one)."), NULL);
1186 grab_video_button = gtk_check_button_new_with_label (_("Grab Video Frames"));
1187 gtk_widget_set_name (grab_video_button, "grab_video_button");
1188 gtk_widget_ref (grab_video_button);
1189 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_video_button", grab_video_button,
1190 (GtkDestroyNotify) gtk_widget_unref);
1191 gtk_widget_show (grab_video_button);
1192 gtk_container_add (GTK_CONTAINER (grab_video_eventbox), grab_video_button);
1194 grab_image_eventbox = gtk_event_box_new ();
1195 gtk_widget_set_name (grab_image_eventbox, "grab_image_eventbox");
1196 gtk_widget_ref (grab_image_eventbox);
1197 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_image_eventbox", grab_image_eventbox,
1198 (GtkDestroyNotify) gtk_widget_unref);
1199 gtk_widget_show (grab_image_eventbox);
1200 gtk_box_pack_start (GTK_BOX (grab_vbox), grab_image_eventbox, FALSE, FALSE, 0);
1201 gtk_tooltips_set_tip (tooltips, grab_image_eventbox, _("Whether the image-manipulating modes should operate on random images loaded from disk."), NULL);
1203 grab_image_button = gtk_check_button_new_with_label (_("Choose Random Image:"));
1204 gtk_widget_set_name (grab_image_button, "grab_image_button");
1205 gtk_widget_ref (grab_image_button);
1206 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_image_button", grab_image_button,
1207 (GtkDestroyNotify) gtk_widget_unref);
1208 gtk_widget_show (grab_image_button);
1209 gtk_container_add (GTK_CONTAINER (grab_image_eventbox), grab_image_button);
1211 image_hbox = gtk_hbox_new (FALSE, 0);
1212 gtk_widget_set_name (image_hbox, "image_hbox");
1213 gtk_widget_ref (image_hbox);
1214 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_hbox", image_hbox,
1215 (GtkDestroyNotify) gtk_widget_unref);
1216 gtk_widget_show (image_hbox);
1217 gtk_box_pack_start (GTK_BOX (grab_vbox), image_hbox, FALSE, FALSE, 0);
1219 grab_dummy = gtk_label_new ("");
1220 gtk_widget_set_name (grab_dummy, "grab_dummy");
1221 gtk_widget_ref (grab_dummy);
1222 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "grab_dummy", grab_dummy,
1223 (GtkDestroyNotify) gtk_widget_unref);
1224 gtk_widget_show (grab_dummy);
1225 gtk_box_pack_start (GTK_BOX (image_hbox), grab_dummy, FALSE, FALSE, 0);
1226 gtk_label_set_justify (GTK_LABEL (grab_dummy), GTK_JUSTIFY_LEFT);
1227 gtk_misc_set_padding (GTK_MISC (grab_dummy), 8, 0);
1229 image_text = gtk_entry_new ();
1230 gtk_widget_set_name (image_text, "image_text");
1231 gtk_widget_ref (image_text);
1232 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_text", image_text,
1233 (GtkDestroyNotify) gtk_widget_unref);
1234 gtk_widget_show (image_text);
1235 gtk_box_pack_start (GTK_BOX (image_hbox), image_text, TRUE, TRUE, 0);
1236 gtk_tooltips_set_tip (tooltips, image_text, _("The directory from which images will be randomly chosen."), NULL);
1238 image_browse_button = gtk_button_new_with_label (_("Browse"));
1239 gtk_widget_set_name (image_browse_button, "image_browse_button");
1240 gtk_widget_ref (image_browse_button);
1241 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "image_browse_button", image_browse_button,
1242 (GtkDestroyNotify) gtk_widget_unref);
1243 gtk_widget_show (image_browse_button);
1244 gtk_box_pack_start (GTK_BOX (image_hbox), image_browse_button, FALSE, FALSE, 4);
1246 options_tab = gtk_label_new (_("Advanced"));
1247 gtk_widget_set_name (options_tab, "options_tab");
1248 gtk_widget_ref (options_tab);
1249 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "options_tab", options_tab,
1250 (GtkDestroyNotify) gtk_widget_unref);
1251 gtk_widget_show (options_tab);
1252 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), options_tab);
1254 gtk_signal_connect (GTK_OBJECT (activate_menu), "activate",
1255 GTK_SIGNAL_FUNC (activate_menu_cb),
1257 gtk_signal_connect (GTK_OBJECT (lock_menu), "activate",
1258 GTK_SIGNAL_FUNC (lock_menu_cb),
1260 gtk_signal_connect (GTK_OBJECT (kill_menu), "activate",
1261 GTK_SIGNAL_FUNC (kill_menu_cb),
1263 gtk_signal_connect (GTK_OBJECT (restart), "activate",
1264 GTK_SIGNAL_FUNC (restart_menu_cb),
1266 gtk_signal_connect (GTK_OBJECT (exit_menu), "activate",
1267 GTK_SIGNAL_FUNC (exit_menu_cb),
1269 gtk_signal_connect (GTK_OBJECT (about_menu), "activate",
1270 GTK_SIGNAL_FUNC (about_menu_cb),
1272 gtk_signal_connect (GTK_OBJECT (doc_menu), "activate",
1273 GTK_SIGNAL_FUNC (doc_menu_cb),
1275 gtk_signal_connect (GTK_OBJECT (notebook), "switch_page",
1276 GTK_SIGNAL_FUNC (switch_page_cb),
1278 gtk_signal_connect (GTK_OBJECT (lock_button), "toggled",
1279 GTK_SIGNAL_FUNC (pref_changed_cb),
1281 gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "activate",
1282 GTK_SIGNAL_FUNC (pref_changed_cb),
1284 gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "focus_out_event",
1285 GTK_SIGNAL_FUNC (pref_changed_cb),
1287 gtk_signal_connect (GTK_OBJECT (timeout_spinbutton), "changed",
1288 GTK_SIGNAL_FUNC (pref_changed_cb),
1290 gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "activate",
1291 GTK_SIGNAL_FUNC (pref_changed_cb),
1293 gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "focus_out_event",
1294 GTK_SIGNAL_FUNC (pref_changed_cb),
1296 gtk_signal_connect (GTK_OBJECT (lock_spinbutton), "changed",
1297 GTK_SIGNAL_FUNC (pref_changed_cb),
1299 gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "activate",
1300 GTK_SIGNAL_FUNC (pref_changed_cb),
1302 gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "focus_out_event",
1303 GTK_SIGNAL_FUNC (pref_changed_cb),
1305 gtk_signal_connect (GTK_OBJECT (cycle_spinbutton), "changed",
1306 GTK_SIGNAL_FUNC (pref_changed_cb),
1308 gtk_signal_connect (GTK_OBJECT (demo), "clicked",
1309 GTK_SIGNAL_FUNC (run_this_cb),
1311 gtk_signal_connect (GTK_OBJECT (settings), "clicked",
1312 GTK_SIGNAL_FUNC (settings_cb),
1314 gtk_signal_connect (GTK_OBJECT (next), "clicked",
1315 GTK_SIGNAL_FUNC (run_next_cb),
1317 gtk_signal_connect (GTK_OBJECT (prev), "clicked",
1318 GTK_SIGNAL_FUNC (run_prev_cb),
1320 gtk_signal_connect (GTK_OBJECT (verbose_button), "toggled",
1321 GTK_SIGNAL_FUNC (pref_changed_cb),
1323 gtk_signal_connect (GTK_OBJECT (capture_button), "toggled",
1324 GTK_SIGNAL_FUNC (pref_changed_cb),
1326 gtk_signal_connect (GTK_OBJECT (splash_button), "toggled",
1327 GTK_SIGNAL_FUNC (pref_changed_cb),
1329 gtk_signal_connect (GTK_OBJECT (install_button), "toggled",
1330 GTK_SIGNAL_FUNC (pref_changed_cb),
1332 gtk_signal_connect (GTK_OBJECT (fade_button), "toggled",
1333 GTK_SIGNAL_FUNC (pref_changed_cb),
1335 gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled",
1336 GTK_SIGNAL_FUNC (pref_changed_cb),
1338 gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "activate",
1339 GTK_SIGNAL_FUNC (pref_changed_cb),
1341 gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "focus_out_event",
1342 GTK_SIGNAL_FUNC (pref_changed_cb),
1344 gtk_signal_connect (GTK_OBJECT (fade_spinbutton), "changed",
1345 GTK_SIGNAL_FUNC (pref_changed_cb),
1347 gtk_signal_connect (GTK_OBJECT (dpms_button), "toggled",
1348 GTK_SIGNAL_FUNC (pref_changed_cb),
1350 gtk_signal_connect (GTK_OBJECT (dpms_standby_spinbutton), "activate",
1351 GTK_SIGNAL_FUNC (pref_changed_cb),
1353 gtk_signal_connect (GTK_OBJECT (dpms_standby_spinbutton), "focus_out_event",
1354 GTK_SIGNAL_FUNC (pref_changed_cb),
1356 gtk_signal_connect (GTK_OBJECT (dpms_standby_spinbutton), "changed",
1357 GTK_SIGNAL_FUNC (pref_changed_cb),
1359 gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "activate",
1360 GTK_SIGNAL_FUNC (pref_changed_cb),
1362 gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "focus_out_event",
1363 GTK_SIGNAL_FUNC (pref_changed_cb),
1365 gtk_signal_connect (GTK_OBJECT (dpms_suspend_spinbutton), "changed",
1366 GTK_SIGNAL_FUNC (pref_changed_cb),
1368 gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "activate",
1369 GTK_SIGNAL_FUNC (pref_changed_cb),
1371 gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "focus_out_event",
1372 GTK_SIGNAL_FUNC (pref_changed_cb),
1374 gtk_signal_connect (GTK_OBJECT (dpms_off_spinbutton), "changed",
1375 GTK_SIGNAL_FUNC (pref_changed_cb),
1377 gtk_signal_connect (GTK_OBJECT (grab_desk_button), "toggled",
1378 GTK_SIGNAL_FUNC (pref_changed_cb),
1380 gtk_signal_connect (GTK_OBJECT (grab_video_button), "toggled",
1381 GTK_SIGNAL_FUNC (pref_changed_cb),
1383 gtk_signal_connect (GTK_OBJECT (grab_image_button), "toggled",
1384 GTK_SIGNAL_FUNC (pref_changed_cb),
1386 gtk_signal_connect (GTK_OBJECT (image_text), "activate",
1387 GTK_SIGNAL_FUNC (pref_changed_cb),
1389 gtk_signal_connect (GTK_OBJECT (image_text), "focus_out_event",
1390 GTK_SIGNAL_FUNC (pref_changed_cb),
1392 gtk_signal_connect (GTK_OBJECT (image_browse_button), "clicked",
1393 GTK_SIGNAL_FUNC (browse_image_dir_cb),
1396 gtk_widget_grab_default (next);
1397 gtk_object_set_data (GTK_OBJECT (xscreensaver_demo), "tooltips", tooltips);
1399 gtk_window_add_accel_group (GTK_WINDOW (xscreensaver_demo), accel_group);
1401 return xscreensaver_demo;
1405 create_xscreensaver_settings_dialog (void)
1407 GtkWidget *xscreensaver_settings_dialog;
1408 GtkWidget *dialog_vbox;
1409 GtkWidget *dialog_top_table;
1410 GtkWidget *opt_frame;
1411 GtkWidget *opt_notebook;
1412 GtkWidget *settings_vbox;
1413 GtkWidget *std_label;
1414 GtkWidget *opt_table;
1415 GtkWidget *cmd_logo;
1416 GtkWidget *visual_hbox;
1418 GtkWidget *visual_combo;
1419 GList *visual_combo_items = NULL;
1420 GtkWidget *combo_entry1;
1421 GtkWidget *cmd_label;
1422 GtkWidget *cmd_text;
1423 GtkWidget *adv_label;
1424 GtkWidget *doc_frame;
1425 GtkWidget *doc_vbox;
1427 GtkWidget *doc_hbuttonbox;
1429 GtkWidget *dialog_action_area;
1430 GtkWidget *actionarea_hbox;
1431 GtkWidget *dialog_hbuttonbox;
1432 GtkWidget *adv_button;
1433 GtkWidget *std_button;
1434 GtkWidget *reset_button;
1435 GtkWidget *ok_cancel_hbuttonbox;
1436 GtkWidget *ok_button;
1437 GtkWidget *cancel_button;
1438 GtkTooltips *tooltips;
1440 tooltips = gtk_tooltips_new ();
1442 xscreensaver_settings_dialog = gtk_dialog_new ();
1443 gtk_widget_set_name (xscreensaver_settings_dialog, "xscreensaver_settings_dialog");
1444 gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "xscreensaver_settings_dialog", xscreensaver_settings_dialog);
1445 gtk_window_set_title (GTK_WINDOW (xscreensaver_settings_dialog), _("XScreenSaver: Mode-Specific Settings"));
1446 GTK_WINDOW (xscreensaver_settings_dialog)->type = GTK_WINDOW_DIALOG;
1447 gtk_window_set_modal (GTK_WINDOW (xscreensaver_settings_dialog), TRUE);
1448 gtk_window_set_policy (GTK_WINDOW (xscreensaver_settings_dialog), TRUE, TRUE, FALSE);
1449 gtk_window_set_wmclass (GTK_WINDOW (xscreensaver_settings_dialog), "settings", "XScreenSaver");
1451 dialog_vbox = GTK_DIALOG (xscreensaver_settings_dialog)->vbox;
1452 gtk_widget_set_name (dialog_vbox, "dialog_vbox");
1453 gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_vbox", dialog_vbox);
1454 gtk_widget_show (dialog_vbox);
1456 dialog_top_table = gtk_table_new (1, 2, FALSE);
1457 gtk_widget_set_name (dialog_top_table, "dialog_top_table");
1458 gtk_widget_ref (dialog_top_table);
1459 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_top_table", dialog_top_table,
1460 (GtkDestroyNotify) gtk_widget_unref);
1461 gtk_widget_show (dialog_top_table);
1462 gtk_box_pack_start (GTK_BOX (dialog_vbox), dialog_top_table, TRUE, TRUE, 0);
1463 gtk_container_set_border_width (GTK_CONTAINER (dialog_top_table), 8);
1464 gtk_table_set_row_spacings (GTK_TABLE (dialog_top_table), 8);
1465 gtk_table_set_col_spacings (GTK_TABLE (dialog_top_table), 8);
1467 opt_frame = gtk_frame_new (_("Settings"));
1468 gtk_widget_set_name (opt_frame, "opt_frame");
1469 gtk_widget_ref (opt_frame);
1470 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_frame", opt_frame,
1471 (GtkDestroyNotify) gtk_widget_unref);
1472 gtk_widget_show (opt_frame);
1473 gtk_table_attach (GTK_TABLE (dialog_top_table), opt_frame, 0, 1, 0, 1,
1474 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1475 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 4, 8);
1477 opt_notebook = gtk_notebook_new ();
1478 gtk_widget_set_name (opt_notebook, "opt_notebook");
1479 gtk_widget_ref (opt_notebook);
1480 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_notebook", opt_notebook,
1481 (GtkDestroyNotify) gtk_widget_unref);
1482 gtk_widget_show (opt_notebook);
1483 gtk_container_add (GTK_CONTAINER (opt_frame), opt_notebook);
1484 gtk_container_set_border_width (GTK_CONTAINER (opt_notebook), 12);
1485 gtk_notebook_set_show_border (GTK_NOTEBOOK (opt_notebook), FALSE);
1486 gtk_notebook_set_tab_pos (GTK_NOTEBOOK (opt_notebook), GTK_POS_BOTTOM);
1488 settings_vbox = gtk_vbox_new (FALSE, 0);
1489 gtk_widget_set_name (settings_vbox, "settings_vbox");
1490 gtk_widget_ref (settings_vbox);
1491 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "settings_vbox", settings_vbox,
1492 (GtkDestroyNotify) gtk_widget_unref);
1493 gtk_widget_show (settings_vbox);
1494 gtk_container_add (GTK_CONTAINER (opt_notebook), settings_vbox);
1496 std_label = gtk_label_new (_("Standard"));
1497 gtk_widget_set_name (std_label, "std_label");
1498 gtk_widget_ref (std_label);
1499 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "std_label", std_label,
1500 (GtkDestroyNotify) gtk_widget_unref);
1501 gtk_widget_show (std_label);
1502 gtk_notebook_set_tab_label (GTK_NOTEBOOK (opt_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (opt_notebook), 0), std_label);
1504 opt_table = gtk_table_new (4, 2, FALSE);
1505 gtk_widget_set_name (opt_table, "opt_table");
1506 gtk_widget_ref (opt_table);
1507 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "opt_table", opt_table,
1508 (GtkDestroyNotify) gtk_widget_unref);
1509 gtk_widget_show (opt_table);
1510 gtk_container_add (GTK_CONTAINER (opt_notebook), opt_table);
1512 cmd_logo = create_pixmap (xscreensaver_settings_dialog, "screensaver-cmndln.png");
1513 gtk_widget_set_name (cmd_logo, "cmd_logo");
1514 gtk_widget_ref (cmd_logo);
1515 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_logo", cmd_logo,
1516 (GtkDestroyNotify) gtk_widget_unref);
1517 gtk_widget_show (cmd_logo);
1518 gtk_table_attach (GTK_TABLE (opt_table), cmd_logo, 0, 1, 0, 1,
1519 (GtkAttachOptions) (GTK_FILL),
1520 (GtkAttachOptions) (GTK_FILL), 0, 0);
1521 gtk_misc_set_padding (GTK_MISC (cmd_logo), 4, 8);
1523 visual_hbox = gtk_hbox_new (FALSE, 0);
1524 gtk_widget_set_name (visual_hbox, "visual_hbox");
1525 gtk_widget_ref (visual_hbox);
1526 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual_hbox", visual_hbox,
1527 (GtkDestroyNotify) gtk_widget_unref);
1528 gtk_widget_show (visual_hbox);
1529 gtk_table_attach (GTK_TABLE (opt_table), visual_hbox, 1, 2, 3, 4,
1530 (GtkAttachOptions) (GTK_FILL),
1531 (GtkAttachOptions) (GTK_FILL), 0, 0);
1533 visual = gtk_label_new (_("Visual:"));
1534 gtk_widget_set_name (visual, "visual");
1535 gtk_widget_ref (visual);
1536 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual", visual,
1537 (GtkDestroyNotify) gtk_widget_unref);
1538 gtk_widget_show (visual);
1539 gtk_box_pack_start (GTK_BOX (visual_hbox), visual, FALSE, FALSE, 0);
1540 gtk_label_set_justify (GTK_LABEL (visual), GTK_JUSTIFY_RIGHT);
1541 gtk_misc_set_alignment (GTK_MISC (visual), 1, 0.5);
1542 gtk_misc_set_padding (GTK_MISC (visual), 4, 0);
1544 visual_combo = gtk_combo_new ();
1545 gtk_widget_set_name (visual_combo, "visual_combo");
1546 gtk_widget_ref (visual_combo);
1547 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "visual_combo", visual_combo,
1548 (GtkDestroyNotify) gtk_widget_unref);
1549 gtk_widget_show (visual_combo);
1550 gtk_box_pack_start (GTK_BOX (visual_hbox), visual_combo, FALSE, FALSE, 0);
1551 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Any"));
1552 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Best"));
1553 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Default"));
1554 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Default-N"));
1555 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("GL"));
1556 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("TrueColor"));
1557 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("PseudoColor"));
1558 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("StaticGray"));
1559 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("GrayScale"));
1560 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("DirectColor"));
1561 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Color"));
1562 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Gray"));
1563 visual_combo_items = g_list_append (visual_combo_items, (gpointer) _("Mono"));
1564 gtk_combo_set_popdown_strings (GTK_COMBO (visual_combo), visual_combo_items);
1565 g_list_free (visual_combo_items);
1567 combo_entry1 = GTK_COMBO (visual_combo)->entry;
1568 gtk_widget_set_name (combo_entry1, "combo_entry1");
1569 gtk_widget_ref (combo_entry1);
1570 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "combo_entry1", combo_entry1,
1571 (GtkDestroyNotify) gtk_widget_unref);
1572 gtk_widget_show (combo_entry1);
1573 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);
1574 gtk_entry_set_text (GTK_ENTRY (combo_entry1), _("Any"));
1576 cmd_label = gtk_label_new (_("Command Line:"));
1577 gtk_widget_set_name (cmd_label, "cmd_label");
1578 gtk_widget_ref (cmd_label);
1579 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_label", cmd_label,
1580 (GtkDestroyNotify) gtk_widget_unref);
1581 gtk_widget_show (cmd_label);
1582 gtk_table_attach (GTK_TABLE (opt_table), cmd_label, 1, 2, 1, 2,
1583 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1584 (GtkAttachOptions) (0), 0, 0);
1585 gtk_label_set_justify (GTK_LABEL (cmd_label), GTK_JUSTIFY_LEFT);
1586 gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 1);
1587 gtk_misc_set_padding (GTK_MISC (cmd_label), 0, 2);
1589 cmd_text = gtk_entry_new ();
1590 gtk_widget_set_name (cmd_text, "cmd_text");
1591 gtk_widget_ref (cmd_text);
1592 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cmd_text", cmd_text,
1593 (GtkDestroyNotify) gtk_widget_unref);
1594 gtk_widget_show (cmd_text);
1595 gtk_table_attach (GTK_TABLE (opt_table), cmd_text, 1, 2, 2, 3,
1596 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1597 (GtkAttachOptions) (0), 0, 0);
1598 gtk_widget_set_usize (cmd_text, 80, -2);
1600 adv_label = gtk_label_new (_("Advanced"));
1601 gtk_widget_set_name (adv_label, "adv_label");
1602 gtk_widget_ref (adv_label);
1603 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "adv_label", adv_label,
1604 (GtkDestroyNotify) gtk_widget_unref);
1605 gtk_widget_show (adv_label);
1606 gtk_notebook_set_tab_label (GTK_NOTEBOOK (opt_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (opt_notebook), 1), adv_label);
1608 doc_frame = gtk_frame_new (_("Description"));
1609 gtk_widget_set_name (doc_frame, "doc_frame");
1610 gtk_widget_ref (doc_frame);
1611 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_frame", doc_frame,
1612 (GtkDestroyNotify) gtk_widget_unref);
1613 gtk_widget_show (doc_frame);
1614 gtk_table_attach (GTK_TABLE (dialog_top_table), doc_frame, 1, 2, 0, 1,
1615 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
1616 (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 4, 8);
1618 doc_vbox = gtk_vbox_new (FALSE, 0);
1619 gtk_widget_set_name (doc_vbox, "doc_vbox");
1620 gtk_widget_ref (doc_vbox);
1621 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_vbox", doc_vbox,
1622 (GtkDestroyNotify) gtk_widget_unref);
1623 gtk_widget_show (doc_vbox);
1624 gtk_container_add (GTK_CONTAINER (doc_frame), doc_vbox);
1626 doc = gtk_label_new ("");
1627 gtk_widget_set_name (doc, "doc");
1628 gtk_widget_ref (doc);
1629 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc", doc,
1630 (GtkDestroyNotify) gtk_widget_unref);
1631 gtk_widget_show (doc);
1632 gtk_box_pack_start (GTK_BOX (doc_vbox), doc, TRUE, TRUE, 0);
1633 gtk_label_set_justify (GTK_LABEL (doc), GTK_JUSTIFY_LEFT);
1634 gtk_label_set_line_wrap (GTK_LABEL (doc), TRUE);
1635 gtk_misc_set_alignment (GTK_MISC (doc), 0, 0);
1636 gtk_misc_set_padding (GTK_MISC (doc), 10, 10);
1638 doc_hbuttonbox = gtk_hbutton_box_new ();
1639 gtk_widget_set_name (doc_hbuttonbox, "doc_hbuttonbox");
1640 gtk_widget_ref (doc_hbuttonbox);
1641 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "doc_hbuttonbox", doc_hbuttonbox,
1642 (GtkDestroyNotify) gtk_widget_unref);
1643 gtk_widget_show (doc_hbuttonbox);
1644 gtk_box_pack_end (GTK_BOX (doc_vbox), doc_hbuttonbox, FALSE, FALSE, 0);
1645 gtk_container_set_border_width (GTK_CONTAINER (doc_hbuttonbox), 4);
1646 gtk_button_box_set_layout (GTK_BUTTON_BOX (doc_hbuttonbox), GTK_BUTTONBOX_END);
1648 manual = gtk_button_new_with_label (_("Documentation..."));
1649 gtk_widget_set_name (manual, "manual");
1650 gtk_widget_ref (manual);
1651 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "manual", manual,
1652 (GtkDestroyNotify) gtk_widget_unref);
1653 gtk_widget_show (manual);
1654 gtk_container_add (GTK_CONTAINER (doc_hbuttonbox), manual);
1655 STFU GTK_WIDGET_SET_FLAGS (manual, GTK_CAN_DEFAULT);
1656 gtk_tooltips_set_tip (tooltips, manual, _("Click here to read the manual for this display mode, if it has one."), NULL);
1658 dialog_action_area = GTK_DIALOG (xscreensaver_settings_dialog)->action_area;
1659 gtk_widget_set_name (dialog_action_area, "dialog_action_area");
1660 gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_action_area", dialog_action_area);
1661 gtk_widget_show (dialog_action_area);
1662 gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
1664 actionarea_hbox = gtk_hbox_new (FALSE, 0);
1665 gtk_widget_set_name (actionarea_hbox, "actionarea_hbox");
1666 gtk_widget_ref (actionarea_hbox);
1667 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "actionarea_hbox", actionarea_hbox,
1668 (GtkDestroyNotify) gtk_widget_unref);
1669 gtk_widget_show (actionarea_hbox);
1670 gtk_box_pack_start (GTK_BOX (dialog_action_area), actionarea_hbox, TRUE, TRUE, 0);
1672 dialog_hbuttonbox = gtk_hbutton_box_new ();
1673 gtk_widget_set_name (dialog_hbuttonbox, "dialog_hbuttonbox");
1674 gtk_widget_ref (dialog_hbuttonbox);
1675 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "dialog_hbuttonbox", dialog_hbuttonbox,
1676 (GtkDestroyNotify) gtk_widget_unref);
1677 gtk_widget_show (dialog_hbuttonbox);
1678 gtk_box_pack_start (GTK_BOX (actionarea_hbox), dialog_hbuttonbox, TRUE, TRUE, 0);
1679 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_hbuttonbox), GTK_BUTTONBOX_SPREAD);
1681 adv_button = gtk_button_new_with_label (_("Advanced >>"));
1682 gtk_widget_set_name (adv_button, "adv_button");
1683 gtk_widget_ref (adv_button);
1684 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "adv_button", adv_button,
1685 (GtkDestroyNotify) gtk_widget_unref);
1686 gtk_widget_show (adv_button);
1687 gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), adv_button);
1688 STFU GTK_WIDGET_SET_FLAGS (adv_button, GTK_CAN_DEFAULT);
1689 gtk_tooltips_set_tip (tooltips, adv_button, _("Edit the command line directly."), NULL);
1691 std_button = gtk_button_new_with_label (_("Standard <<"));
1692 gtk_widget_set_name (std_button, "std_button");
1693 gtk_widget_ref (std_button);
1694 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "std_button", std_button,
1695 (GtkDestroyNotify) gtk_widget_unref);
1696 gtk_widget_show (std_button);
1697 gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), std_button);
1698 STFU GTK_WIDGET_SET_FLAGS (std_button, GTK_CAN_DEFAULT);
1699 gtk_tooltips_set_tip (tooltips, std_button, _("Back to the graphical configuration options."), NULL);
1701 reset_button = gtk_button_new_with_label (_("Reset to Defaults"));
1702 gtk_widget_set_name (reset_button, "reset_button");
1703 gtk_widget_ref (reset_button);
1704 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "reset_button", reset_button,
1705 (GtkDestroyNotify) gtk_widget_unref);
1706 gtk_widget_show (reset_button);
1707 gtk_container_add (GTK_CONTAINER (dialog_hbuttonbox), reset_button);
1708 STFU GTK_WIDGET_SET_FLAGS (reset_button, GTK_CAN_DEFAULT);
1709 gtk_tooltips_set_tip (tooltips, reset_button, _("Reset this screen saver to the default settings."), NULL);
1711 ok_cancel_hbuttonbox = gtk_hbutton_box_new ();
1712 gtk_widget_set_name (ok_cancel_hbuttonbox, "ok_cancel_hbuttonbox");
1713 gtk_widget_ref (ok_cancel_hbuttonbox);
1714 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "ok_cancel_hbuttonbox", ok_cancel_hbuttonbox,
1715 (GtkDestroyNotify) gtk_widget_unref);
1716 gtk_widget_show (ok_cancel_hbuttonbox);
1717 gtk_box_pack_start (GTK_BOX (actionarea_hbox), ok_cancel_hbuttonbox, TRUE, TRUE, 0);
1718 gtk_button_box_set_layout (GTK_BUTTON_BOX (ok_cancel_hbuttonbox), GTK_BUTTONBOX_END);
1720 ok_button = gtk_button_new_with_label (_("OK"));
1721 gtk_widget_set_name (ok_button, "ok_button");
1722 gtk_widget_ref (ok_button);
1723 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "ok_button", ok_button,
1724 (GtkDestroyNotify) gtk_widget_unref);
1725 gtk_widget_show (ok_button);
1726 gtk_container_add (GTK_CONTAINER (ok_cancel_hbuttonbox), ok_button);
1727 STFU GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT);
1729 cancel_button = gtk_button_new_with_label (_("Cancel"));
1730 gtk_widget_set_name (cancel_button, "cancel_button");
1731 gtk_widget_ref (cancel_button);
1732 gtk_object_set_data_full (GTK_OBJECT (xscreensaver_settings_dialog), "cancel_button", cancel_button,
1733 (GtkDestroyNotify) gtk_widget_unref);
1734 gtk_widget_show (cancel_button);
1735 gtk_container_add (GTK_CONTAINER (ok_cancel_hbuttonbox), cancel_button);
1736 STFU GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT);
1738 gtk_signal_connect (GTK_OBJECT (opt_notebook), "switch_page",
1739 GTK_SIGNAL_FUNC (settings_switch_page_cb),
1741 gtk_signal_connect (GTK_OBJECT (manual), "clicked",
1742 GTK_SIGNAL_FUNC (manual_cb),
1744 gtk_signal_connect (GTK_OBJECT (adv_button), "clicked",
1745 GTK_SIGNAL_FUNC (settings_adv_cb),
1747 gtk_signal_connect (GTK_OBJECT (std_button), "clicked",
1748 GTK_SIGNAL_FUNC (settings_std_cb),
1750 gtk_signal_connect (GTK_OBJECT (reset_button), "clicked",
1751 GTK_SIGNAL_FUNC (settings_reset_cb),
1753 gtk_signal_connect (GTK_OBJECT (ok_button), "clicked",
1754 GTK_SIGNAL_FUNC (settings_ok_cb),
1756 gtk_signal_connect (GTK_OBJECT (cancel_button), "clicked",
1757 GTK_SIGNAL_FUNC (settings_cancel_cb),
1760 gtk_object_set_data (GTK_OBJECT (xscreensaver_settings_dialog), "tooltips", tooltips);
1762 return xscreensaver_settings_dialog;