<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkWindow">
<refmeta>
<refentrytitle role="top_of_page" id="GtkWindow.top_of_page">GtkWindow</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkWindow</refname>
<refpurpose>Toplevel which can contain other widgets</refpurpose>
</refnamediv>

<refsect1 id="GtkWindow.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-new">gtk_window_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-destroy">gtk_window_destroy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-child">gtk_window_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-child">gtk_window_set_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-title">gtk_window_set_title</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-resizable">gtk_window_set_resizable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-resizable">gtk_window_get_resizable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-modal">gtk_window_set_modal</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-default-size">gtk_window_set_default_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-hide-on-close">gtk_window_set_hide_on_close</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-hide-on-close">gtk_window_get_hide_on_close</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-transient-for">gtk_window_set_transient_for</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-destroy-with-parent">gtk_window_set_destroy_with_parent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-display">gtk_window_set_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-is-active">gtk_window_is_active</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-is-maximized">gtk_window_is_maximized</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GListModel"><returnvalue>GListModel</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-toplevels">gtk_window_get_toplevels</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-list-toplevels">gtk_window_list_toplevels</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-focus">gtk_window_get_focus</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-focus">gtk_window_set_focus</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-default-widget">gtk_window_get_default_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-default-widget">gtk_window_set_default_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-present">gtk_window_present</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-present-with-time">gtk_window_present_with_time</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-close">gtk_window_close</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-minimize">gtk_window_minimize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-unminimize">gtk_window_unminimize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-maximize">gtk_window_maximize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-unmaximize">gtk_window_unmaximize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-fullscreen">gtk_window_fullscreen</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-fullscreen-on-monitor">gtk_window_fullscreen_on_monitor</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-unfullscreen">gtk_window_unfullscreen</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-decorated">gtk_window_set_decorated</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-deletable">gtk_window_set_deletable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-startup-id">gtk_window_set_startup_id</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-decorated">gtk_window_get_decorated</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-deletable">gtk_window_get_deletable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-default-icon-name">gtk_window_get_default_icon_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-default-size">gtk_window_get_default_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-destroy-with-parent">gtk_window_get_destroy_with_parent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-icon-name">gtk_window_get_icon_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-modal">gtk_window_get_modal</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-size">gtk_window_get_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-title">gtk_window_get_title</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWindow"><returnvalue>GtkWindow</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-transient-for">gtk_window_get_transient_for</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWindowGroup"><returnvalue>GtkWindowGroup</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-group">gtk_window_get_group</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-has-group">gtk_window_has_group</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-resize">gtk_window_resize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-default-icon-name">gtk_window_set_default_icon_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-icon-name">gtk_window_set_icon_name</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-auto-startup-notification">gtk_window_set_auto_startup_notification</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-mnemonics-visible">gtk_window_get_mnemonics_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-mnemonics-visible">gtk_window_set_mnemonics_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-get-focus-visible">gtk_window_get_focus_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-focus-visible">gtk_window_set_focus_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkApplication"><returnvalue>GtkApplication</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-application">gtk_window_get_application</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-application">gtk_window_set_application</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-titlebar">gtk_window_set_titlebar</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-window-get-titlebar">gtk_window_get_titlebar</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-window-set-interactive-debugging">gtk_window_set_interactive_debugging</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkWindow.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GtkApplication"><type>GtkApplication</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--application">application</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--child">child</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--decorated">decorated</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkWindow--default-height">default-height</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--default-widget">default-widget</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkWindow--default-width">default-width</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--deletable">deletable</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--destroy-with-parent">destroy-with-parent</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GdkDisplay"><type>GdkDisplay</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--display">display</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--focus-visible">focus-visible</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--focus-widget">focus-widget</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--hide-on-close">hide-on-close</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--icon-name">icon-name</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--is-active">is-active</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--is-maximized">is-maximized</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--mnemonics-visible">mnemonics-visible</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--modal">modal</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkWindow--resizable">resizable</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--startup-id">startup-id</link></entry><entry role="property_flags">Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--title">title</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWindow"><type>GtkWindow</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkWindow--transient-for">transient-for</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkWindow.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkWindow-activate-default">activate-default</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkWindow-activate-focus">activate-focus</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkWindow-close-request">close-request</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkWindow-enable-debugging">enable-debugging</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkWindow-keys-changed">keys-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-FIRST:CAPS">Run First</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkWindow.actions" role="actions">
<title role="actions.title">Actions</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="actions_none" colwidth="150px"/>
<colspec colname="actions_name" colwidth="300px"/>
<colspec colname="actions_param" colwidth="200px"/>
<tbody>
<row><entry></entry><entry role="action_name"><link linkend="GtkWindow|window.close">window.close</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkWindow|window.toggle-maximized">window.toggle-maximized</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkWindow|window.minimize">window.minimize</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkWindow|default.activate">default.activate</link></entry><entry role="parameter_type"></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkWindow.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkWindow-struct">GtkWindow</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkWindowClass">GtkWindowClass</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkWindow.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkWindow
                <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkDialog">GtkDialog</link>
                <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkApplicationWindow">GtkApplicationWindow</link>
                <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GtkAssistant">GtkAssistant</link>
                <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkShortcutsWindow">GtkShortcutsWindow</link>
</screen>
</refsect1>
<refsect1 id="GtkWindow.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkWindow implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link>,  <link linkend="GtkNative">GtkNative</link>,  <link linkend="GtkShortcutManager">GtkShortcutManager</link> and  <link linkend="GtkRoot">GtkRoot</link>.</para>

</refsect1>

