]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/tmpl/gtkwindow.sgml
Markup fixes
[~andy/gtk] / docs / reference / gtk / tmpl / gtkwindow.sgml
1 <!-- ##### SECTION Title ##### -->
2 GtkWindow
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9
10 </para>
11
12 <!-- ##### SECTION See_Also ##### -->
13 <para>
14
15 </para>
16
17 <!-- ##### STRUCT GtkWindow ##### -->
18 <para>
19
20 </para>
21
22
23 <!-- ##### FUNCTION gtk_window_new ##### -->
24 <para>
25
26 </para>
27
28 @type: 
29 @Returns: 
30
31
32 <!-- ##### FUNCTION gtk_window_set_title ##### -->
33 <para>
34
35 </para>
36
37 @window: 
38 @title: 
39
40
41 <!-- ##### FUNCTION gtk_window_set_wmclass ##### -->
42 <para>
43
44 </para>
45
46 @window: 
47 @wmclass_name: 
48 @wmclass_class: 
49
50
51 <!-- ##### FUNCTION gtk_window_set_policy ##### -->
52 <para>
53 Changes how a toplevel window deals with its size request and user resize
54 attempts. There are really only two reasonable ways to call this function:
55 <orderedlist>
56 <listitem>
57 <para>
58 <literal>gtk_window_set_policy (GTK_WINDOW (window), FALSE, TRUE, FALSE)</literal> 
59 means that the window is user-resizable.
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 <literal>gtk_window_set_policy (GTK_WINDOW (window), FALSE, FALSE, TRUE)</literal> 
65 means that the window's size is program-controlled, and should simply match 
66 the current size request of the window's children.
67 </para>
68 </listitem>
69 </orderedlist>
70 The first policy is the default, that is, by default windows are designed to 
71 be resized by users.
72 </para>
73
74 <para>
75 The basic ugly truth of this function is that it should be simply:
76 <literal>
77  void gtk_window_set_resizable (GtkWindow* window, gboolean setting);
78 </literal>
79 ...which is why GTK+ 2.0 introduces gtk_window_set_resizable(), which you 
80 should use instead of gtk_window_set_policy().
81 </para>
82
83 <para>
84 If set to %TRUE, the @allow_grow parameter allows the user to expand the window
85 beyond the size request of its child widgets. If @allow_grow is %TRUE, be sure to
86 check that your child widgets work properly as the window is resized.
87 </para>
88
89 <para>
90 A toplevel window will always change size to ensure its child widgets receive
91 their requested size. This means that if you add child widgets, the toplevel
92 window will expand to contain them. However, normally the toplevel will not
93 shrink to fit the size request of its children if it's too large; the
94 @auto_shrink parameter causes the window to shrink when child widgets have too
95 much space. @auto_shrink is normally used with the second of the two window
96 policies mentioned above.  That is, set @auto_shrink to %TRUE if you want the
97 window to have a fixed, always-optimal size determined by your program.
98 </para>
99
100 <para>
101 Note that @auto_shrink doesn't do anything if @allow_shrink and @allow_grow are
102 both set to %FALSE.
103 </para>
104
105 <para>
106 Neither of the two suggested window policies set the @allow_shrink parameter to
107 %TRUE.  If @allow_shrink is %TRUE, the user can shrink the window so that its
108 children do not receive their full size request; this is basically a bad thing,
109 because most widgets will look wrong if this happens. Furthermore GTK+ has a
110 tendency to re-expand the window if size is recalculated for any reason. The
111 upshot is that @allow_shrink should always be set to %FALSE.
112 </para>
113
114 <para>
115 Sometimes when you think you want to use @allow_shrink, the real problem is that
116 some specific child widget is requesting too much space, so the user can't
117 shrink the window sufficiently. Perhaps you are calling gtk_widget_set_size_request()
118 on a child widget, and forcing its size request to be too large. Instead of
119 setting the child's usize, consider using gtk_window_set_default_size() so that
120 the child gets a larger allocation than it requests.
121 </para>
122
123 @window: the window
124 @allow_shrink: whether the user can shrink the window below its size request
125 @allow_grow: whether the user can grow the window larger than its size request
126 @auto_shrink: whether the window automatically snaps back to its size request if
127 it's larger
128
129
130 <!-- ##### FUNCTION gtk_window_set_resizable ##### -->
131 <para>
132
133 </para>
134
135 @window: 
136 @resizable: 
137
138
139 <!-- ##### FUNCTION gtk_window_get_resizable ##### -->
140 <para>
141
142 </para>
143
144 @window: 
145 @Returns: 
146
147
148 <!-- ##### FUNCTION gtk_window_add_accel_group ##### -->
149 <para>
150
151 </para>
152
153 @window: 
154 @accel_group: 
155
156
157 <!-- ##### FUNCTION gtk_window_remove_accel_group ##### -->
158 <para>
159
160 </para>
161
162 @window: 
163 @accel_group: 
164
165
166 <!-- ##### MACRO gtk_window_position ##### -->
167 <para>
168 Deprecated alias for gtk_window_set_position().
169 </para>
170
171
172
173 <!-- ##### FUNCTION gtk_window_activate_focus ##### -->
174 <para>
175
176 </para>
177
178 @window: 
179 @Returns: 
180
181
182 <!-- ##### FUNCTION gtk_window_activate_default ##### -->
183 <para>
184
185 </para>
186
187 @window: 
188 @Returns: 
189
190
191 <!-- ##### FUNCTION gtk_window_set_modal ##### -->
192 <para>
193
194 </para>
195
196 @window: 
197 @modal: 
198
199
200 <!-- ##### FUNCTION gtk_window_set_default_size ##### -->
201 <para>
202
203 </para>
204
205 @window: 
206 @width: 
207 @height: 
208
209
210 <!-- ##### FUNCTION gtk_window_set_geometry_hints ##### -->
211 <para>
212
213 </para>
214
215 @window: 
216 @geometry_widget: 
217 @geometry: 
218 @geom_mask: 
219
220
221 <!-- ##### FUNCTION gtk_window_set_gravity ##### -->
222 <para>
223
224 </para>
225
226 @window: 
227 @gravity: 
228
229
230 <!-- ##### FUNCTION gtk_window_get_gravity ##### -->
231 <para>
232
233 </para>
234
235 @window: 
236 @Returns: 
237
238
239 <!-- ##### FUNCTION gtk_window_set_position ##### -->
240 <para>
241
242 </para>
243
244 @window: 
245 @position: 
246
247
248 <!-- ##### FUNCTION gtk_window_set_transient_for ##### -->
249 <para>
250
251 </para>
252
253 @window: 
254 @parent: 
255
256
257 <!-- ##### FUNCTION gtk_window_set_destroy_with_parent ##### -->
258 <para>
259
260 </para>
261
262 @window: 
263 @setting: 
264
265
266 <!-- ##### FUNCTION gtk_window_set_screen ##### -->
267 <para>
268
269 </para>
270
271 @window: 
272 @screen: 
273
274
275 <!-- ##### FUNCTION gtk_window_get_screen ##### -->
276 <para>
277
278 </para>
279
280 @window: 
281 @Returns: 
282
283
284 <!-- ##### FUNCTION gtk_window_list_toplevels ##### -->
285 <para>
286
287 </para>
288
289 @Returns: 
290
291
292 <!-- ##### FUNCTION gtk_window_add_mnemonic ##### -->
293 <para>
294
295 </para>
296
297 @window: 
298 @keyval: 
299 @target: 
300
301
302 <!-- ##### FUNCTION gtk_window_remove_mnemonic ##### -->
303 <para>
304
305 </para>
306
307 @window: 
308 @keyval: 
309 @target: 
310
311
312 <!-- ##### FUNCTION gtk_window_mnemonic_activate ##### -->
313 <para>
314
315 </para>
316
317 @window: 
318 @keyval: 
319 @modifier: 
320 @Returns: 
321
322
323 <!-- ##### FUNCTION gtk_window_get_focus ##### -->
324 <para>
325
326 </para>
327
328 @window: 
329 @Returns: 
330
331
332 <!-- ##### FUNCTION gtk_window_set_focus ##### -->
333 <para>
334
335 </para>
336
337 @window: 
338 @focus: 
339
340
341 <!-- ##### FUNCTION gtk_window_set_default ##### -->
342 <para>
343
344 </para>
345
346 @window: 
347 @default_widget: 
348
349
350 <!-- ##### FUNCTION gtk_window_present ##### -->
351 <para>
352
353 </para>
354
355 @window: 
356
357
358 <!-- ##### FUNCTION gtk_window_iconify ##### -->
359 <para>
360
361 </para>
362
363 @window: 
364
365
366 <!-- ##### FUNCTION gtk_window_deiconify ##### -->
367 <para>
368
369 </para>
370
371 @window: 
372
373
374 <!-- ##### FUNCTION gtk_window_stick ##### -->
375 <para>
376
377 </para>
378
379 @window: 
380
381
382 <!-- ##### FUNCTION gtk_window_unstick ##### -->
383 <para>
384
385 </para>
386
387 @window: 
388
389
390 <!-- ##### FUNCTION gtk_window_maximize ##### -->
391 <para>
392
393 </para>
394
395 @window: 
396
397
398 <!-- ##### FUNCTION gtk_window_unmaximize ##### -->
399 <para>
400
401 </para>
402
403 @window: 
404
405
406 <!-- ##### FUNCTION gtk_window_begin_resize_drag ##### -->
407 <para>
408
409 </para>
410
411 @window: 
412 @edge: 
413 @button: 
414 @root_x: 
415 @root_y: 
416 @timestamp: 
417
418
419 <!-- ##### FUNCTION gtk_window_begin_move_drag ##### -->
420 <para>
421
422 </para>
423
424 @window: 
425 @button: 
426 @root_x: 
427 @root_y: 
428 @timestamp: 
429
430
431 <!-- ##### FUNCTION gtk_window_set_decorated ##### -->
432 <para>
433
434 </para>
435
436 @window: 
437 @setting: 
438
439
440 <!-- ##### FUNCTION gtk_window_set_frame_dimensions ##### -->
441 <para>
442
443 </para>
444
445 @window: 
446 @left: 
447 @top: 
448 @right: 
449 @bottom: 
450
451
452 <!-- ##### FUNCTION gtk_window_set_has_frame ##### -->
453 <para>
454
455 </para>
456
457 @window: 
458 @setting: 
459
460
461 <!-- ##### FUNCTION gtk_window_set_mnemonic_modifier ##### -->
462 <para>
463
464 </para>
465
466 @window: 
467 @modifier: 
468
469
470 <!-- ##### FUNCTION gtk_window_set_role ##### -->
471 <para>
472
473 </para>
474
475 @window: 
476 @role: 
477
478
479 <!-- ##### FUNCTION gtk_window_set_type_hint ##### -->
480 <para>
481
482 </para>
483
484 @window: 
485 @hint: 
486
487
488 <!-- ##### FUNCTION gtk_window_get_decorated ##### -->
489 <para>
490
491 </para>
492
493 @window: 
494 @Returns: 
495
496
497 <!-- ##### FUNCTION gtk_window_get_default_icon_list ##### -->
498 <para>
499
500 </para>
501
502 @Returns: 
503
504
505 <!-- ##### FUNCTION gtk_window_get_default_size ##### -->
506 <para>
507
508 </para>
509
510 @window: 
511 @width: 
512 @height: 
513
514
515 <!-- ##### FUNCTION gtk_window_get_destroy_with_parent ##### -->
516 <para>
517
518 </para>
519
520 @window: 
521 @Returns: 
522
523
524 <!-- ##### FUNCTION gtk_window_get_frame_dimensions ##### -->
525 <para>
526
527 </para>
528
529 @window: 
530 @left: 
531 @top: 
532 @right: 
533 @bottom: 
534
535
536 <!-- ##### FUNCTION gtk_window_get_has_frame ##### -->
537 <para>
538
539 </para>
540
541 @window: 
542 @Returns: 
543
544
545 <!-- ##### FUNCTION gtk_window_get_icon ##### -->
546 <para>
547
548 </para>
549
550 @window: 
551 @Returns: 
552
553
554 <!-- ##### FUNCTION gtk_window_get_icon_list ##### -->
555 <para>
556
557 </para>
558
559 @window: 
560 @Returns: 
561
562
563 <!-- ##### FUNCTION gtk_window_get_mnemonic_modifier ##### -->
564 <para>
565
566 </para>
567
568 @window: 
569 @Returns: 
570
571
572 <!-- ##### FUNCTION gtk_window_get_modal ##### -->
573 <para>
574
575 </para>
576
577 @window: 
578 @Returns: 
579
580
581 <!-- ##### FUNCTION gtk_window_get_position ##### -->
582 <para>
583
584 </para>
585
586 @window: 
587 @root_x: 
588 @root_y: 
589 <!-- # Unused Parameters # -->
590 @x: 
591 @y: 
592
593
594 <!-- ##### FUNCTION gtk_window_get_role ##### -->
595 <para>
596
597 </para>
598
599 @window: 
600 @Returns: 
601
602
603 <!-- ##### FUNCTION gtk_window_get_size ##### -->
604 <para>
605
606 </para>
607
608 @window: 
609 @width: 
610 @height: 
611
612
613 <!-- ##### FUNCTION gtk_window_get_title ##### -->
614 <para>
615
616 </para>
617
618 @window: 
619 @Returns: 
620
621
622 <!-- ##### FUNCTION gtk_window_get_transient_for ##### -->
623 <para>
624
625 </para>
626
627 @window: 
628 @Returns: 
629
630
631 <!-- ##### FUNCTION gtk_window_get_type_hint ##### -->
632 <para>
633
634 </para>
635
636 @window: 
637 @Returns: 
638
639
640 <!-- ##### FUNCTION gtk_window_move ##### -->
641 <para>
642
643 </para>
644
645 @window: 
646 @x: 
647 @y: 
648
649
650 <!-- ##### FUNCTION gtk_window_parse_geometry ##### -->
651 <para>
652
653 </para>
654
655 @window: 
656 @geometry: 
657 @Returns: 
658
659
660 <!-- ##### FUNCTION gtk_window_reshow_with_initial_size ##### -->
661 <para>
662
663 </para>
664
665 @window: 
666
667
668 <!-- ##### FUNCTION gtk_window_resize ##### -->
669 <para>
670
671 </para>
672
673 @window: 
674 @width: 
675 @height: 
676
677
678 <!-- ##### FUNCTION gtk_window_set_default_icon_list ##### -->
679 <para>
680
681 </para>
682
683 @list: 
684
685
686 <!-- ##### FUNCTION gtk_window_set_icon ##### -->
687 <para>
688
689 </para>
690
691 @window: 
692 @icon: 
693
694
695 <!-- ##### FUNCTION gtk_window_set_icon_list ##### -->
696 <para>
697
698 </para>
699
700 @window: 
701 @list: 
702
703
704 <!-- ##### FUNCTION gtk_decorated_window_init ##### -->
705 <para>
706
707 </para>
708
709 @window: 
710
711
712 <!-- ##### FUNCTION gtk_decorated_window_calculate_frame_size ##### -->
713 <para>
714
715 </para>
716
717 @window: 
718
719
720 <!-- ##### FUNCTION gtk_decorated_window_set_title ##### -->
721 <para>
722
723 </para>
724
725 @window: 
726 @title: 
727
728
729 <!-- ##### FUNCTION gtk_decorated_window_move_resize_window ##### -->
730 <para>
731
732 </para>
733
734 @window: 
735 @x: 
736 @y: 
737 @width: 
738 @height: 
739
740
741 <!-- ##### SIGNAL GtkWindow::activate-default ##### -->
742 <para>
743
744 </para>
745
746 @window: the object which received the signal.
747
748 <!-- ##### SIGNAL GtkWindow::activate-focus ##### -->
749 <para>
750
751 </para>
752
753 @window: the object which received the signal.
754
755 <!-- ##### SIGNAL GtkWindow::frame-event ##### -->
756 <para>
757
758 </para>
759
760 @window: the object which received the signal.
761 @event: 
762 @Returns: 
763
764 <!-- ##### SIGNAL GtkWindow::keys-changed ##### -->
765 <para>
766
767 </para>
768
769 @window: the object which received the signal.
770
771 <!-- ##### SIGNAL GtkWindow::move-focus ##### -->
772 <para>
773
774 </para>
775
776 @window: the object which received the signal.
777 @arg1: 
778
779 <!-- ##### SIGNAL GtkWindow::set-focus ##### -->
780 <para>
781
782 </para>
783
784 @window: the object which received the signal.
785 @widget: 
786
787 <!-- ##### ARG GtkWindow:type ##### -->
788 <para>
789
790 </para>
791
792 <!-- ##### ARG GtkWindow:title ##### -->
793 <para>
794
795 </para>
796
797 <!-- ##### ARG GtkWindow:allow-shrink ##### -->
798 <para>
799
800 </para>
801
802 <!-- ##### ARG GtkWindow:allow-grow ##### -->
803 <para>
804
805 </para>
806
807 <!-- ##### ARG GtkWindow:resizable ##### -->
808 <para>
809
810 </para>
811
812 <!-- ##### ARG GtkWindow:modal ##### -->
813 <para>
814
815 </para>
816
817 <!-- ##### ARG GtkWindow:window-position ##### -->
818 <para>
819
820 </para>
821
822 <!-- ##### ARG GtkWindow:default-width ##### -->
823 <para>
824
825 </para>
826
827 <!-- ##### ARG GtkWindow:default-height ##### -->
828 <para>
829
830 </para>
831
832 <!-- ##### ARG GtkWindow:destroy-with-parent ##### -->
833 <para>
834
835 </para>
836
837 <!-- ##### ARG GtkWindow:icon ##### -->
838 <para>
839
840 </para>
841
842 <!-- ##### ARG GtkWindow:screen ##### -->
843 <para>
844
845 </para>
846