<para>
</para>
+<refsect2 id="GtkWindow-BUILDER-UI">
+<title>GtkWindow as GtkBuildable</title>
+<para>
+The GtkWindow implementation of the GtkBuildable interface supports a
+custom <accel-groups> element, which supports any number of <group>
+elements representing the GtkAccelGroup objects you want to add to your
+window (synonymous with gtk_window_add_accel_group().
+</para>
+<example>
+<title>A UI definition fragment with accel groups</title>
+<programlisting><![CDATA[
+<object class="GtkWindow">
+ <accel-groups>
+ <group name="accelgroup1"/>
+ </accel-groups>
+</object>
+
+...
+
+<object class="GtkAccelGroup" id="accelgroup1"/>
+]]></programlisting>
+</example>
+</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### STRUCT GtkWindow ##### -->
<para>
</para>
-<!-- ##### FUNCTION gtk_window_new ##### -->
+<!-- ##### SIGNAL GtkWindow::activate-default ##### -->
<para>
</para>
-@type:
+@window: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWindow::activate-focus ##### -->
+<para>
+
+</para>
+
+@window: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWindow::frame-event ##### -->
+<para>
+
+</para>
+
+@window: the object which received the signal.
+@event:
@Returns:
+<!-- ##### SIGNAL GtkWindow::keys-changed ##### -->
+<para>
-<!-- ##### FUNCTION gtk_window_set_title ##### -->
+</para>
+
+@window: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWindow::set-focus ##### -->
<para>
</para>
-@window:
-@title:
+@window: the object which received the signal.
+@widget:
+<!-- ##### ARG GtkWindow:accept-focus ##### -->
+<para>
-<!-- ##### FUNCTION gtk_window_set_wmclass ##### -->
+</para>
+
+<!-- ##### ARG GtkWindow:allow-grow ##### -->
<para>
</para>
-@window:
-@wmclass_name:
-@wmclass_class:
+<!-- ##### ARG GtkWindow:allow-shrink ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:decorated ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:default-height ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:default-width ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:deletable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:destroy-with-parent ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:focus-on-map ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:gravity ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:has-toplevel-focus ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:icon ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:icon-name ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:is-active ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:mnemonics-visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:modal ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:opacity ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:resizable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWindow:role ##### -->
+<para>
+</para>
-<!-- ##### FUNCTION gtk_window_set_policy ##### -->
+<!-- ##### ARG GtkWindow:screen ##### -->
<para>
-Changes how a toplevel window deals with its size request and user resize
-attempts. There are really only two reasonable ways to call this function:
-<orderedlist>
-<listitem>
+
+</para>
+
+<!-- ##### ARG GtkWindow:skip-pager-hint ##### -->
<para>
-<literal>gtk_window_set_policy (GTK_WINDOW (window), FALSE, TRUE, FALSE)</literal>
-means that the window is user-resizable.
+
</para>
-</listitem>
-<listitem>
+
+<!-- ##### ARG GtkWindow:skip-taskbar-hint ##### -->
<para>
-<literal>gtk_window_set_policy (GTK_WINDOW (window), FALSE, FALSE, TRUE)</literal>
-means that the window's size is program-controlled, and should simply match
-the current size request of the window's children.
+
</para>
-</listitem>
-</orderedlist>
-The first policy is the default, that is, by default windows are designed to
-be resized by users.
+
+<!-- ##### ARG GtkWindow:startup-id ##### -->
+<para>
+
</para>
+<!-- ##### ARG GtkWindow:title ##### -->
<para>
-The basic ugly truth of this function is that it should be simply:
-<literal>
- void gtk_window_set_resizable (GtkWindow* window, gboolean setting);
-</literal>
-...which is why GTK+ 2.0 introduces gtk_window_set_resizable(), which you
-should use instead of gtk_window_set_policy().
+
</para>
+<!-- ##### ARG GtkWindow:transient-for ##### -->
<para>
-If set to %TRUE, the @allow_grow parameter allows the user to expand the window
-beyond the size request of its child widgets. If @allow_grow is %TRUE, be sure to
-check that your child widgets work properly as the window is resized.
+
</para>
+<!-- ##### ARG GtkWindow:type ##### -->
<para>
-A toplevel window will always change size to ensure its child widgets receive
-their requested size. This means that if you add child widgets, the toplevel
-window will expand to contain them. However, normally the toplevel will not
-shrink to fit the size request of its children if it's too large; the
-@auto_shrink parameter causes the window to shrink when child widgets have too
-much space. @auto_shrink is normally used with the second of the two window
-policies mentioned above. That is, set @auto_shrink to %TRUE if you want the
-window to have a fixed, always-optimal size determined by your program.
+
</para>
+<!-- ##### ARG GtkWindow:type-hint ##### -->
<para>
-Note that @auto_shrink doesn't do anything if @allow_shrink and @allow_grow are
-both set to %FALSE.
+
</para>
+<!-- ##### ARG GtkWindow:urgency-hint ##### -->
<para>
-Neither of the two suggested window policies set the @allow_shrink parameter to
-%TRUE. If @allow_shrink is %TRUE, the user can shrink the window so that its
-children do not receive their full size request; this is basically a bad thing,
-because most widgets will look wrong if this happens. Furthermore GTK+ has a
-tendency to re-expand the window if size is recalculated for any reason. The
-upshot is that @allow_shrink should always be set to %FALSE.
+
</para>
+<!-- ##### ARG GtkWindow:window-position ##### -->
<para>
-Sometimes when you think you want to use @allow_shrink, the real problem is that
-some specific child widget is requesting too much space, so the user can't
-shrink the window sufficiently. Perhaps you are calling gtk_widget_set_size_request()
-on a child widget, and forcing its size request to be too large. Instead of
-setting the child's usize, consider using gtk_window_set_default_size() so that
-the child gets a larger allocation than it requests.
+
</para>
-@window: the window
-@allow_shrink: whether the user can shrink the window below its size request
-@allow_grow: whether the user can grow the window larger than its size request
-@auto_shrink: whether the window automatically snaps back to its size request
- if it's larger
-@Deprecated: Use gtk_window_set_resizable() instead.
+<!-- ##### FUNCTION gtk_window_new ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_set_title ##### -->
+<para>
+
+</para>
+
+@window:
+@title:
+
+
+<!-- ##### FUNCTION gtk_window_set_wmclass ##### -->
+<para>
+
+</para>
+
+@window:
+@wmclass_name:
+@wmclass_class:
<!-- ##### FUNCTION gtk_window_set_resizable ##### -->
@accel_group:
-<!-- ##### MACRO gtk_window_position ##### -->
-<para>
-Deprecated alias for gtk_window_set_position().
-</para>
-
-
-
<!-- ##### FUNCTION gtk_window_activate_focus ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gtk_window_is_active ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_has_toplevel_focus ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_window_list_toplevels ##### -->
<para>
</para>
+@void:
@Returns:
@Returns:
+<!-- ##### FUNCTION gtk_window_activate_key ##### -->
+<para>
+
+</para>
+
+@window:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_propagate_key_event ##### -->
+<para>
+
+</para>
+
+@window:
+@event:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_window_get_focus ##### -->
<para>
@focus:
+<!-- ##### FUNCTION gtk_window_get_default_widget ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_window_set_default ##### -->
<para>
@window:
+<!-- ##### FUNCTION gtk_window_present_with_time ##### -->
+<para>
+
+</para>
+
+@window:
+@timestamp:
+
+
<!-- ##### FUNCTION gtk_window_iconify ##### -->
<para>
@window:
+<!-- ##### FUNCTION gtk_window_set_keep_above ##### -->
+<para>
+
+</para>
+
+@window:
+@setting:
+
+
+<!-- ##### FUNCTION gtk_window_set_keep_below ##### -->
+<para>
+
+</para>
+
+@window:
+@setting:
+
+
<!-- ##### FUNCTION gtk_window_begin_resize_drag ##### -->
<para>
@setting:
+<!-- ##### FUNCTION gtk_window_set_deletable ##### -->
+<para>
+
+</para>
+
+@window:
+@setting:
+
+
<!-- ##### FUNCTION gtk_window_set_frame_dimensions ##### -->
<para>
@modifier:
-<!-- ##### FUNCTION gtk_window_set_role ##### -->
-<para>
-
-</para>
-
-@window:
-@role:
-
-
<!-- ##### FUNCTION gtk_window_set_type_hint ##### -->
<para>
@setting:
-<!-- ##### FUNCTION gtk_window_get_decorated ##### -->
+<!-- ##### FUNCTION gtk_window_set_urgency_hint ##### -->
<para>
</para>
@window:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_window_get_default_icon_list ##### -->
-<para>
-
-</para>
-
-@Returns:
+@setting:
-<!-- ##### FUNCTION gtk_window_get_default_size ##### -->
+<!-- ##### FUNCTION gtk_window_set_accept_focus ##### -->
<para>
</para>
@window:
-@width:
-@height:
+@setting:
-<!-- ##### FUNCTION gtk_window_get_destroy_with_parent ##### -->
+<!-- ##### FUNCTION gtk_window_set_focus_on_map ##### -->
<para>
</para>
@window:
-@Returns:
+@setting:
-<!-- ##### FUNCTION gtk_window_get_frame_dimensions ##### -->
+<!-- ##### FUNCTION gtk_window_set_startup_id ##### -->
<para>
</para>
@window:
-@left:
-@top:
-@right:
-@bottom:
+@startup_id:
-<!-- ##### FUNCTION gtk_window_get_has_frame ##### -->
+<!-- ##### FUNCTION gtk_window_set_role ##### -->
<para>
</para>
@window:
-@Returns:
+@role:
-<!-- ##### FUNCTION gtk_window_get_icon ##### -->
+<!-- ##### FUNCTION gtk_window_get_decorated ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_icon_list ##### -->
+<!-- ##### FUNCTION gtk_window_get_deletable ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_mnemonic_modifier ##### -->
+<!-- ##### FUNCTION gtk_window_get_default_icon_list ##### -->
<para>
</para>
-@window:
+@void:
@Returns:
-<!-- ##### FUNCTION gtk_window_get_modal ##### -->
+<!-- ##### FUNCTION gtk_window_get_default_icon_name ##### -->
<para>
</para>
-@window:
+@void:
@Returns:
-<!-- ##### FUNCTION gtk_window_get_position ##### -->
+<!-- ##### FUNCTION gtk_window_get_default_size ##### -->
<para>
</para>
@window:
-@root_x:
-@root_y:
-<!-- # Unused Parameters # -->
-@x:
-@y:
+@width:
+@height:
-<!-- ##### FUNCTION gtk_window_get_role ##### -->
+<!-- ##### FUNCTION gtk_window_get_destroy_with_parent ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_size ##### -->
+<!-- ##### FUNCTION gtk_window_get_frame_dimensions ##### -->
<para>
</para>
@window:
-@width:
-@height:
+@left:
+@top:
+@right:
+@bottom:
-<!-- ##### FUNCTION gtk_window_get_title ##### -->
+<!-- ##### FUNCTION gtk_window_get_has_frame ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_transient_for ##### -->
+<!-- ##### FUNCTION gtk_window_get_icon ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_type_hint ##### -->
+<!-- ##### FUNCTION gtk_window_get_icon_list ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_skip_taskbar_hint ##### -->
+<!-- ##### FUNCTION gtk_window_get_icon_name ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_get_skip_pager_hint ##### -->
+<!-- ##### FUNCTION gtk_window_get_mnemonic_modifier ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_window_move ##### -->
+<!-- ##### FUNCTION gtk_window_get_modal ##### -->
<para>
</para>
@window:
-@x:
-@y:
+@Returns:
-<!-- ##### FUNCTION gtk_window_parse_geometry ##### -->
+<!-- ##### FUNCTION gtk_window_get_position ##### -->
<para>
</para>
@window:
-@geometry:
-@Returns:
+@root_x:
+@root_y:
-<!-- ##### FUNCTION gtk_window_reshow_with_initial_size ##### -->
+<!-- ##### FUNCTION gtk_window_get_role ##### -->
<para>
</para>
@window:
+@Returns:
-<!-- ##### FUNCTION gtk_window_resize ##### -->
+<!-- ##### FUNCTION gtk_window_get_size ##### -->
<para>
</para>
@height:
-<!-- ##### FUNCTION gtk_window_set_default_icon_list ##### -->
+<!-- ##### FUNCTION gtk_window_get_title ##### -->
<para>
</para>
-@list:
+@window:
+@Returns:
-<!-- ##### FUNCTION gtk_window_set_default_icon ##### -->
+<!-- ##### FUNCTION gtk_window_get_transient_for ##### -->
<para>
</para>
-@icon:
+@window:
+@Returns:
-<!-- ##### FUNCTION gtk_window_set_default_icon_from_file ##### -->
+<!-- ##### FUNCTION gtk_window_get_type_hint ##### -->
<para>
</para>
-@filename:
-@err:
+@window:
@Returns:
-<!-- ##### FUNCTION gtk_window_set_icon ##### -->
+<!-- ##### FUNCTION gtk_window_get_skip_taskbar_hint ##### -->
<para>
</para>
@window:
-@icon:
+@Returns:
-<!-- ##### FUNCTION gtk_window_set_icon_list ##### -->
+<!-- ##### FUNCTION gtk_window_get_skip_pager_hint ##### -->
<para>
</para>
@window:
-@list:
+@Returns:
-<!-- ##### FUNCTION gtk_window_set_icon_from_file ##### -->
+<!-- ##### FUNCTION gtk_window_get_urgency_hint ##### -->
<para>
</para>
@window:
-@filename:
-@err:
@Returns:
-<!-- ##### FUNCTION gtk_window_set_auto_startup_notification ##### -->
+<!-- ##### FUNCTION gtk_window_get_accept_focus ##### -->
<para>
</para>
-@setting:
+@window:
+@Returns:
-<!-- ##### FUNCTION gtk_decorated_window_init ##### -->
+<!-- ##### FUNCTION gtk_window_get_focus_on_map ##### -->
<para>
</para>
@window:
+@Returns:
-<!-- ##### FUNCTION gtk_decorated_window_calculate_frame_size ##### -->
+<!-- ##### FUNCTION gtk_window_get_group ##### -->
<para>
</para>
@window:
+@Returns:
-<!-- ##### FUNCTION gtk_decorated_window_set_title ##### -->
+<!-- ##### FUNCTION gtk_window_get_window_type ##### -->
<para>
</para>
@window:
-@title:
+@Returns:
-<!-- ##### FUNCTION gtk_decorated_window_move_resize_window ##### -->
+<!-- ##### FUNCTION gtk_window_move ##### -->
<para>
</para>
@window:
@x:
@y:
-@width:
-@height:
-<!-- ##### SIGNAL GtkWindow::activate-default ##### -->
+<!-- ##### FUNCTION gtk_window_parse_geometry ##### -->
<para>
</para>
-@window: the object which received the signal.
+@window:
+@geometry:
+@Returns:
-<!-- ##### SIGNAL GtkWindow::activate-focus ##### -->
+
+<!-- ##### FUNCTION gtk_window_reshow_with_initial_size ##### -->
<para>
</para>
-@window: the object which received the signal.
+@window:
-<!-- ##### SIGNAL GtkWindow::frame-event ##### -->
+
+<!-- ##### FUNCTION gtk_window_resize ##### -->
<para>
</para>
-@window: the object which received the signal.
-@event:
-@Returns:
+@window:
+@width:
+@height:
-<!-- ##### SIGNAL GtkWindow::keys-changed ##### -->
+
+<!-- ##### FUNCTION gtk_window_set_default_icon_list ##### -->
<para>
</para>
-@window: the object which received the signal.
+@list:
+
-<!-- ##### SIGNAL GtkWindow::move-focus ##### -->
+<!-- ##### FUNCTION gtk_window_set_default_icon ##### -->
<para>
</para>
-@window: the object which received the signal.
-@arg1:
+@icon:
-<!-- ##### SIGNAL GtkWindow::set-focus ##### -->
+
+<!-- ##### FUNCTION gtk_window_set_default_icon_from_file ##### -->
<para>
</para>
-@window: the object which received the signal.
-@widget:
+@filename:
+@err:
+@Returns:
-<!-- ##### ARG GtkWindow:allow-grow ##### -->
+
+<!-- ##### FUNCTION gtk_window_set_default_icon_name ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:allow-shrink ##### -->
-<para>
+@name:
-</para>
-<!-- ##### ARG GtkWindow:decorated ##### -->
+<!-- ##### FUNCTION gtk_window_set_icon ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:default-height ##### -->
-<para>
+@window:
+@icon:
-</para>
-<!-- ##### ARG GtkWindow:default-width ##### -->
+<!-- ##### FUNCTION gtk_window_set_icon_list ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:destroy-with-parent ##### -->
-<para>
+@window:
+@list:
-</para>
-<!-- ##### ARG GtkWindow:gravity ##### -->
+<!-- ##### FUNCTION gtk_window_set_icon_from_file ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:has-toplevel-focus ##### -->
-<para>
+@window:
+@filename:
+@err:
+@Returns:
-</para>
-<!-- ##### ARG GtkWindow:icon ##### -->
+<!-- ##### FUNCTION gtk_window_set_icon_name ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:is-active ##### -->
-<para>
+@window:
+@name:
-</para>
-<!-- ##### ARG GtkWindow:modal ##### -->
+<!-- ##### FUNCTION gtk_window_set_auto_startup_notification ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:resizable ##### -->
-<para>
+@setting:
-</para>
-<!-- ##### ARG GtkWindow:role ##### -->
+<!-- ##### FUNCTION gtk_window_get_opacity ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:screen ##### -->
-<para>
+@window:
+@Returns:
-</para>
-<!-- ##### ARG GtkWindow:skip-pager-hint ##### -->
+<!-- ##### FUNCTION gtk_window_set_opacity ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:skip-taskbar-hint ##### -->
-<para>
+@window:
+@opacity:
-</para>
-<!-- ##### ARG GtkWindow:title ##### -->
+<!-- ##### FUNCTION gtk_window_get_mnemonics_visible ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:type ##### -->
-<para>
+@window:
+@Returns:
-</para>
-<!-- ##### ARG GtkWindow:type-hint ##### -->
+<!-- ##### FUNCTION gtk_window_set_mnemonics_visible ##### -->
<para>
</para>
-<!-- ##### ARG GtkWindow:window-position ##### -->
-<para>
+@window:
+@setting:
-</para>