<refsect1 id="GtkWindow.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkWindow.description" role="desc">
<title role="desc.title">Description</title>
<para>A GtkWindow is a toplevel window which can contain other widgets.
Windows normally have decorations that are under the control
of the windowing system and allow the user to manipulate the window
(resize it, move it, close it,...).</para>
<refsect2><title>GtkWindow as GtkBuildable</title><para>The GtkWindow implementation of the <link linkend="GtkBuildable"><type>GtkBuildable</type></link> interface supports a
custom &lt;accel-groups> element, which supports any number of &lt;group>
elements representing the <link linkend="GtkAccelGroup"><type>GtkAccelGroup</type></link> objects you want to add to
your window (synonymous with <link linkend="gtk-window-add-accel-group"><function>gtk_window_add_accel_group()</function></link>.</para>
<para>An example of a UI definition fragment with accel groups:</para>
<informalexample><programlisting role="example"><![CDATA[
<object class="GtkWindow">
  <accel-groups>
    <group name="accelgroup1"/>
  </accel-groups>
</object>

...

<object class="GtkAccelGroup" id="accelgroup1"/>
]]></programlisting></informalexample>
<para></para>
<para>The GtkWindow implementation of the <link linkend="GtkBuildable"><type>GtkBuildable</type></link> interface supports
setting a child as the titlebar by specifying “titlebar” as the “type”
attribute of a &lt;child> element.</para>
</refsect2>
<refsect2><title>CSS nodes</title><informalexample><programlisting role="example"><![CDATA[
window.background
├── decoration
├── <titlebar child>.titlebar [.default-decoration]
╰── <child>
]]></programlisting></informalexample>
<para></para>
<para>GtkWindow has a main CSS node with name window and style class .background,
and a subnode with name decoration.</para>
<para>Style classes that are typically used with the main CSS node are .csd (when
client-side decorations are in use), .solid-csd (for client-side decorations
without invisible borders), .ssd (used by mutter when rendering server-side
decorations). GtkWindow also represents window states with the following
style classes on the main node: .tiled, .maximized, .fullscreen. Specialized
types of window often add their own discriminating style classes, such as
.popup or .tooltip.</para>
<para>GtkWindow adds the .titlebar and .default-decoration style classes to the
widget that is added as a titlebar child.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkWindow.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-window-new" role="function">
<title>gtk_window_new&#160;()</title>
<indexterm zone="gtk-window-new"><primary>gtk_window_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_window_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkWindow"><type>GtkWindow</type></link>, which is a toplevel window that can
contain other widgets.</para>
<para>To get an undecorated window (no window borders), use
<link linkend="gtk-window-set-decorated"><function>gtk_window_set_decorated()</function></link>.</para>
<para>All top-level windows created by <link linkend="gtk-window-new"><function>gtk_window_new()</function></link> are stored in
an internal top-level window list.  This list can be obtained from
<link linkend="gtk-window-list-toplevels"><function>gtk_window_list_toplevels()</function></link>.  Due to Gtk+ keeping a reference to
the window internally, <link linkend="gtk-window-new"><function>gtk_window_new()</function></link> does not return a reference
to the caller.</para>
<para>To delete a <link linkend="GtkWindow"><type>GtkWindow</type></link>, call <link linkend="gtk-window-destroy"><function>gtk_window_destroy()</function></link>.</para>
<refsect3 id="gtk-window-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkWindow"><type>GtkWindow</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-destroy" role="function">
<title>gtk_window_destroy&#160;()</title>
<indexterm zone="gtk-window-destroy"><primary>gtk_window_destroy</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_destroy (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Drop the internal reference GTK holds on toplevel windows.</para>
<refsect3 id="gtk-window-destroy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>The window to destroy</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-child" role="function">
<title>gtk_window_get_child&#160;()</title>
<indexterm zone="gtk-window-get-child"><primary>gtk_window_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_window_get_child (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Gets the child widget of <parameter>window</parameter>
.</para>
<refsect3 id="gtk-window-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-child.returns" role="returns">
<title>Returns</title>
<para>the child widget of <parameter>window</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-child" role="function">
<title>gtk_window_set_child&#160;()</title>
<indexterm zone="gtk-window-set-child"><primary>gtk_window_set_child</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_child (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                      <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Sets the child widget of <parameter>window</parameter>
.</para>
<refsect3 id="gtk-window-set-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the child widget. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-title" role="function">
<title>gtk_window_set_title&#160;()</title>
<indexterm zone="gtk-window-set-title"><primary>gtk_window_set_title</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_title (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                      <parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>);</programlisting>
<para>Sets the title of the <link linkend="GtkWindow"><type>GtkWindow</type></link>. The title of a window will be
displayed in its title bar; on the X Window System, the title bar
is rendered by the <link linkend="gtk-X11-arch">window manager</link>,
so exactly how the title appears to users may vary
according to a user’s exact configuration. The title should help a
user distinguish this window from other windows they may have
open. A good title might include the application name and current
document filename, for example.</para>
<refsect3 id="gtk-window-set-title.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>title</para></entry>
<entry role="parameter_description"><para>title of the window</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-resizable" role="function">
<title>gtk_window_set_resizable&#160;()</title>
<indexterm zone="gtk-window-set-resizable"><primary>gtk_window_set_resizable</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_resizable (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                          <parameter><link linkend="gboolean"><type>gboolean</type></link> resizable</parameter>);</programlisting>
<para>Sets whether the user can resize a window. Windows are user resizable
by default.</para>
<refsect3 id="gtk-window-set-resizable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>resizable</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the user can resize this window</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-resizable" role="function">
<title>gtk_window_get_resizable&#160;()</title>
<indexterm zone="gtk-window-get-resizable"><primary>gtk_window_get_resizable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_resizable (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Gets the value set by <link linkend="gtk-window-set-resizable"><function>gtk_window_set_resizable()</function></link>.</para>
<refsect3 id="gtk-window-get-resizable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-resizable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the user can resize the window</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-modal" role="function">
<title>gtk_window_set_modal&#160;()</title>
<indexterm zone="gtk-window-set-modal"><primary>gtk_window_set_modal</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_modal (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                      <parameter><link linkend="gboolean"><type>gboolean</type></link> modal</parameter>);</programlisting>
<para>Sets a window modal or non-modal. Modal windows prevent interaction
with other windows in the same application. To keep modal dialogs
on top of main application windows, use
<link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link> to make the dialog transient for the
parent; most <link linkend="gtk-X11-arch">window managers</link>
will then disallow lowering the dialog below the parent.</para>
<refsect3 id="gtk-window-set-modal.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>modal</para></entry>
<entry role="parameter_description"><para>whether the window is modal</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-default-size" role="function">
<title>gtk_window_set_default_size&#160;()</title>
<indexterm zone="gtk-window-set-default-size"><primary>gtk_window_set_default_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_default_size (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> width</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> height</parameter>);</programlisting>
<para>Sets the default size of a window. If the window’s “natural” size
(its size request) is larger than the default, the default will be
ignored.</para>
<para>Unlike <link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link>, which sets a size request for
a widget and thus would keep users from shrinking the window, this
function only sets the initial size, just as if the user had
resized the window themselves. Users can still shrink the window
again as they normally would. Setting a default size of -1 means to
use the “natural” default size (the size request of the window).</para>
<para>For some uses, <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> is a more appropriate function.
<link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> changes the current size of the window, rather
than the size to be used on initial display. <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> always
affects the window itself, not the geometry widget.</para>
<para>The default size of a window only affects the first time a window is
shown; if a window is hidden and re-shown, it will remember the size
it had prior to hiding, rather than using the default size.</para>
<para>Windows can’t actually be 0x0 in size, they must be at least 1x1, but
passing 0 for <parameter>width</parameter>
 and <parameter>height</parameter>
 is OK, resulting in a 1x1 default size.</para>
<para>If you use this function to reestablish a previously saved window size,
note that the appropriate size to save is the one returned by
<link linkend="gtk-window-get-size"><function>gtk_window_get_size()</function></link>. Using the window allocation directly will not
work in all circumstances and can lead to growing or shrinking windows.</para>
<refsect3 id="gtk-window-set-default-size.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>width in pixels, or -1 to unset the default width</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>height in pixels, or -1 to unset the default height</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-hide-on-close" role="function">
<title>gtk_window_set_hide_on_close&#160;()</title>
<indexterm zone="gtk-window-set-hide-on-close"><primary>gtk_window_set_hide_on_close</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_hide_on_close (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>If <parameter>setting</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then clicking the close button on the window
will not destroy it, but only hide it.</para>
<refsect3 id="gtk-window-set-hide-on-close.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>whether to hide the window when it is closed</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-hide-on-close" role="function">
<title>gtk_window_get_hide_on_close&#160;()</title>
<indexterm zone="gtk-window-get-hide-on-close"><primary>gtk_window_get_hide_on_close</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_hide_on_close (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window will be hidden when the close button is clicked.</para>
<refsect3 id="gtk-window-get-hide-on-close.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-hide-on-close.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window will be hidden</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-transient-for" role="function">
<title>gtk_window_set_transient_for&#160;()</title>
<indexterm zone="gtk-window-set-transient-for"><primary>gtk_window_set_transient_for</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_transient_for (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                              <parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *parent</parameter>);</programlisting>
<para>Dialog windows should be set transient for the main application
window they were spawned from. This allows
<link linkend="gtk-X11-arch">window managers</link> to e.g. keep the
dialog on top of the main window, or center the dialog over the
main window. <link linkend="gtk-dialog-new-with-buttons"><function>gtk_dialog_new_with_buttons()</function></link> and other convenience
functions in GTK+ will sometimes call
<link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link> on your behalf.</para>
<para>Passing <link linkend="NULL:CAPS"><literal>NULL</literal></link> for <parameter>parent</parameter>
 unsets the current transient window.</para>
<para>On Windows, this function puts the child window on top of the parent,
much as the window manager would have done on X.</para>
<refsect3 id="gtk-window-set-transient-for.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>parent</para></entry>
<entry role="parameter_description"><para>parent window, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-destroy-with-parent" role="function">
<title>gtk_window_set_destroy_with_parent&#160;()</title>
<indexterm zone="gtk-window-set-destroy-with-parent"><primary>gtk_window_set_destroy_with_parent</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_destroy_with_parent (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                                    <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>If <parameter>setting</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then destroying the transient parent of <parameter>window</parameter>

will also destroy <parameter>window</parameter>
 itself. This is useful for dialogs that
shouldn’t persist beyond the lifetime of the main window they're
associated with, for example.</para>
<refsect3 id="gtk-window-set-destroy-with-parent.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>whether to destroy <parameter>window</parameter>
with its transient parent</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-display" role="function">
<title>gtk_window_set_display&#160;()</title>
<indexterm zone="gtk-window-set-display"><primary>gtk_window_set_display</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_display (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                        <parameter><link linkend="GdkDisplay"><type>GdkDisplay</type></link> *display</parameter>);</programlisting>
<para>Sets the <link linkend="GdkDisplay"><type>GdkDisplay</type></link> where the <parameter>window</parameter>
 is displayed; if
the window is already mapped, it will be unmapped, and
then remapped on the new display.</para>
<refsect3 id="gtk-window-set-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkDisplay"><type>GdkDisplay</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-is-active" role="function">
<title>gtk_window_is_active&#160;()</title>
<indexterm zone="gtk-window-is-active"><primary>gtk_window_is_active</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_is_active (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window is part of the current active toplevel.
(That is, the toplevel window receiving keystrokes.)
The return value is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window is active toplevel itself.
You might use this function if you wanted to draw a widget
differently in an active window from a widget in an inactive window.</para>
<refsect3 id="gtk-window-is-active.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-is-active.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window part of the current active window.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-is-maximized" role="function">
<title>gtk_window_is_maximized&#160;()</title>
<indexterm zone="gtk-window-is-maximized"><primary>gtk_window_is_maximized</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_is_maximized (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Retrieves the current maximized state of <parameter>window</parameter>
.</para>
<para>Note that since maximization is ultimately handled by the window
manager and happens asynchronously to an application request, you
shouldn’t assume the return value of this function changing
immediately (or at all), as an effect of calling
<link linkend="gtk-window-maximize"><function>gtk_window_maximize()</function></link> or <link linkend="gtk-window-unmaximize"><function>gtk_window_unmaximize()</function></link>.</para>
<refsect3 id="gtk-window-is-maximized.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-is-maximized.returns" role="returns">
<title>Returns</title>
<para> whether the window has a maximized state.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-toplevels" role="function">
<title>gtk_window_get_toplevels&#160;()</title>
<indexterm zone="gtk-window-get-toplevels"><primary>gtk_window_get_toplevels</primary></indexterm>
<programlisting language="C"><link linkend="GListModel"><returnvalue>GListModel</returnvalue></link>&#160;*
gtk_window_get_toplevels (<parameter><type>void</type></parameter>);</programlisting>
<para>Returns a list of all existing toplevel windows.</para>
<para>If you want to iterate through the list and perform actions involving
callbacks that might destroy the widgets or add new ones, be aware that
the list of toplevels will change and emit the "items-changed" signal.</para>
<refsect3 id="gtk-window-get-toplevels.returns" role="returns">
<title>Returns</title>
<para>the list
of toplevel widgets. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>attributes</acronym> element-type=GtkWindow]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-list-toplevels" role="function">
<title>gtk_window_list_toplevels&#160;()</title>
<indexterm zone="gtk-window-list-toplevels"><primary>gtk_window_list_toplevels</primary></indexterm>
<programlisting language="C"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
gtk_window_list_toplevels (<parameter><type>void</type></parameter>);</programlisting>
<para>Returns a list of all existing toplevel windows. The widgets
in the list are not individually referenced. If you want
to iterate through the list and perform actions involving
callbacks that might destroy the widgets, you must call
<literal>g_list_foreach (result, (GFunc)g_object_ref, NULL)</literal> first, and
then unref all the widgets afterwards.</para>
<refsect3 id="gtk-window-list-toplevels.returns" role="returns">
<title>Returns</title>
<para>list of toplevel widgets. </para>
<para><emphasis role="annotation">[<acronym>element-type</acronym> GtkWidget][<acronym>transfer container</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-focus" role="function">
<title>gtk_window_get_focus&#160;()</title>
<indexterm zone="gtk-window-get-focus"><primary>gtk_window_get_focus</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_window_get_focus (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Retrieves the current focused widget within the window.
Note that this is the widget that would have the focus
if the toplevel window focused; if the toplevel window
is not focused then  <literal>gtk_widget_has_focus (widget)</literal> will
not be <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> for the widget.</para>
<refsect3 id="gtk-window-get-focus.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-focus.returns" role="returns">
<title>Returns</title>
<para>the currently focused widget,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there is none. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-focus" role="function">
<title>gtk_window_set_focus&#160;()</title>
<indexterm zone="gtk-window-set-focus"><primary>gtk_window_set_focus</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_focus (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                      <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *focus</parameter>);</programlisting>
<para>If <parameter>focus</parameter>
 is not the current focus widget, and is focusable, sets
it as the focus widget for the window. If <parameter>focus</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, unsets
the focus widget for this window. To set the focus to a particular
widget in the toplevel, it is usually more convenient to use
<link linkend="gtk-widget-grab-focus"><function>gtk_widget_grab_focus()</function></link> instead of this function.</para>
<refsect3 id="gtk-window-set-focus.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>focus</para></entry>
<entry role="parameter_description"><para>widget to be the new focus widget, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to unset
any focus widget for the toplevel window. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-default-widget" role="function">
<title>gtk_window_get_default_widget&#160;()</title>
<indexterm zone="gtk-window-get-default-widget"><primary>gtk_window_get_default_widget</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_window_get_default_widget (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns the default widget for <parameter>window</parameter>
. See
<link linkend="gtk-window-set-default"><function>gtk_window_set_default()</function></link> for more details.</para>
<refsect3 id="gtk-window-get-default-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-default-widget.returns" role="returns">
<title>Returns</title>
<para>the default widget, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
if there is none. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-default-widget" role="function">
<title>gtk_window_set_default_widget&#160;()</title>
<indexterm zone="gtk-window-set-default-widget"><primary>gtk_window_set_default_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_default_widget (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                               <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *default_widget</parameter>);</programlisting>
<para>The default widget is the widget that’s activated when the user
presses Enter in a dialog (for example). This function sets or
unsets the default widget for a <link linkend="GtkWindow"><type>GtkWindow</type></link>.</para>
<refsect3 id="gtk-window-set-default-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>default_widget</para></entry>
<entry role="parameter_description"><para>widget to be the default, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
to unset the default widget for the toplevel. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-present" role="function">
<title>gtk_window_present&#160;()</title>
<indexterm zone="gtk-window-present"><primary>gtk_window_present</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_present (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Presents a window to the user. This function should not be used
as when it is called, it is too late to gather a valid timestamp
to allow focus stealing prevention to work correctly.</para>
<refsect3 id="gtk-window-present.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-present-with-time" role="function">
<title>gtk_window_present_with_time&#160;()</title>
<indexterm zone="gtk-window-present-with-time"><primary>gtk_window_present_with_time</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_present_with_time (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                              <parameter><link linkend="guint32"><type>guint32</type></link> timestamp</parameter>);</programlisting>
<para>Presents a window to the user. This may mean raising the window
in the stacking order, unminimizing it, moving it to the current
desktop, and/or giving it the keyboard focus, possibly dependent
on the user’s platform, window manager, and preferences.</para>
<para>If <parameter>window</parameter>
 is hidden, this function calls <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>
as well.</para>
<para>This function should be used when the user tries to open a window
that’s already open. Say for example the preferences dialog is
currently open, and the user chooses Preferences from the menu
a second time; use <link linkend="gtk-window-present"><function>gtk_window_present()</function></link> to move the already-open dialog
where the user can see it.</para>
<para>Presents a window to the user in response to a user interaction. The
timestamp should be gathered when the window was requested to be shown
(when clicking a link for example), rather than once the window is
ready to be shown.</para>
<refsect3 id="gtk-window-present-with-time.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>timestamp</para></entry>
<entry role="parameter_description"><para>the timestamp of the user interaction (typically a
button or key press event) which triggered this call</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-close" role="function">
<title>gtk_window_close&#160;()</title>
<indexterm zone="gtk-window-close"><primary>gtk_window_close</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_close (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Requests that the window is closed, similar to what happens
when a window manager close button is clicked.</para>
<para>This function can be used with close buttons in custom
titlebars.</para>
<refsect3 id="gtk-window-close.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-minimize" role="function">
<title>gtk_window_minimize&#160;()</title>
<indexterm zone="gtk-window-minimize"><primary>gtk_window_minimize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_minimize (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to minimize the specified <parameter>window</parameter>
.</para>
<para>Note that you shouldn’t assume the window is definitely minimized
afterward, because the windowing system might not support this
functionality; other entities (e.g. the user or the <link linkend="gtk-X11-arch">window manager</link>)
could unminimize it again, or there may not be a window manager in
which case minimization isn’t possible, etc.</para>
<para>It’s permitted to call this function before showing a window,
in which case the window will be minimized before it ever appears
onscreen.</para>
<para>You can track result of this operation via the <link linkend="GdkToplevel--state"><type>“state”</type></link>
property.</para>
<refsect3 id="gtk-window-minimize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-unminimize" role="function">
<title>gtk_window_unminimize&#160;()</title>
<indexterm zone="gtk-window-unminimize"><primary>gtk_window_unminimize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_unminimize (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to unminimize the specified <parameter>window</parameter>
.</para>
<para>Note that you shouldn’t assume the window is definitely unminimized
afterward, because the windowing system might not support this
functionality; other entities (e.g. the user or the <link linkend="gtk-X11-arch">window manager</link>)
could minimize it again, or there may not be a window manager in
which case minimization isn’t possible, etc.</para>
<para>You can track result of this operation via the <link linkend="GdkToplevel--state"><type>“state”</type></link>
property.</para>
<refsect3 id="gtk-window-unminimize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-maximize" role="function">
<title>gtk_window_maximize&#160;()</title>
<indexterm zone="gtk-window-maximize"><primary>gtk_window_maximize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_maximize (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to maximize <parameter>window</parameter>
, so that it becomes full-screen. Note that
you shouldn’t assume the window is definitely maximized afterward,
because other entities (e.g. the user or
<link linkend="gtk-X11-arch">window manager</link>) could unmaximize it
again, and not all window managers support maximization. But
normally the window will end up maximized. Just don’t write code
that crashes if not.</para>
<para>It’s permitted to call this function before showing a window,
in which case the window will be maximized when it appears onscreen
initially.</para>
<para>You can track the result of this operation via the <link linkend="GdkToplevel--state"><type>“state”</type></link>
property, or by listening to notifications on the <link linkend="GtkWindow--is-maximized"><type>“is-maximized”</type></link>
property.</para>
<refsect3 id="gtk-window-maximize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-unmaximize" role="function">
<title>gtk_window_unmaximize&#160;()</title>
<indexterm zone="gtk-window-unmaximize"><primary>gtk_window_unmaximize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_unmaximize (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to unmaximize <parameter>window</parameter>
. Note that you shouldn’t assume the
window is definitely unmaximized afterward, because other entities
(e.g. the user or <link linkend="gtk-X11-arch">window manager</link>)
could maximize it again, and not all window
managers honor requests to unmaximize. But normally the window will
end up unmaximized. Just don’t write code that crashes if not.</para>
<para>You can track the result of this operation via the <link linkend="GdkToplevel--state"><type>“state”</type></link>
property, or by listening to notifications on the <link linkend="GtkWindow--is-maximized"><type>“is-maximized”</type></link>
property.</para>
<refsect3 id="gtk-window-unmaximize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-fullscreen" role="function">
<title>gtk_window_fullscreen&#160;()</title>
<indexterm zone="gtk-window-fullscreen"><primary>gtk_window_fullscreen</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_fullscreen (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to place <parameter>window</parameter>
 in the fullscreen state. Note that you
shouldn’t assume the window is definitely full screen afterward,
because other entities (e.g. the user or
<link linkend="gtk-X11-arch">window manager</link>) could unfullscreen it
again, and not all window managers honor requests to fullscreen
windows. But normally the window will end up fullscreen. Just
don’t write code that crashes if not.</para>
<para>You can track iconification via the <link linkend="GdkToplevel--state"><type>“state”</type></link> property</para>
<refsect3 id="gtk-window-fullscreen.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-fullscreen-on-monitor" role="function">
<title>gtk_window_fullscreen_on_monitor&#160;()</title>
<indexterm zone="gtk-window-fullscreen-on-monitor"><primary>gtk_window_fullscreen_on_monitor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_fullscreen_on_monitor (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                                  <parameter><link linkend="GdkMonitor"><type>GdkMonitor</type></link> *monitor</parameter>);</programlisting>
<para>Asks to place <parameter>window</parameter>
 in the fullscreen state. Note that you shouldn't assume
the window is definitely full screen afterward.</para>
<para>You can track iconification via the <link linkend="GdkToplevel--state"><type>“state”</type></link> property</para>
<refsect3 id="gtk-window-fullscreen-on-monitor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>monitor</para></entry>
<entry role="parameter_description"><para>which monitor to go fullscreen on</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-unfullscreen" role="function">
<title>gtk_window_unfullscreen&#160;()</title>
<indexterm zone="gtk-window-unfullscreen"><primary>gtk_window_unfullscreen</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_unfullscreen (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Asks to toggle off the fullscreen state for <parameter>window</parameter>
. Note that you
shouldn’t assume the window is definitely not full screen
afterward, because other entities (e.g. the user or
<link linkend="gtk-X11-arch">window manager</link>) could fullscreen it
again, and not all window managers honor requests to unfullscreen
windows. But normally the window will end up restored to its normal
state. Just don’t write code that crashes if not.</para>
<para>You can track iconification via the <link linkend="GdkToplevel--state"><type>“state”</type></link> property</para>
<refsect3 id="gtk-window-unfullscreen.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-decorated" role="function">
<title>gtk_window_set_decorated&#160;()</title>
<indexterm zone="gtk-window-set-decorated"><primary>gtk_window_set_decorated</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_decorated (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                          <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>By default, windows are decorated with a title bar, resize
controls, etc.  Some <link linkend="gtk-X11-arch">window managers</link>
allow GTK+ to disable these decorations, creating a
borderless window. If you set the decorated property to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
using this function, GTK+ will do its best to convince the window
manager not to decorate the window. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>.</para>
<para>On Windows, this function always works, since there’s no window manager
policy involved.</para>
<refsect3 id="gtk-window-set-decorated.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to decorate the window</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-deletable" role="function">
<title>gtk_window_set_deletable&#160;()</title>
<indexterm zone="gtk-window-set-deletable"><primary>gtk_window_set_deletable</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_deletable (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                          <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>By default, windows have a close button in the window frame. Some 
<link linkend="gtk-X11-arch">window managers</link> allow GTK+ to 
disable this button. If you set the deletable property to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
using this function, GTK+ will do its best to convince the window
manager not to show a close button. Depending on the system, this
function may not have any effect when called on a window that is
already visible, so you should call it before calling <link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>.</para>
<para>On Windows, this function always works, since there’s no window manager
policy involved.</para>
<refsect3 id="gtk-window-set-deletable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to decorate the window as deletable</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-startup-id" role="function">
<title>gtk_window_set_startup_id&#160;()</title>
<indexterm zone="gtk-window-set-startup-id"><primary>gtk_window_set_startup_id</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_startup_id (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                           <parameter>const <link linkend="gchar"><type>gchar</type></link> *startup_id</parameter>);</programlisting>
<para>Startup notification identifiers are used by desktop environment to 
track application startup, to provide user feedback and other 
features. This function changes the corresponding property on the
underlying GdkSurface. Normally, startup identifier is managed 
automatically and you should only use this function in special cases
like transferring focus from other processes. You should use this
function before calling <link linkend="gtk-window-present"><function>gtk_window_present()</function></link> or any equivalent
function generating a window map event.</para>
<para>This function is only useful on X11, not with other GTK+ targets.</para>
<refsect3 id="gtk-window-set-startup-id.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>startup_id</para></entry>
<entry role="parameter_description"><para>a string with startup-notification identifier</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-decorated" role="function">
<title>gtk_window_get_decorated&#160;()</title>
<indexterm zone="gtk-window-get-decorated"><primary>gtk_window_get_decorated</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_decorated (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window has been set to have decorations
such as a title bar via <link linkend="gtk-window-set-decorated"><function>gtk_window_set_decorated()</function></link>.</para>
<refsect3 id="gtk-window-get-decorated.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-decorated.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window has been set to have decorations</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-deletable" role="function">
<title>gtk_window_get_deletable&#160;()</title>
<indexterm zone="gtk-window-get-deletable"><primary>gtk_window_get_deletable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_deletable (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window has been set to have a close button
via <link linkend="gtk-window-set-deletable"><function>gtk_window_set_deletable()</function></link>.</para>
<refsect3 id="gtk-window-get-deletable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-deletable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window has been set to have a close button</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-default-icon-name" role="function">
<title>gtk_window_get_default_icon_name&#160;()</title>
<indexterm zone="gtk-window-get-default-icon-name"><primary>gtk_window_get_default_icon_name</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_window_get_default_icon_name (<parameter><type>void</type></parameter>);</programlisting>
<para>Returns the fallback icon name for windows that has been set
with <link linkend="gtk-window-set-default-icon-name"><function>gtk_window_set_default_icon_name()</function></link>. The returned
string is owned by GTK+ and should not be modified. It
is only valid until the next call to
<link linkend="gtk-window-set-default-icon-name"><function>gtk_window_set_default_icon_name()</function></link>.</para>
<refsect3 id="gtk-window-get-default-icon-name.returns" role="returns">
<title>Returns</title>
<para> the fallback icon name for windows</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-default-size" role="function">
<title>gtk_window_get_default_size&#160;()</title>
<indexterm zone="gtk-window-get-default-size"><primary>gtk_window_get_default_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_get_default_size (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> *width</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> *height</parameter>);</programlisting>
<para>Gets the default size of the window. A value of -1 for the width or
height indicates that a default size has not been explicitly set
for that dimension, so the “natural” size of the window will be
used.</para>
<refsect3 id="gtk-window-get-default-size.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>location to store the default width, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>location to store the default height, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-destroy-with-parent" role="function">
<title>gtk_window_get_destroy_with_parent&#160;()</title>
<indexterm zone="gtk-window-get-destroy-with-parent"><primary>gtk_window_get_destroy_with_parent</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_destroy_with_parent (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window will be destroyed with its transient parent. See
<link linkend="gtk-window-set-destroy-with-parent"><function>gtk_window_set_destroy_with_parent()</function></link>.</para>
<refsect3 id="gtk-window-get-destroy-with-parent.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-destroy-with-parent.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window will be destroyed with its transient parent.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-icon-name" role="function">
<title>gtk_window_get_icon_name&#160;()</title>
<indexterm zone="gtk-window-get-icon-name"><primary>gtk_window_get_icon_name</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_window_get_icon_name (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns the name of the themed icon for the window,
see <link linkend="gtk-window-set-icon-name"><function>gtk_window_set_icon_name()</function></link>.</para>
<refsect3 id="gtk-window-get-icon-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-icon-name.returns" role="returns">
<title>Returns</title>
<para>the icon name or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the window has
no themed icon. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-modal" role="function">
<title>gtk_window_get_modal&#160;()</title>
<indexterm zone="gtk-window-get-modal"><primary>gtk_window_get_modal</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_modal (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether the window is modal. See <link linkend="gtk-window-set-modal"><function>gtk_window_set_modal()</function></link>.</para>
<refsect3 id="gtk-window-get-modal.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-modal.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the window is set to be modal and
establishes a grab when shown</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-size" role="function">
<title>gtk_window_get_size&#160;()</title>
<indexterm zone="gtk-window-get-size"><primary>gtk_window_get_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_get_size (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                     <parameter><link linkend="gint"><type>gint</type></link> *width</parameter>,
                     <parameter><link linkend="gint"><type>gint</type></link> *height</parameter>);</programlisting>
<para>Obtains the current size of <parameter>window</parameter>
.</para>
<para>If <parameter>window</parameter>
 is not visible on screen, this function return the size GTK+
will suggest to the <link linkend="gtk-X11-arch">window manager</link> for the initial window
size (but this is not reliably the same as the size the window manager
will actually select). See: <link linkend="gtk-window-set-default-size"><function>gtk_window_set_default_size()</function></link>.</para>
<para>Depending on the windowing system and the window manager constraints,
the size returned by this function may not match the size set using
<link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link>; additionally, since <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> may be
implemented as an asynchronous operation, GTK+ cannot guarantee in any
way that this code:</para>
<informalexample><programlisting role="example"><![CDATA[
  GtkWindow *window = GTK_WINDOW (gtk_window_new ());
  int width = 500;
  int height = 300;
  gtk_window_resize (window, width, height);

  int new_width, new_height;
  gtk_window_get_size (window, &new_width, &new_height);
]]></programlisting></informalexample>
<para></para>
<para>will result in <literal>new_width</literal> and <literal>new_height</literal> matching <literal>width</literal> and
<literal>height</literal>, respectively.</para>
<para>This function will return the logical size of the <link linkend="GtkWindow"><type>GtkWindow</type></link>,
excluding the widgets used in client side decorations; there is,
however, no guarantee that the result will be completely accurate
because client side decoration may include widgets that depend on
the user preferences and that may not be visibile at the time you
call this function.</para>
<para>The dimensions returned by this function are suitable for being
stored across sessions; use <link linkend="gtk-window-set-default-size"><function>gtk_window_set_default_size()</function></link> to
restore them when before showing the window.</para>
<informalexample><programlisting role="example"><![CDATA[
static void
on_size_allocate (GtkWidget *widget,
                  const GtkAllocation *allocation,
                  int baseline)
{
  int new_width, new_height;

  gtk_window_get_size (GTK_WINDOW (widget), &new_width, &new_height);

  // ...
}
]]></programlisting></informalexample>
<para></para>
<para>If you are getting a window size in order to position the window
on the screen, you should, instead, simply set the window’s semantic
type with <link linkend="gtk-window-set-type-hint"><function>gtk_window_set_type_hint()</function></link>, which allows the window manager
to e.g. center dialogs. Also, if you set the transient parent of
dialogs with <link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link> window managers will
often center the dialog over its parent window. It's much preferred
to let the window manager handle these cases rather than doing it
yourself, because all apps will behave consistently and according to
user or system preferences, if the window manager handles it. Also,
the window manager can take into account the size of the window
decorations and border that it may add, and of which GTK+ has no
knowledge. Additionally, positioning windows in global screen coordinates
may not be allowed by the windowing system. For more information,
see: <link linkend="gtk-window-set-position"><function>gtk_window_set_position()</function></link>.</para>
<refsect3 id="gtk-window-get-size.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>return location for width, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>return location for height, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-title" role="function">
<title>gtk_window_get_title&#160;()</title>
<indexterm zone="gtk-window-get-title"><primary>gtk_window_get_title</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
gtk_window_get_title (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Retrieves the title of the window. See <link linkend="gtk-window-set-title"><function>gtk_window_set_title()</function></link>.</para>
<refsect3 id="gtk-window-get-title.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-title.returns" role="returns">
<title>Returns</title>
<para>the title of the window, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none has
been set explicitly. The returned string is owned by the widget
and must not be modified or freed. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-transient-for" role="function">
<title>gtk_window_get_transient_for&#160;()</title>
<indexterm zone="gtk-window-get-transient-for"><primary>gtk_window_get_transient_for</primary></indexterm>
<programlisting language="C"><link linkend="GtkWindow"><returnvalue>GtkWindow</returnvalue></link>&#160;*
gtk_window_get_transient_for (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Fetches the transient parent for this window. See
<link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link>.</para>
<refsect3 id="gtk-window-get-transient-for.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-transient-for.returns" role="returns">
<title>Returns</title>
<para>the transient parent for this
window, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no transient parent has been set. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-group" role="function">
<title>gtk_window_get_group&#160;()</title>
<indexterm zone="gtk-window-get-group"><primary>gtk_window_get_group</primary></indexterm>
<programlisting language="C"><link linkend="GtkWindowGroup"><returnvalue>GtkWindowGroup</returnvalue></link>&#160;*
gtk_window_get_group (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns the group for <parameter>window</parameter>
 or the default group, if
<parameter>window</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link> or if <parameter>window</parameter>
 does not have an explicit
window group.</para>
<refsect3 id="gtk-window-get-group.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-group.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GtkWindowGroup"><type>GtkWindowGroup</type></link> for a window or the default group. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-has-group" role="function">
<title>gtk_window_has_group&#160;()</title>
<indexterm zone="gtk-window-has-group"><primary>gtk_window_has_group</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_has_group (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns whether <parameter>window</parameter>
 has an explicit window group.</para>
<refsect3 id="gtk-window-has-group.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-has-group.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>window</parameter>
has an explicit window group.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-resize" role="function">
<title>gtk_window_resize&#160;()</title>
<indexterm zone="gtk-window-resize"><primary>gtk_window_resize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_resize (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                   <parameter><link linkend="gint"><type>gint</type></link> width</parameter>,
                   <parameter><link linkend="gint"><type>gint</type></link> height</parameter>);</programlisting>
<para>Resizes the window as if the user had done so, obeying geometry
constraints. The default geometry constraint is that windows may
not be smaller than their size request; to override this
constraint, call <link linkend="gtk-widget-set-size-request"><function>gtk_widget_set_size_request()</function></link> to set the window's
request to a smaller value.</para>
<para>If <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> is called before showing a window for the
first time, it overrides any default size set with
<link linkend="gtk-window-set-default-size"><function>gtk_window_set_default_size()</function></link>.</para>
<para>Windows may not be resized smaller than 1 by 1 pixels.</para>
<para>When using client side decorations, GTK+ will do its best to adjust
the given size so that the resulting window size matches the
requested size without the title bar, borders and shadows added for
the client side decorations, but there is no guarantee that the
result will be totally accurate because these widgets added for
client side decorations depend on the theme and may not be realized
or visible at the time <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> is issued.</para>
<para>If the GtkWindow has a titlebar widget (see <link linkend="gtk-window-set-titlebar"><function>gtk_window_set_titlebar()</function></link>), then
typically, <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> will compensate for the height of the titlebar
widget only if the height is known when the resulting GtkWindow configuration
is issued.
For example, if new widgets are added after the GtkWindow configuration
and cause the titlebar widget to grow in height, this will result in a
window content smaller that specified by <link linkend="gtk-window-resize"><function>gtk_window_resize()</function></link> and not
a larger window.</para>
<refsect3 id="gtk-window-resize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>width in pixels to resize the window to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>height in pixels to resize the window to</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-default-icon-name" role="function">
<title>gtk_window_set_default_icon_name&#160;()</title>
<indexterm zone="gtk-window-set-default-icon-name"><primary>gtk_window_set_default_icon_name</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_default_icon_name (<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);</programlisting>
<para>Sets an icon to be used as fallback for windows that haven't
had <link linkend="gtk-window-set-icon-list"><function>gtk_window_set_icon_list()</function></link> called on them from a named
themed icon, see <link linkend="gtk-window-set-icon-name"><function>gtk_window_set_icon_name()</function></link>.</para>
<refsect3 id="gtk-window-set-default-icon-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>the name of the themed icon</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-icon-name" role="function">
<title>gtk_window_set_icon_name&#160;()</title>
<indexterm zone="gtk-window-set-icon-name"><primary>gtk_window_set_icon_name</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_icon_name (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                          <parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);</programlisting>
<para>Sets the icon for the window from a named themed icon.
See the docs for <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> for more details.
On some platforms, the window icon is not used at all.</para>
<para>Note that this has nothing to do with the WM_ICON_NAME 
property which is mentioned in the ICCCM.</para>
<refsect3 id="gtk-window-set-icon-name.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>the name of the themed icon. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-auto-startup-notification" role="function">
<title>gtk_window_set_auto_startup_notification&#160;()</title>
<indexterm zone="gtk-window-set-auto-startup-notification"><primary>gtk_window_set_auto_startup_notification</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_auto_startup_notification
                               (<parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>By default, after showing the first <link linkend="GtkWindow"><type>GtkWindow</type></link>, GTK+ calls 
<link linkend="gdk-notify-startup-complete"><function>gdk_notify_startup_complete()</function></link>.  Call this function to disable 
the automatic startup notification. You might do this if your 
first window is a splash screen, and you want to delay notification 
until after your real main window has been shown, for example.</para>
<para>In that example, you would disable startup notification
temporarily, show your splash screen, then re-enable it so that
showing the main window would automatically result in notification.</para>
<refsect3 id="gtk-window-set-auto-startup-notification.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to automatically do startup notification</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-mnemonics-visible" role="function">
<title>gtk_window_get_mnemonics_visible&#160;()</title>
<indexterm zone="gtk-window-get-mnemonics-visible"><primary>gtk_window_get_mnemonics_visible</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_mnemonics_visible (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Gets the value of the <link linkend="GtkWindow--mnemonics-visible"><type>“mnemonics-visible”</type></link> property.</para>
<refsect3 id="gtk-window-get-mnemonics-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-mnemonics-visible.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if mnemonics are supposed to be visible
in this window.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-mnemonics-visible" role="function">
<title>gtk_window_set_mnemonics_visible&#160;()</title>
<indexterm zone="gtk-window-set-mnemonics-visible"><primary>gtk_window_set_mnemonics_visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_mnemonics_visible (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>Sets the <link linkend="GtkWindow--mnemonics-visible"><type>“mnemonics-visible”</type></link> property.</para>
<refsect3 id="gtk-window-set-mnemonics-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>the new value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-focus-visible" role="function">
<title>gtk_window_get_focus_visible&#160;()</title>
<indexterm zone="gtk-window-get-focus-visible"><primary>gtk_window_get_focus_visible</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_window_get_focus_visible (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Gets the value of the <link linkend="GtkWindow--focus-visible"><type>“focus-visible”</type></link> property.</para>
<refsect3 id="gtk-window-get-focus-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-focus-visible.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if “focus rectangles” are supposed to be visible
in this window.</para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-focus-visible" role="function">
<title>gtk_window_set_focus_visible&#160;()</title>
<indexterm zone="gtk-window-set-focus-visible"><primary>gtk_window_set_focus_visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_focus_visible (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>Sets the <link linkend="GtkWindow--focus-visible"><type>“focus-visible”</type></link> property.</para>
<refsect3 id="gtk-window-set-focus-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>the new value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-application" role="function">
<title>gtk_window_get_application&#160;()</title>
<indexterm zone="gtk-window-get-application"><primary>gtk_window_get_application</primary></indexterm>
<programlisting language="C"><link linkend="GtkApplication"><returnvalue>GtkApplication</returnvalue></link>&#160;*
gtk_window_get_application (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Gets the <link linkend="GtkApplication"><type>GtkApplication</type></link> associated with the window (if any).</para>
<refsect3 id="gtk-window-get-application.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-application.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkApplication"><type>GtkApplication</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-application" role="function">
<title>gtk_window_set_application&#160;()</title>
<indexterm zone="gtk-window-set-application"><primary>gtk_window_set_application</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_application (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                            <parameter><link linkend="GtkApplication"><type>GtkApplication</type></link> *application</parameter>);</programlisting>
<para>Sets or unsets the <link linkend="GtkApplication"><type>GtkApplication</type></link> associated with the window.</para>
<para>The application will be kept alive for at least as long as it has any windows
associated with it (see <link linkend="g-application-hold"><function>g_application_hold()</function></link> for a way to keep it alive
without windows).</para>
<para>Normally, the connection between the application and the window will remain
until the window is destroyed, but you can explicitly remove it by setting
the <parameter>application</parameter>
 to <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<para>This is equivalent to calling <link linkend="gtk-application-remove-window"><function>gtk_application_remove_window()</function></link> and/or
<link linkend="gtk-application-add-window"><function>gtk_application_add_window()</function></link> on the old/new applications as relevant.</para>
<refsect3 id="gtk-window-set-application.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>application</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkApplication"><type>GtkApplication</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to unset. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-titlebar" role="function">
<title>gtk_window_set_titlebar&#160;()</title>
<indexterm zone="gtk-window-set-titlebar"><primary>gtk_window_set_titlebar</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_titlebar (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>,
                         <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *titlebar</parameter>);</programlisting>
<para>Sets a custom titlebar for <parameter>window</parameter>
.</para>
<para>A typical widget used here is <link linkend="GtkHeaderBar"><type>GtkHeaderBar</type></link>, as it provides various features
expected of a titlebar while allowing the addition of child widgets to it.</para>
<para>If you set a custom titlebar, GTK+ will do its best to convince
the window manager not to put its own titlebar on the window.
Depending on the system, this function may not work for a window
that is already visible, so you set the titlebar before calling
<link linkend="gtk-widget-show"><function>gtk_widget_show()</function></link>.</para>
<refsect3 id="gtk-window-set-titlebar.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>titlebar</para></entry>
<entry role="parameter_description"><para>the widget to use as titlebar. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-window-get-titlebar" role="function">
<title>gtk_window_get_titlebar&#160;()</title>
<indexterm zone="gtk-window-get-titlebar"><primary>gtk_window_get_titlebar</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_window_get_titlebar (<parameter><link linkend="GtkWindow"><type>GtkWindow</type></link> *window</parameter>);</programlisting>
<para>Returns the custom titlebar that has been set with
<link linkend="gtk-window-set-titlebar"><function>gtk_window_set_titlebar()</function></link>.</para>
<refsect3 id="gtk-window-get-titlebar.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWindow"><type>GtkWindow</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-window-get-titlebar.returns" role="returns">
<title>Returns</title>
<para>the custom titlebar, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-window-set-interactive-debugging" role="function">
<title>gtk_window_set_interactive_debugging&#160;()</title>
<indexterm zone="gtk-window-set-interactive-debugging"><primary>gtk_window_set_interactive_debugging</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_window_set_interactive_debugging (<parameter><link linkend="gboolean"><type>gboolean</type></link> enable</parameter>);</programlisting>
<para>Opens or closes the <link linkend="interactive-debugging">interactive debugger</link>,
which offers access to the widget hierarchy of the application
and to useful debugging tools.</para>
<refsect3 id="gtk-window-set-interactive-debugging.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>enable</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable interactive debugging</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkWindow.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkWindow-struct" role="struct">
<title>GtkWindow</title>
<indexterm zone="GtkWindow-struct"><primary>GtkWindow</primary></indexterm>
<programlisting language="C">typedef struct _GtkWindow GtkWindow;</programlisting>
</refsect2>
<refsect2 id="GtkWindowClass" role="struct">
<title>struct GtkWindowClass</title>
<indexterm zone="GtkWindowClass"><primary>GtkWindowClass</primary></indexterm>
<programlisting language="C">struct GtkWindowClass {
  GtkWidgetClass parent_class;

  /* G_SIGNAL_ACTION signals for keybindings */

  void     (* activate_focus)   (GtkWindow *window);
  void     (* activate_default) (GtkWindow *window);
  void	   (* keys_changed)     (GtkWindow *window);
  gboolean (* enable_debugging) (GtkWindow *window,
                                 gboolean   toggle);
  gboolean (* close_request)    (GtkWindow *window);
};
</programlisting>
<refsect3 id="GtkWindowClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkWindowClass.activate-focus">activate_focus</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Activates the current focused widget within the window.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkWindowClass.activate-default">activate_default</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Activates the default widget for the window.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkWindowClass.keys-changed">keys_changed</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Signal gets emitted when the set of accelerators or
mnemonics that are associated with window changes.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkWindowClass.enable-debugging">enable_debugging</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Class handler for the <link linkend="GtkWindow-enable-debugging"><type>“enable-debugging”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkWindowClass.close-request">close_request</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>Class handler for the <link linkend="GtkWindow-close-request"><type>“close-request”</type></link> signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>

</refsect1>
<refsect1 id="GtkWindow.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkWindow--application" role="property"><title>The <literal>“application”</literal> property</title>
<indexterm zone="GtkWindow--application"><primary>GtkWindow:application</primary></indexterm>
<programlisting>  “application”              <link linkend="GtkApplication"><type>GtkApplication</type></link>&#160;*</programlisting>
<para>The <link linkend="GtkApplication"><type>GtkApplication</type></link> associated with the window.</para>
<para>The application will be kept alive for at least as long as it
has any windows associated with it (see <link linkend="g-application-hold"><function>g_application_hold()</function></link>
for a way to keep it alive without windows).</para>
<para>Normally, the connection between the application and the window
will remain until the window is destroyed, but you can explicitly
remove it by setting the :application property to <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkWindow--child" role="property"><title>The <literal>“child”</literal> property</title>
<indexterm zone="GtkWindow--child"><primary>GtkWindow:child</primary></indexterm>
<programlisting>  “child”                    <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The child widget.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkWindow--decorated" role="property"><title>The <literal>“decorated”</literal> property</title>
<indexterm zone="GtkWindow--decorated"><primary>GtkWindow:decorated</primary></indexterm>
<programlisting>  “decorated”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the window should be decorated by the window manager.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkWindow--default-height" role="property"><title>The <literal>“default-height”</literal> property</title>
<indexterm zone="GtkWindow--default-height"><primary>GtkWindow:default-height</primary></indexterm>
<programlisting>  “default-height”           <link linkend="gint"><type>gint</type></link></programlisting>
<para>The default height of the window, used when initially showing the window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkWindow--default-widget" role="property"><title>The <literal>“default-widget”</literal> property</title>
<indexterm zone="GtkWindow--default-widget"><primary>GtkWindow:default-widget</primary></indexterm>
<programlisting>  “default-widget”           <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The default widget.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkWindow--default-width" role="property"><title>The <literal>“default-width”</literal> property</title>
<indexterm zone="GtkWindow--default-width"><primary>GtkWindow:default-width</primary></indexterm>
<programlisting>  “default-width”            <link linkend="gint"><type>gint</type></link></programlisting>
<para>The default width of the window, used when initially showing the window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkWindow--deletable" role="property"><title>The <literal>“deletable”</literal> property</title>
<indexterm zone="GtkWindow--deletable"><primary>GtkWindow:deletable</primary></indexterm>
<programlisting>  “deletable”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the window frame should have a close button.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkWindow--destroy-with-parent" role="property"><title>The <literal>“destroy-with-parent”</literal> property</title>
<indexterm zone="GtkWindow--destroy-with-parent"><primary>GtkWindow:destroy-with-parent</primary></indexterm>
<programlisting>  “destroy-with-parent”      <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If this window should be destroyed when the parent is destroyed.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--display" role="property"><title>The <literal>“display”</literal> property</title>
<indexterm zone="GtkWindow--display"><primary>GtkWindow:display</primary></indexterm>
<programlisting>  “display”                  <link linkend="GdkDisplay"><type>GdkDisplay</type></link>&#160;*</programlisting>
<para>The display that will display this window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkWindow--focus-visible" role="property"><title>The <literal>“focus-visible”</literal> property</title>
<indexterm zone="GtkWindow--focus-visible"><primary>GtkWindow:focus-visible</primary></indexterm>
<programlisting>  “focus-visible”            <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether 'focus rectangles' are currently visible in this window.</para>
<para>This property is maintained by GTK+ based on user input
and should not be set by applications.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkWindow--focus-widget" role="property"><title>The <literal>“focus-widget”</literal> property</title>
<indexterm zone="GtkWindow--focus-widget"><primary>GtkWindow:focus-widget</primary></indexterm>
<programlisting>  “focus-widget”             <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The focus widget.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkWindow--hide-on-close" role="property"><title>The <literal>“hide-on-close”</literal> property</title>
<indexterm zone="GtkWindow--hide-on-close"><primary>GtkWindow:hide-on-close</primary></indexterm>
<programlisting>  “hide-on-close”            <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If this window should be hidden when the user clicks the close button.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--icon-name" role="property"><title>The <literal>“icon-name”</literal> property</title>
<indexterm zone="GtkWindow--icon-name"><primary>GtkWindow:icon-name</primary></indexterm>
<programlisting>  “icon-name”                <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>The :icon-name property specifies the name of the themed icon to
use as the window icon. See <link linkend="GtkIconTheme"><type>GtkIconTheme</type></link> for more details.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkWindow--is-active" role="property"><title>The <literal>“is-active”</literal> property</title>
<indexterm zone="GtkWindow--is-active"><primary>GtkWindow:is-active</primary></indexterm>
<programlisting>  “is-active”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the toplevel is the current active window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--is-maximized" role="property"><title>The <literal>“is-maximized”</literal> property</title>
<indexterm zone="GtkWindow--is-maximized"><primary>GtkWindow:is-maximized</primary></indexterm>
<programlisting>  “is-maximized”             <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the window is maximized.</para><para>Owner: GtkWindow</para>
<para>Flags: Read</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--mnemonics-visible" role="property"><title>The <literal>“mnemonics-visible”</literal> property</title>
<indexterm zone="GtkWindow--mnemonics-visible"><primary>GtkWindow:mnemonics-visible</primary></indexterm>
<programlisting>  “mnemonics-visible”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether mnemonics are currently visible in this window.</para>
<para>This property is maintained by GTK+ based on user input,
and should not be set by applications.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--modal" role="property"><title>The <literal>“modal”</literal> property</title>
<indexterm zone="GtkWindow--modal"><primary>GtkWindow:modal</primary></indexterm>
<programlisting>  “modal”                    <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If TRUE, the window is modal (other windows are not usable while this one is up).</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkWindow--resizable" role="property"><title>The <literal>“resizable”</literal> property</title>
<indexterm zone="GtkWindow--resizable"><primary>GtkWindow:resizable</primary></indexterm>
<programlisting>  “resizable”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If TRUE, users can resize the window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkWindow--startup-id" role="property"><title>The <literal>“startup-id”</literal> property</title>
<indexterm zone="GtkWindow--startup-id"><primary>GtkWindow:startup-id</primary></indexterm>
<programlisting>  “startup-id”               <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>The :startup-id is a write-only property for setting window's
startup notification identifier. See <link linkend="gtk-window-set-startup-id"><function>gtk_window_set_startup_id()</function></link>
for more details.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkWindow--title" role="property"><title>The <literal>“title”</literal> property</title>
<indexterm zone="GtkWindow--title"><primary>GtkWindow:title</primary></indexterm>
<programlisting>  “title”                    <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>The title of the window.</para><para>Owner: GtkWindow</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkWindow--transient-for" role="property"><title>The <literal>“transient-for”</literal> property</title>
<indexterm zone="GtkWindow--transient-for"><primary>GtkWindow:transient-for</primary></indexterm>
<programlisting>  “transient-for”            <link linkend="GtkWindow"><type>GtkWindow</type></link>&#160;*</programlisting>
<para>The transient parent of the window. See <link linkend="gtk-window-set-transient-for"><function>gtk_window_set_transient_for()</function></link> for
more details about transient windows.</para>
<para>Owner: GtkWindow</para>
<para>Flags: Read / Write / Construct</para>
</refsect2>

</refsect1>
<refsect1 id="GtkWindow.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkWindow-activate-default" role="signal"><title>The <literal>“activate-default”</literal> signal</title>
<indexterm zone="GtkWindow-activate-default"><primary>GtkWindow::activate-default</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkWindow"><type>GtkWindow</type></link> *window,
               <link linkend="gpointer"><type>gpointer</type></link>   user_data)</programlisting>
<para>The ::activate-default signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user activates the default widget
of <parameter>window</parameter>
.</para>
<refsect3 id="GtkWindow-activate-default.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>the window which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkWindow-activate-focus" role="signal"><title>The <literal>“activate-focus”</literal> signal</title>
<indexterm zone="GtkWindow-activate-focus"><primary>GtkWindow::activate-focus</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkWindow"><type>GtkWindow</type></link> *window,
               <link linkend="gpointer"><type>gpointer</type></link>   user_data)</programlisting>
<para>The ::activate-focus signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user activates the currently
focused widget of <parameter>window</parameter>
.</para>
<refsect3 id="GtkWindow-activate-focus.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>the window which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkWindow-close-request" role="signal"><title>The <literal>“close-request”</literal> signal</title>
<indexterm zone="GtkWindow-close-request"><primary>GtkWindow::close-request</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkWindow"><type>GtkWindow</type></link> *window,
               <link linkend="gpointer"><type>gpointer</type></link>   user_data)</programlisting>
<para>The ::close-request signal is emitted when the user clicks on the close
button of the window.</para>
<para>Return: <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to stop other handlers from being invoked for the signal</para>
<refsect3 id="GtkWindow-close-request.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>the window on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkWindow-enable-debugging" role="signal"><title>The <literal>“enable-debugging”</literal> signal</title>
<indexterm zone="GtkWindow-enable-debugging"><primary>GtkWindow::enable-debugging</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkWindow"><type>GtkWindow</type></link> *window,
               <link linkend="gboolean"><type>gboolean</type></link>   toggle,
               <link linkend="gpointer"><type>gpointer</type></link>   user_data)</programlisting>
<para>The ::enable-debugging signal is a <link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user enables or disables interactive
debugging. When <parameter>toggle</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, interactive debugging is toggled
on or off, when it is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, the debugger will be pointed at the
widget under the pointer.</para>
<para>The default bindings for this signal are Ctrl-Shift-I
and Ctrl-Shift-D.</para>
<para>Return: <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the key binding was handled</para>
<refsect3 id="GtkWindow-enable-debugging.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>the window on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>toggle</para></entry>
<entry role="parameter_description"><para>toggle the debugger</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkWindow-keys-changed" role="signal"><title>The <literal>“keys-changed”</literal> signal</title>
<indexterm zone="GtkWindow-keys-changed"><primary>GtkWindow::keys-changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkWindow"><type>GtkWindow</type></link> *window,
               <link linkend="gpointer"><type>gpointer</type></link>   user_data)</programlisting>
<para>The ::keys-changed signal gets emitted when the set of accelerators
or mnemonics that are associated with <parameter>window</parameter>
 changes.</para>
<refsect3 id="GtkWindow-keys-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>window</para></entry>
<entry role="parameter_description"><para>the window which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-FIRST:CAPS">Run First</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkWindow.action-details" role="action_details">
<title role="action_details.title">Action Details</title>
<refsect2 id="GtkWindow|window.close" role="action"><title>The <literal>“window.close”</literal> action</title>
<indexterm zone="GtkWindow|window.close"><primary>GtkWindow|window.close</primary></indexterm>
<para>Close the window.</para>
</refsect2>
<refsect2 id="GtkWindow|window.toggle-maximized" role="action"><title>The <literal>“window.toggle-maximized”</literal> action</title>
<indexterm zone="GtkWindow|window.toggle-maximized"><primary>GtkWindow|window.toggle-maximized</primary></indexterm>
<para>Maximize or restore the window.</para>
</refsect2>
<refsect2 id="GtkWindow|window.minimize" role="action"><title>The <literal>“window.minimize”</literal> action</title>
<indexterm zone="GtkWindow|window.minimize"><primary>GtkWindow|window.minimize</primary></indexterm>
<para>Close the window.</para>
</refsect2>
<refsect2 id="GtkWindow|default.activate" role="action"><title>The <literal>“default.activate”</literal> action</title>
<indexterm zone="GtkWindow|default.activate"><primary>GtkWindow|default.activate</primary></indexterm>
<para>Activate the default widget.</para>
</refsect2>

</refsect1>

</refentry>
