[gtkmm] Gdk, Gtk: Regenerate docs.xml and .defs files



commit 171cde2798b744bf480f9a7fca84d9732ef304e6
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sun Mar 22 18:53:22 2020 +0100

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update tools/extra_defs_gen/generate_defs_gdk.cc

 gdk/src/gdk_docs.xml                      | 1846 +++++++++++------------------
 gdk/src/gdk_enums.defs                    |   68 --
 gdk/src/gdk_methods.defs                  |  743 +++++-------
 gdk/src/gdk_signals.defs                  |  150 ++-
 gtk/src/gtk_docs.xml                      |  381 +-----
 gtk/src/gtk_methods.defs                  |  121 +-
 gtk/src/gtk_signals.defs                  |  138 ++-
 tools/extra_defs_gen/generate_defs_gdk.cc |    2 +
 8 files changed, 1187 insertions(+), 2262 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index 6ea725d8..52b47bce 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -2816,27 +2816,6 @@ any of the per-edge states being set.
 </parameters>
 </enum>
 
-<enum name="GdkSurfaceType">
-<description>
-Describes the kind of surface.
-
-</description>
-<parameters>
-<parameter name="GDK_SURFACE_TOPLEVEL">
-<parameter_description> toplevel window (used to implement #GtkWindow)
-</parameter_description>
-</parameter>
-<parameter name="GDK_SURFACE_TEMP">
-<parameter_description> override redirect temporary surface (used to implement #GtkMenu)
-</parameter_description>
-</parameter>
-<parameter name="GDK_SURFACE_POPUP">
-<parameter_description> popup window with semantics like xdg-popover
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GdkSurfaceTypeHint">
 <description>
 These are hints for the window manager that indicate what type of function
@@ -3003,80 +2982,6 @@ compiled in.
 </parameters>
 </enum>
 
-<enum name="GdkWMDecoration">
-<description>
-These are hints originally defined by the Motif toolkit.
-The window manager can use them when determining how to decorate
-the surface. The hint must be set before mapping the surface.
-
-</description>
-<parameters>
-<parameter name="GDK_DECOR_ALL">
-<parameter_description> all decorations should be applied.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_BORDER">
-<parameter_description> a frame should be drawn around the surface.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_RESIZEH">
-<parameter_description> the frame should have resize handles.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_TITLE">
-<parameter_description> a titlebar should be placed above the surface.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_MENU">
-<parameter_description> a button for opening a menu should be included.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_MINIMIZE">
-<parameter_description> a minimize button should be included.
-</parameter_description>
-</parameter>
-<parameter name="GDK_DECOR_MAXIMIZE">
-<parameter_description> a maximize button should be included.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
-<enum name="GdkWMFunction">
-<description>
-These are hints originally defined by the Motif toolkit. The window manager
-can use them when determining the functions to offer for the surface. The
-hint must be set before mapping the surface.
-
-</description>
-<parameters>
-<parameter name="GDK_FUNC_ALL">
-<parameter_description> all functions should be offered.
-</parameter_description>
-</parameter>
-<parameter name="GDK_FUNC_RESIZE">
-<parameter_description> the surface should be resizable.
-</parameter_description>
-</parameter>
-<parameter name="GDK_FUNC_MOVE">
-<parameter_description> the surface should be movable.
-</parameter_description>
-</parameter>
-<parameter name="GDK_FUNC_MINIMIZE">
-<parameter_description> the surface should be minimizable.
-</parameter_description>
-</parameter>
-<parameter name="GDK_FUNC_MAXIMIZE">
-<parameter_description> the surface should be maximizable.
-</parameter_description>
-</parameter>
-<parameter name="GDK_FUNC_CLOSE">
-<parameter_description> the surface should be closable.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <function name="gdk_app_launch_context_get_display">
 <description>
 Gets the #GdkDispolat that @context is for.
@@ -4808,7 +4713,10 @@ apply as when calling g_object_new() or g_object_set().
 <parameters>
 <parameter name="type">
 <parameter_description> Type of value to follow
-...: value
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value
 </parameter_description>
 </parameter>
 </parameters>
@@ -6834,7 +6742,10 @@ queue for @display.
 <parameters>
 <parameter name="display">
 <parameter_description> a #GdkDisplay
-@event (transfer none): a #GdkEvent.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
 </parameters>
@@ -7166,6 +7077,30 @@ top left corner of the drag surface.
 <return></return>
 </function>
 
+<function name="gdk_drag_surface_present">
+<description>
+Present @drag_surface.
+
+
+</description>
+<parameters>
+<parameter name="drag_surface">
+<parameter_description> the #GdkDragSurface to show
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the unconstrained drag_surface width to layout
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the unconstrained drag_surface height to layout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if it failed to be presented, otherwise %TRUE.
+</return>
+</function>
+
 <function name="gdk_draw_context_begin_frame">
 <description>
 Indicates that you are beginning the process of redrawing @region
@@ -14105,6 +14040,108 @@ of @pixdata.
 </return>
 </function>
 
+<function name="gdk_popup_get_autohide">
+<description>
+Returns whether this popup is set to hide on outside clicks.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @popup will autohide
+</return>
+</function>
+
+<function name="gdk_popup_get_parent">
+<description>
+Returns the parent surface of a popup.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the parent surface
+</return>
+</function>
+
+<function name="gdk_popup_get_position_x">
+<description>
+Obtains the position of the popup relative to its parent.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the X coordinate of @popup position
+</return>
+</function>
+
+<function name="gdk_popup_get_position_y">
+<description>
+Obtains the position of the popup relative to its parent.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the Y coordinate of @popup position
+</return>
+</function>
+
+<function name="gdk_popup_get_rect_anchor">
+<description>
+Gets the current popup rectangle anchor.
+
+The value returned may change after calling gdk_popup_present(),
+or after the &quot;popup-layout-changed&quot; is emitted.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current rectangle anchor value of @popup
+</return>
+</function>
+
+<function name="gdk_popup_get_surface_anchor">
+<description>
+Gets the current popup surface anchor.
+
+The value returned may change after calling gdk_popup_present(),
+or after the &quot;popup-layout-changed&quot; is emitted.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> a #GdkPopup
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current surface anchor value of @popup
+</return>
+</function>
+
 <function name="gdk_popup_layout_copy">
 <description>
 Create a new #GdkPopupLayout and copy the contents of @layout into it.
@@ -14198,6 +14235,8 @@ Get the delta the anchor rectangle is offset with
 
 <function name="gdk_popup_layout_get_rect_anchor">
 <description>
+Returns the anchor position on the anchor rectangle.
+
 
 </description>
 <parameters>
@@ -14212,6 +14251,8 @@ Get the delta the anchor rectangle is offset with
 
 <function name="gdk_popup_layout_get_surface_anchor">
 <description>
+Returns the anchor position on the popup surface.
+
 
 </description>
 <parameters>
@@ -14387,6 +14428,44 @@ Decreases the reference count of @value.
 <return></return>
 </function>
 
+<function name="gdk_popup_present">
+<description>
+Present @popup after having processed the #GdkPopupLayout rules.
+If the popup was previously now showing, it will be showed,
+otherwise it will change position according to @layout.
+
+After calling this function, the result of the layout can be queried
+using gdk_popup_get_position(), gdk_surface_get_width(),
+gdk_surface_get_height(), gdk_popup_get_rect_anchor() and
+gdk_popup_get_surface_anchor().
+
+Presenting may have fail, for example if it was immediately
+hidden if the @popup was set to autohide.
+
+
+</description>
+<parameters>
+<parameter name="popup">
+<parameter_description> the #GdkPopup to show
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the unconstrained popup width to layout
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the unconstrained popup height to layout
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> the #GdkPopupLayout object used to layout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if it failed to be presented, otherwise %TRUE.
+</return>
+</function>
+
 <function name="gdk_rectangle_contains_point">
 <description>
 Returns #TRUE if @rect contains the point described by @x and @y.
@@ -14986,40 +15065,6 @@ the display just as gdk_display_beep().
 <description>
 Begins a surface move operation (for a toplevel surface).
 
-This function assumes that the drag is controlled by the
-client pointer device, use gdk_surface_begin_move_drag_for_device()
-to begin a drag with a different device.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> the button being used to drag, or 0 for a keyboard-initiated drag
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> surface X coordinate of mouse click that began the drag
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> surface Y coordinate of mouse click that began the drag
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> timestamp of mouse click that began the drag
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_begin_move_drag_for_device">
-<description>
-Begins a surface move operation (for a toplevel surface).
-
 </description>
 <parameters>
 <parameter name="surface">
@@ -15053,44 +15098,6 @@ Begins a surface move operation (for a toplevel surface).
 <function name="gdk_surface_begin_resize_drag">
 <description>
 Begins a surface resize operation (for a toplevel surface).
-
-This function assumes that the drag is controlled by the
-client pointer device, use gdk_surface_begin_resize_drag_for_device()
-to begin a drag with a different device.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="edge">
-<parameter_description> the edge or corner from which the drag is started
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> the button being used to drag, or 0 for a keyboard-initiated drag
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> surface X coordinate of mouse click that began the drag
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> surface Y coordinate of mouse click that began the drag
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> timestamp of mouse click that began the drag (use gdk_event_get_time())
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_begin_resize_drag_for_device">
-<description>
-Begins a surface resize operation (for a toplevel surface).
 You might use this function to implement a “window resize grip,”
 
 </description>
@@ -15291,26 +15298,6 @@ reaches zero. You must call this function yourself before that happens.
 <return></return>
 </function>
 
-<function name="gdk_surface_focus">
-<description>
-Sets keyboard focus to @surface. In most cases, gtk_window_present_with_time()
-should be used on a #GtkWindow, rather than calling this function.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> timestamp of the event triggering the surface focus
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_freeze_updates">
 <description>
 Temporarily freezes a surface such that it won’t receive expose
@@ -15329,86 +15316,6 @@ an equal number of times to begin processing exposes.
 <return></return>
 </function>
 
-<function name="gdk_surface_fullscreen">
-<description>
-Moves the surface into fullscreen mode. This means the
-surface covers the entire screen and is above any panels
-or task bars.
-
-If the surface was already fullscreen, then this function does nothing.
-
-On X11, asks the window manager to put @surface in a fullscreen
-state, if the window manager supports this operation. Not all
-window managers support this, and some deliberately ignore it or
-don’t have a concept of “fullscreen”; so you can’t rely on the
-fullscreenification actually happening. But it will happen with
-most standard window managers, and GDK makes a best effort to get
-it to happen.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_fullscreen_on_monitor">
-<description>
-Moves the surface into fullscreen mode on the given monitor. This means
-the surface covers the entire screen and is above any panels or task bars.
-
-If the surface was already fullscreen, then this function does nothing.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="monitor">
-<parameter_description> Which monitor to display fullscreen on.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_get_accept_focus">
-<description>
-Determines whether or not the desktop environment shuld be hinted that
-the surface does not want to receive input focus.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface.
-</parameter_description>
-</parameter>
-</parameters>
-<return> whether or not the surface should receive input focus.
-</return>
-</function>
-
-<function name="gdk_surface_get_autohide">
-<description>
-Returns whether this surface is set to hide on outside clicks.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @surface will autohide
-</return>
-</function>
-
 <function name="gdk_surface_get_cursor">
 <description>
 Retrieves a #GdkCursor pointer for the cursor currently set on the
@@ -15431,27 +15338,6 @@ cursor of the surface
 </return>
 </function>
 
-<function name="gdk_surface_get_decorations">
-<description>
-Returns the decorations set on the GdkSurface with
-gdk_surface_set_decorations().
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> The toplevel #GdkSurface to get the decorations from
-</parameter_description>
-</parameter>
-<parameter name="decorations">
-<parameter_description> The surface decorations will be written here
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the surface has decorations set, %FALSE otherwise.
-</return>
-</function>
-
 <function name="gdk_surface_get_device_cursor">
 <description>
 Retrieves a #GdkCursor pointer for the @device currently set on the
@@ -15526,24 +15412,6 @@ Gets the #GdkDisplay associated with a #GdkSurface.
 </return>
 </function>
 
-<function name="gdk_surface_get_focus_on_map">
-<description>
-Determines whether or not the desktop environment should be hinted that the
-surface does not want to receive input focus when it is mapped.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface.
-</parameter_description>
-</parameter>
-</parameters>
-<return> whether or not the surface wants to receive input focus when
-it is mapped.
-</return>
-</function>
-
 <function name="gdk_surface_get_frame_clock">
 <description>
 Gets the frame clock for the surface. The frame clock for a surface
@@ -15562,22 +15430,6 @@ surface.
 </return>
 </function>
 
-<function name="gdk_surface_get_fullscreen_mode">
-<description>
-Obtains the #GdkFullscreenMode of the @surface.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> The #GdkFullscreenMode applied to the surface when fullscreen.
-</return>
-</function>
-
 <function name="gdk_surface_get_height">
 <description>
 Returns the height of the given @surface.
@@ -15615,97 +15467,6 @@ gdk_surface_show_unraised()).
 </return>
 </function>
 
-<function name="gdk_surface_get_modal_hint">
-<description>
-Determines whether or not the window manager is hinted that @surface
-has modal behaviour.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> A toplevel #GdkSurface.
-</parameter_description>
-</parameter>
-</parameters>
-<return> whether or not the surface has the modal hint set.
-</return>
-</function>
-
-<function name="gdk_surface_get_parent">
-<description>
-Returns the parent surface of a surface, or
-%NULL if the surface does not have a parent.
-
-Only popup surfaces have parents.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GtkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> the parent of
-@surface, or %NULL
-</return>
-</function>
-
-<function name="gdk_surface_get_popup_rect_anchor">
-<description>
-Get the current popup anchor rectangle anchor. The value
-returned may chage after calling gdk_surface_show_popup(),
-gdk_surface_layout_popup() or after the &quot;popup-layout-changed&quot; is emitted.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_get_popup_surface_anchor">
-<description>
-Get the current popup surface anchor. The value returned may chage after
-calling gdk_surface_show_popup(), gdk_surface_layout_popup() or after the
-&quot;popup-layout-changed&quot; is emitted.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_get_position">
-<description>
-Obtains the position of the surface relative to its parent.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X coordinate of surface
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y coordinate of surface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_get_scale_factor">
 <description>
 Returns the internal scale factor that maps from surface coordiantes
@@ -15733,23 +15494,6 @@ a configure event will be sent to the toplevel surface.
 </return>
 </function>
 
-<function name="gdk_surface_get_state">
-<description>
-Gets the bitwise OR of the currently active surface state flags,
-from the #GdkSurfaceState enumeration.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> surface state bitfield
-</return>
-</function>
-
 <function name="gdk_surface_get_support_multidevice">
 <description>
 Returns %TRUE if the surface is aware of the existence of multiple
@@ -15767,38 +15511,6 @@ devices.
 </return>
 </function>
 
-<function name="gdk_surface_get_surface_type">
-<description>
-Gets the type of the surface. See #GdkSurfaceType.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> type of surface
-</return>
-</function>
-
-<function name="gdk_surface_get_type_hint">
-<description>
-This function returns the type hint set for a surface.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> A toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> The type hint set for @surface
-</return>
-</function>
-
 <function name="gdk_surface_get_width">
 <description>
 Returns the width of the given @surface.
@@ -15836,47 +15548,6 @@ part of gtk_widget_hide().
 <return></return>
 </function>
 
-<function name="gdk_surface_input_shape_combine_region">
-<description>
-Apply the region to the surface for the purpose of event
-handling. Mouse events which happen while the pointer position
-corresponds to an unset bit in the mask will be passed on the
-surface below @surface.
-
-An input shape is typically used with RGBA surfaces.
-The alpha channel of the surface defines which pixels are
-invisible and allows for nicely antialiased borders,
-and the input shape controls where the surface is
-“clickable”.
-
-On the X11 platform, this requires version 1.1 of the
-shape extension.
-
-On the Win32 platform, this functionality is not present and the
-function does nothing.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="shape_region">
-<parameter_description> region of surface to be non-transparent
-</parameter_description>
-</parameter>
-<parameter name="offset_x">
-<parameter_description> X position of @shape_region in @surface coordinates
-</parameter_description>
-</parameter>
-<parameter name="offset_y">
-<parameter_description> Y position of @shape_region in @surface coordinates
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_invalidate_rect">
 <description>
 A convenience wrapper around gdk_surface_invalidate_region() which
@@ -15956,102 +15627,33 @@ surface.)
 </return>
 </function>
 
-<function name="gdk_surface_lower">
+<function name="gdk_surface_new_popup">
 <description>
-Lowers @surface to the bottom of the Z-order (stacking order), so that
-other surfaces with the same parent surface appear above @surface.
-This is true whether or not the other surfaces are visible.
+Create a new popup surface.
 
-If @surface is a toplevel, the window manager may choose to deny the
-request to move the surface in the Z-order, gdk_surface_lower() only
-requests the restack, does not guarantee it.
+The surface will be attached to @parent and can be positioned relative to it
+using gdk_surface_show_popup() or later using gdk_surface_layout_popup().
 
-Note that gdk_surface_show() raises the surface again, so don’t call this
-function before gdk_surface_show(). (Try gdk_surface_show_unraised().)
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="parent">
+<parameter_description> the parent surface to attach the surface to
+</parameter_description>
+</parameter>
+<parameter name="autohide">
+<parameter_description> whether to hide the surface on outside clicks
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new #GdkSurface
+</return>
 </function>
 
-<function name="gdk_surface_maximize">
+<function name="gdk_surface_new_temp">
 <description>
-Maximizes the surface. If the surface was already maximized, then
-this function does nothing.
-
-On X11, asks the window manager to maximize @surface, if the window
-manager supports this operation. Not all window managers support
-this, and some deliberately ignore it or don’t have a concept of
-“maximized”; so you can’t rely on the maximization actually
-happening. But it will happen with most standard window managers,
-and GDK makes a best effort to get it to happen.
-
-On Windows, reliably maximizes the surface.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_minimize">
-<description>
-Asks to minimize the @surface.
-
-The windowing system may choose to ignore the request.
-
-You can track the result of this request by using the #GdkSurface:state
-property.
-
-This function only makes sense when @surface is a toplevel surface.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_new_popup">
-<description>
-Create a new popup surface.
-
-The surface will be attached to @parent and can be positioned relative to it
-using gdk_surface_show_popup() or later using gdk_surface_layout_popup().
-
-
-</description>
-<parameters>
-<parameter name="parent">
-<parameter_description> the parent surface to attach the surface to
-</parameter_description>
-</parameter>
-<parameter name="autohide">
-<parameter_description> whether to hide the surface on outside clicks
-</parameter_description>
-</parameter>
-</parameters>
-<return> a new #GdkSurface
-</return>
-</function>
-
-<function name="gdk_surface_new_temp">
-<description>
-Creates a new temporary surface.
-The surface will bypass surface management.
+Creates a new temporary surface.
+The surface will bypass surface management.
 
 
 </description>
@@ -16093,44 +15695,6 @@ Creates a new toplevel surface.
 </return>
 </function>
 
-<function name="gdk_surface_present_popup">
-<description>
-Present @surface after having processed the #GdkPopupLayout rules. If the
-popup was previously now showing, it will be showed, otherwise it will
-change position according to @layout.
-
-After calling this function, the result of the layout can be queried
-using gdk_surface_get_position(), gdk_surface_get_width(),
-gdk_surface_get_height(), gdk_surface_get_popup_rect_anchor() and
-gdk_surface_get_popup_surface_anchor().
-
-Presenting may have fail, for example if it was immediately hidden if the
-@surface was set to autohide.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> the popup #GdkSurface to show
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> the unconstrained popup width to layout
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> the unconstrained popup height to layout
-</parameter_description>
-</parameter>
-<parameter name="layout">
-<parameter_description> the #GdkPopupLayout object used to layout
-</parameter_description>
-</parameter>
-</parameters>
-<return> %FALSE if it failed to be presented, otherwise %TRUE.
-</return>
-</function>
-
 <function name="gdk_surface_queue_expose">
 <description>
 Forces an expose event for @surface to be scheduled.
@@ -16151,15 +15715,17 @@ regions on their own.
 <return></return>
 </function>
 
-<function name="gdk_surface_raise">
+<function name="gdk_surface_set_cursor">
 <description>
-Raises @surface to the top of the Z-order (stacking order), so that
-other surfaces with the same parent surface appear below @surface.
-This is true whether or not the surfaces are visible.
+Sets the default mouse pointer for a #GdkSurface.
 
-If @surface is a toplevel, the window manager may choose to deny the
-request to move the surface in the Z-order, gdk_surface_raise() only
-requests the restack, does not guarantee it.
+Note that @cursor must be for the same display as @surface.
+
+Use gdk_cursor_new_from_name() or gdk_cursor_new_from_texture() to
+create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
+Passing %NULL for the @cursor argument to gdk_surface_set_cursor() means
+that @surface will use the cursor of its parent surface. Most surfaces
+should use this default.
 
 </description>
 <parameters>
@@ -16167,17 +15733,22 @@ requests the restack, does not guarantee it.
 <parameter_description> a #GdkSurface
 </parameter_description>
 </parameter>
+<parameter name="cursor">
+<parameter_description> a cursor
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_resize">
+<function name="gdk_surface_set_device_cursor">
 <description>
-Resizes @surface; for toplevel surfaces, asks the window manager to resize
-the surface. The window manager may not allow the resize. When using GTK,
-use gtk_window_resize() instead of this low-level GDK function.
-
-Surfaces may not be resized below 1x1.
+Sets a specific #GdkCursor for a given device when it gets inside @surface.
+Use gdk_cursor_new_fromm_name() or gdk_cursor_new_from_texture() to create
+the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR. Passing
+%NULL for the @cursor argument to gdk_surface_set_cursor() means that
+@surface will use the cursor of its parent surface. Most surfaces should
+use this default.
 
 </description>
 <parameters>
@@ -16185,30 +15756,36 @@ Surfaces may not be resized below 1x1.
 <parameter_description> a #GdkSurface
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> new width of the surface
+<parameter name="device">
+<parameter_description> a master, pointer #GdkDevice
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> new height of the surface
+<parameter name="cursor">
+<parameter_description> a #GdkCursor
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_restack">
+<function name="gdk_surface_set_input_region">
 <description>
-Changes the position of  @surface in the Z-order (stacking order), so that
-it is above @sibling (if @above is %TRUE) or below @sibling (if @above is
-%FALSE).
+Apply the region to the surface for the purpose of event
+handling. Mouse events which happen while the pointer position
+corresponds to an unset bit in the mask will be passed on the
+surface below @surface.
+
+An input shape is typically used with RGBA surfaces.
+The alpha channel of the surface defines which pixels are
+invisible and allows for nicely antialiased borders,
+and the input shape controls where the surface is
+“clickable”.
 
-If @sibling is %NULL, then this either raises (if @above is %TRUE) or
-lowers the surface.
+On the X11 platform, this requires version 1.1 of the
+shape extension.
 
-If @surface is a toplevel, the window manager may choose to deny the
-request to move the surface in the Z-order, gdk_surface_restack() only
-requests the restack, does not guarantee it.
+On the Win32 platform, this functionality is not present and the
+function does nothing.
 
 </description>
 <parameters>
@@ -16216,51 +15793,55 @@ requests the restack, does not guarantee it.
 <parameter_description> a #GdkSurface
 </parameter_description>
 </parameter>
-<parameter name="sibling">
-<parameter_description> a #GdkSurface that is a sibling of @surface, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="above">
-<parameter_description> a boolean
+<parameter name="region">
+<parameter_description> region of surface to be reactive
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_accept_focus">
+<function name="gdk_surface_set_opaque_region">
 <description>
-Setting @accept_focus to %FALSE hints the desktop environment that the
-surface doesn’t want to receive input focus.
+For optimisation purposes, compositing window managers may
+like to not draw obscured regions of surfaces, or turn off blending
+during for these regions. With RGB windows with no transparency,
+this is just the shape of the window, but with ARGB32 windows, the
+compositor does not know what regions of the window are transparent
+or not.
 
-On X, it is the responsibility of the window manager to interpret this
-hint. ICCCM-compliant window manager usually respect it.
+This function only works for toplevel surfaces.
+
+GTK will update this property automatically if
+the @surface background is opaque, as we know where the opaque regions
+are. If your surface background is not opaque, please update this
+property in your #GtkWidget:css-changed handler.
 
 </description>
 <parameters>
 <parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter_description> a top-level or non-native #GdkSurface
 </parameter_description>
 </parameter>
-<parameter name="accept_focus">
-<parameter_description> %TRUE if the surface should receive input focus
+<parameter name="region">
+<parameter_description>  a region, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_cursor">
+<function name="gdk_surface_set_shadow_width">
 <description>
-Sets the default mouse pointer for a #GdkSurface.
-
-Note that @cursor must be for the same display as @surface.
+Newer GTK windows using client-side decorations use extra geometry
+around their frames for effects like shadows and invisible borders.
+Window managers that want to maximize windows or snap to edges need
+to know where the extents of the actual frame lie, so that users
+don’t feel like windows are snapping against random invisible edges.
 
-Use gdk_cursor_new_from_name() or gdk_cursor_new_from_texture() to
-create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
-Passing %NULL for the @cursor argument to gdk_surface_set_cursor() means
-that @surface will use the cursor of its parent surface. Most surfaces
-should use this default.
+Note that this property is automatically updated by GTK, so this
+function should only be used by applications which do not use GTK
+to create toplevel surfaces.
 
 </description>
 <parameters>
@@ -16268,54 +15849,52 @@ should use this default.
 <parameter_description> a #GdkSurface
 </parameter_description>
 </parameter>
-<parameter name="cursor">
-<parameter_description> a cursor
+<parameter name="left">
+<parameter_description> The left extent
+</parameter_description>
+</parameter>
+<parameter name="right">
+<parameter_description> The right extent
+</parameter_description>
+</parameter>
+<parameter name="top">
+<parameter_description> The top extent
+</parameter_description>
+</parameter>
+<parameter name="bottom">
+<parameter_description> The bottom extent
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_decorations">
+<function name="gdk_surface_set_support_multidevice">
 <description>
-“Decorations” are the features the window manager adds to a toplevel #GdkSurface.
-This function sets the traditional Motif window manager hints that tell the
-window manager which decorations you would like your surface to have.
-Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of
-using the GDK function directly.
-
-The @decorations argument is the logical OR of the fields in
-the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the
-mask, the other bits indicate which decorations should be turned off.
-If #GDK_DECOR_ALL is not included, then the other bits indicate
-which decorations should be turned on.
-
-Most window managers honor a decorations hint of 0 to disable all decorations,
-but very few honor all possible combinations of bits.
+This function will enable multidevice features in @surface.
 
+Multidevice aware surfaces will need to handle properly multiple,
+per device enter/leave events, device grabs and grab ownerships.
 
 </description>
 <parameters>
 <parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter_description> a #GdkSurface.
 </parameter_description>
 </parameter>
-<parameter name="decorations">
-<parameter_description> decoration hint mask
+<parameter name="support_multidevice">
+<parameter_description> %TRUE to enable multidevice support in @surface.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_device_cursor">
+<function name="gdk_surface_thaw_updates">
 <description>
-Sets a specific #GdkCursor for a given device when it gets inside @surface.
-Use gdk_cursor_new_fromm_name() or gdk_cursor_new_from_texture() to create
-the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR. Passing
-%NULL for the @cursor argument to gdk_surface_set_cursor() means that
-@surface will use the cursor of its parent surface. Most surfaces should
-use this default.
+Thaws a surface frozen with gdk_surface_freeze_updates(). Note that this
+will not necessarily schedule updates if the surface freeze count reaches
+zero.
 
 </description>
 <parameters>
@@ -16323,852 +15902,767 @@ use this default.
 <parameter_description> a #GdkSurface
 </parameter_description>
 </parameter>
-<parameter name="device">
-<parameter_description> a master, pointer #GdkDevice
-</parameter_description>
-</parameter>
-<parameter name="cursor">
-<parameter_description> a #GdkCursor
-</parameter_description>
-</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_focus_on_map">
+<function name="gdk_surface_translate_coordinates">
 <description>
-Setting @focus_on_map to %FALSE hints the desktop environment that the
-surface doesn’t want to receive input focus when it is mapped.
-focus_on_map should be turned off for surfaces that aren’t triggered
-interactively (such as popups from network activity).
+Translates the given coordinates from being
+relative to the @from surface to being relative
+to the @to surface.
+
+Note that this only works if @to and @from are
+popups or transient-for to the same toplevel
+(directly or indirectly).
 
-On X, it is the responsibility of the window manager to interpret
-this hint. Window managers following the freedesktop.org window
-manager extension specification should respect it.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="from">
+<parameter_description> the origin surface
 </parameter_description>
 </parameter>
-<parameter name="focus_on_map">
-<parameter_description> %TRUE if the surface should receive input focus when mapped
+<parameter name="to">
+<parameter_description> the target surface
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> coordinates to translate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> coordinates to translate
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the coordinates were successfully
+translated
+</return>
 </function>
 
-<function name="gdk_surface_set_fullscreen_mode">
+<function name="gdk_texture_download">
 <description>
-Specifies whether the @surface should span over all monitors (in a multi-head
-setup) or only the current monitor when in fullscreen mode.
-
-The @mode argument is from the #GdkFullscreenMode enumeration.
-If #GDK_FULLSCREEN_ON_ALL_MONITORS is specified, the fullscreen @surface will
-span over all monitors of the display.
-
-On X11, searches through the list of monitors display the ones
-which delimit the 4 edges of the entire display and will ask the window
-manager to span the @surface over these monitors.
+Downloads the @texture into local memory. This may be
+an expensive operation, as the actual texture data may
+reside on a GPU or on a remote display server.
 
-If the XINERAMA extension is not available or not usable, this function
-has no effect.
+The data format of the downloaded data is equivalent to
+%CAIRO_FORMAT_ARGB32, so every downloaded pixel requires
+4 bytes of memory.
 
-Not all window managers support this, so you can’t rely on the fullscreen
-surface to span over the multiple monitors when #GDK_FULLSCREEN_ON_ALL_MONITORS
-is specified.
+Downloading a texture into a Cairo image surface:
+|[&lt;!-- language=&quot;C&quot; --&gt;
+surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+gdk_texture_get_width (texture),
+gdk_texture_get_height (texture));
+gdk_texture_download (texture,
+cairo_image_surface_get_data (surface),
+cairo_image_surface_get_stride (surface));
+cairo_surface_mark_dirty (surface);
+]|
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="texture">
+<parameter_description> a #GdkTexture
 </parameter_description>
 </parameter>
-<parameter name="mode">
-<parameter_description> fullscreen mode
+<parameter name="data">
+<parameter_description> pointer to enough memory to be filled with the
+downloaded data of @texture
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> rowstride in bytes
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_functions">
+<function name="gdk_texture_get_height">
 <description>
-Sets hints about the window management functions to make available
-via buttons on the window frame.
-
-On the X backend, this function sets the traditional Motif window
-manager hint for this purpose. However, few window managers do
-anything reliable or interesting with this hint. Many ignore it
-entirely.
-
-The @functions argument is the logical OR of values from the
-#GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL,
-then the other bits indicate which functions to disable; if
-it doesn’t include #GDK_FUNC_ALL, it indicates which functions to
-enable.
+Returns the height of the @texture.
 
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="texture">
+<parameter_description> a #GdkTexture
 </parameter_description>
 </parameter>
-<parameter name="functions">
-<parameter_description> bitmask of operations to allow on @surface
+</parameters>
+<return> the height of the #GdkTexture
+</return>
+</function>
+
+<function name="gdk_texture_get_width">
+<description>
+Returns the width of @texture.
+
+
+</description>
+<parameters>
+<parameter name="texture">
+<parameter_description> a #GdkTexture
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the width of the #GdkTexture
+</return>
 </function>
 
-<function name="gdk_surface_set_geometry_hints">
+<function name="gdk_texture_new_for_pixbuf">
 <description>
-Sets the geometry hints for @surface. Hints flagged in @geom_mask
-are set, hints not flagged in @geom_mask are unset.
-To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL.
+Creates a new texture object representing the GdkPixbuf.
 
-This function provides hints to the surfaceing system about
-acceptable sizes for a toplevel surface. The purpose of
-this is to constrain user resizing, but the windowing system
-will typically  (but is not required to) also constrain the
-current size of the surface to the provided values and
-constrain programatic resizing via gdk_surface_resize().
 
-Note that on X11, this effect has no effect on surfaces
-of type %GDK_SURFACE_TEMP since these surfaces are not resizable
-by the user.
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkTexture
+</return>
+</function>
 
-Since you can’t count on the windowing system doing the
-constraints for programmatic resizes, you should generally
-call gdk_surface_constrain_size() yourself to determine
-appropriate sizes.
+<function name="gdk_texture_new_for_surface">
+<description>
+Creates a new texture object representing the surface.
+@surface must be an image surface with format CAIRO_FORMAT_ARGB32.
 
 
 </description>
 <parameters>
 <parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="geometry">
-<parameter_description> geometry hints
-</parameter_description>
-</parameter>
-<parameter name="geom_mask">
-<parameter_description> bitmask indicating fields of @geometry to pay attention to
+<parameter_description> a cairo image surface
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new #GdkTexture
+</return>
 </function>
 
-<function name="gdk_surface_set_icon_list">
+<function name="gdk_texture_new_from_file">
 <description>
-Sets a list of icons for the surface. One of these will be used
-to represent the surface when it has been iconified. The icon is
-usually shown in an icon box or some sort of task bar. Which icon
-size is shown depends on the window manager. The window manager
-can scale the icon  but setting several size icons can give better
-image quality since the window manager may only need to scale the
-icon by a small amount or not at all.
+Creates a new texture by loading an image from a file.  The file format is
+detected automatically. If %NULL is returned, then @error will be set.
 
-Note that some platforms don't support surface icons.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> The #GdkSurface toplevel surface to set the icon of.
+<parameter name="file">
+<parameter_description> #GFile to load
 </parameter_description>
 </parameter>
-<parameter name="surfaces">
-<parameter_description>
-A list of image surfaces, of different sizes.
+<parameter name="error">
+<parameter_description> Return location for an error
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> A newly-created #GdkTexture or %NULL if an error occured.
+</return>
 </function>
 
-<function name="gdk_surface_set_icon_name">
+<function name="gdk_texture_new_from_resource">
 <description>
-Surfaces may have a name used while minimized, distinct from the
-name they display in their titlebar. Most of the time this is a bad
-idea from a user interface standpoint. But you can set such a name
-with this function, if you like.
-
-After calling this with a non-%NULL @name, calls to gdk_surface_set_title()
-will not update the icon title.
+Creates a new texture by loading an image from a resource.
+The file format is detected automatically.
 
-Using %NULL for @name unsets the icon title; further calls to
-gdk_surface_set_title() will again update the icon title as well.
+It is a fatal error if @resource_path does not specify a valid
+image resource and the program will abort if that happens.
+If you are unsure about the validity of a resource, use
+gdk_texture_new_from_file() to load it.
 
-Note that some platforms don't support surface icons.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> name of surface while iconified (minimized)
+<parameter name="resource_path">
+<parameter_description> the path of the resource file
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> A newly-created texture
+</return>
 </function>
 
-<function name="gdk_surface_set_keep_above">
+<function name="gdk_texture_save_to_png">
 <description>
-Set if @surface must be kept above other surfaces. If the
-surface was already above, then this function does nothing.
+Store the given @texture to the @filename as a PNG file.
+
+This is a utility function intended for debugging and testing.
+If you want more control over formats, proper error handling or
+want to store to a #GFile or other location, you might want to
+look into using the gdk-pixbuf library.
 
-On X11, asks the window manager to keep @surface above, if the window
-manager supports this operation. Not all window managers support
-this, and some deliberately ignore it or don’t have a concept of
-“keep above”; so you can’t rely on the surface being kept above.
-But it will happen with most standard window managers,
-and GDK makes a best effort to get it to happen.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="texture">
+<parameter_description> a #GdkTexture
 </parameter_description>
 </parameter>
-<parameter name="setting">
-<parameter_description> whether to keep @surface above other surfaces
+<parameter name="filename">
+<parameter_description> the filename to store to
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if saving succeeded, %FALSE on failure.
+</return>
 </function>
 
-<function name="gdk_surface_set_keep_below">
+<function name="gdk_toplevel_focus">
 <description>
-Set if @surface must be kept below other surfaces. If the
-surface was already below, then this function does nothing.
+Sets keyboard focus to @surface.
 
-On X11, asks the window manager to keep @surface below, if the window
-manager supports this operation. Not all window managers support
-this, and some deliberately ignore it or don’t have a concept of
-“keep below”; so you can’t rely on the surface being kept below.
-But it will happen with most standard window managers,
-and GDK makes a best effort to get it to happen.
+In most cases, gtk_window_present_with_time() should be used
+on a #GtkWindow, rather than calling this function.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
-<parameter name="setting">
-<parameter_description> whether to keep @surface below other surfaces
+<parameter name="timestamp">
+<parameter_description> timestamp of the event triggering the surface focus
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_set_modal_hint">
+<function name="gdk_toplevel_get_state">
 <description>
-The application can use this hint to tell the window manager
-that a certain surface has modal behaviour. The window manager
-can use this information to handle modal surfaces in a special
-way.
+Gets the bitwise OR of the currently active surface state flags,
+from the #GdkSurfaceState enumeration.
 
-You should only use this on surfaces for which you have
-previously called gdk_surface_set_transient_for()
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> A toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="modal">
-<parameter_description> %TRUE if the surface is modal, %FALSE otherwise.
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> surface state bitfield
+</return>
 </function>
 
-<function name="gdk_surface_set_opacity">
+<function name="gdk_toplevel_layout_copy">
 <description>
-Set @surface to render as partially transparent,
-with opacity 0 being fully transparent and 1 fully opaque. (Values
-of the opacity parameter are clamped to the [0,1] range.) 
+Create a new #GdkToplevelLayout and copy the contents of @layout into it.
 
-For toplevel surfaces this depends on support from the windowing system
-that may not always be there. For instance, On X11, this works only on
-X screens with a compositing manager running. On Wayland, there is no
-per-surface opacity value that the compositor would apply. Instead, use
-`gdk_surface_set_opaque_region (surface, NULL)` to tell the compositor
-that the entire surface is (potentially) non-opaque, and draw your content
-with alpha, or use gtk_widget_set_opacity() to set an overall opacity
-for your widgets.
-
-Support for non-toplevel surfaces was added in 3.8.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a top-level or non-native #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="opacity">
-<parameter_description> opacity
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a copy of @layout.
+</return>
 </function>
 
-<function name="gdk_surface_set_opaque_region">
+<function name="gdk_toplevel_layout_equal">
 <description>
-For optimisation purposes, compositing window managers may
-like to not draw obscured regions of surfaces, or turn off blending
-during for these regions. With RGB windows with no transparency,
-this is just the shape of the window, but with ARGB32 windows, the
-compositor does not know what regions of the window are transparent
-or not.
-
-This function only works for toplevel surfaces.
+Check whether @layout and @other has identical layout properties.
 
-GTK will update this property automatically if
-the @surface background is opaque, as we know where the opaque regions
-are. If your surface background is not opaque, please update this
-property in your #GtkWidget:css-changed handler.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a top-level or non-native #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
-<parameter name="region">
-<parameter_description>  a region, or %NULL
+<parameter name="other">
+<parameter_description> another #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @layout and @other have identical layout properties,
+otherwise %FALSE.
+</return>
 </function>
 
-<function name="gdk_surface_set_shadow_width">
+<function name="gdk_toplevel_layout_get_fullscreen">
 <description>
-Newer GTK windows using client-side decorations use extra geometry
-around their frames for effects like shadows and invisible borders.
-Window managers that want to maximize windows or snap to edges need
-to know where the extents of the actual frame lie, so that users
-don’t feel like windows are snapping against random invisible edges.
+Returns whether the layout should cause the surface
+to be fullscreen when presented.
 
-Note that this property is automatically updated by GTK, so this
-function should only be used by applications which do not use GTK
-to create toplevel surfaces.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="left">
-<parameter_description> The left extent
-</parameter_description>
-</parameter>
-<parameter name="right">
-<parameter_description> The right extent
-</parameter_description>
-</parameter>
-<parameter name="top">
-<parameter_description> The top extent
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
-<parameter name="bottom">
-<parameter_description> The bottom extent
+</parameters>
+<return> %TRUE if @layout is fullscreen
+</return>
+</function>
+
+<function name="gdk_toplevel_layout_get_fullscreen_monitor">
+<description>
+Returns the monitor that the layout is fullscreening
+the surface on.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the monitor on which @layout fullscreens
+</return>
 </function>
 
-<function name="gdk_surface_set_startup_id">
+<function name="gdk_toplevel_layout_get_maximized">
 <description>
-When using GTK, typically you should use gtk_window_set_startup_id()
-instead of this low-level function.
+Returns whether the layout should present the
+surface as maximized.
+
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="startup_id">
-<parameter_description> a string with startup-notification identifier
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the layout is maximized
+</return>
 </function>
 
-<function name="gdk_surface_set_support_multidevice">
+<function name="gdk_toplevel_layout_get_min_height">
 <description>
-This function will enable multidevice features in @surface.
+Returns the minimum height of the given layout.
 
-Multidevice aware surfaces will need to handle properly multiple,
-per device enter/leave events, device grabs and grab ownerships.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface.
-</parameter_description>
-</parameter>
-<parameter name="support_multidevice">
-<parameter_description> %TRUE to enable multidevice support in @surface.
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the minimum height of @layout
+</return>
 </function>
 
-<function name="gdk_surface_set_title">
+<function name="gdk_toplevel_layout_get_min_width">
 <description>
-Sets the title of a toplevel surface, to be displayed in the titlebar.
-If you haven’t explicitly set the icon name for the surface
-(using gdk_surface_set_icon_name()), the icon name will be set to
-@title as well. @title must be in UTF-8 encoding (as with all
-user-readable strings in GDK and GTK). @title may not be %NULL.
+Returns the minimum width of the given layout.
+
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="title">
-<parameter_description> title of @surface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the minimum width of @layout
+</return>
 </function>
 
-<function name="gdk_surface_set_transient_for">
+<function name="gdk_toplevel_layout_get_resizable">
 <description>
-Indicates to the window manager that @surface is a transient dialog
-associated with the application surface @parent. This allows the
-window manager to do things like center @surface on @parent and
-keep @surface above @parent.
+Returns whether the layout should allow the user
+to resize the surface.
 
-See gtk_window_set_transient_for() if you’re using #GtkWindow or
-#GtkDialog.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> another toplevel #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the layout is resizable
+</return>
 </function>
 
-<function name="gdk_surface_set_type_hint">
+<function name="gdk_toplevel_layout_new">
 <description>
-The application can use this call to provide a hint to the surface
-manager about the functionality of a surface. The window manager
-can use this information when determining the decoration and behaviour
-of the surface.
+Create a toplevel layout description.
+
+Used together with gdk_toplevel_present() to describe
+how a toplevel surface should be placed and behave on-screen.
 
-The hint must be set before the surface is mapped.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> A toplevel #GdkSurface
+<parameter name="min_width">
+<parameter_description> the minimum width for the layout
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> A hint of the function this surface will have
+<parameter name="min_height">
+<parameter_description> the minimum height for the layout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> newly created instance of #GdkToplevelLayout
+</return>
 </function>
 
-<function name="gdk_surface_show">
+<function name="gdk_toplevel_layout_ref">
 <description>
-Like gdk_surface_show_unraised(), but also raises the surface to the
-top of the surface stack (moves the surface to the front of the
-Z-order).
-
-This function maps a surface so it’s visible onscreen. Its opposite
-is gdk_surface_hide().
+Increases the reference count of @layout.
 
-This function may not be used on a #GdkSurface with the surface type
-GTK_SURFACE_POPUP.
-
-When implementing a #GtkWidget, you should call this function on the widget's
-#GdkSurface as part of the “map” method.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the same @layout
+</return>
 </function>
 
-<function name="gdk_surface_show_unraised">
+<function name="gdk_toplevel_layout_set_fullscreen">
 <description>
-Shows a #GdkSurface onscreen, but does not modify its stacking
-order. In contrast, gdk_surface_show() will raise the surface
-to the top of the surface stack.
-
-On the X11 platform, in Xlib terms, this function calls
-XMapWindow() (it also updates some internal GDK state, which means
-that you can’t really use XMapWindow() directly on a GDK surface).
+Sets whether the layout should cause the surface
+to be fullscreen when presented.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
+</parameter_description>
+</parameter>
+<parameter name="fullscreen">
+<parameter_description> %TRUE to fullscreen the surface
+</parameter_description>
+</parameter>
+<parameter name="monitor">
+<parameter_description> the monitor to fullscreen on
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_show_window_menu">
+<function name="gdk_toplevel_layout_set_maximized">
 <description>
-Asks the windowing system to show the window menu. The window menu
-is the menu shown when right-clicking the titlebar on traditional
-windows managed by the window manager. This is useful for windows
-using client-side decorations, activating it with a right-click
-on the window decorations.
-
+Sets whether the layout should cause the surface
+to be maximized when presented.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
-<parameter name="event">
-<parameter_description> a #GdkEvent to show the menu for
+<parameter name="maximized">
+<parameter_description> %TRUE to maximize
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the window menu was shown and %FALSE otherwise.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_surface_stick">
+<function name="gdk_toplevel_layout_set_resizable">
 <description>
-“Pins” a surface such that it’s on all workspaces and does not scroll
-with viewports, for window managers that have scrollable viewports.
-(When using #GtkWindow, gtk_window_stick() may be more useful.)
-
-On the X11 platform, this function depends on window manager
-support, so may have no effect with many window managers. However,
-GDK will do the best it can to convince the window manager to stick
-the surface. For window managers that don’t support this operation,
-there’s nothing you can do to force it to happen.
-
+Sets whether the layout should allow the user
+to resize the surface after it has been presented.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
+</parameter_description>
+</parameter>
+<parameter name="resizable">
+<parameter_description> %TRUE to allow resizing
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_thaw_updates">
+<function name="gdk_toplevel_layout_unref">
 <description>
-Thaws a surface frozen with gdk_surface_freeze_updates(). Note that this
-will not necessarily schedule updates if the surface freeze count reaches
-zero.
+Decreases the reference count of @layout.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="layout">
+<parameter_description> a #GdkToplevelLayout
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_surface_unfullscreen">
+<function name="gdk_toplevel_lower">
 <description>
-Moves the surface out of fullscreen mode. If the surface was not
-fullscreen, does nothing.
+Asks to lower the @toplevel below other windows.
+
+The windowing system may choose to ignore the request.
 
-On X11, asks the window manager to move @surface out of the fullscreen
-state, if the window manager supports this operation. Not all
-window managers support this, and some deliberately ignore it or
-don’t have a concept of “fullscreen”; so you can’t rely on the
-unfullscreenification actually happening. But it will happen with
-most standard window managers, and GDK makes a best effort to get
-it to happen.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the surface was lowered
+</return>
 </function>
 
-<function name="gdk_surface_unmaximize">
+<function name="gdk_toplevel_minimize">
 <description>
-Unmaximizes the surface. If the surface wasn’t maximized, then this
-function does nothing.
+Asks to minimize the @toplevel.
 
-On X11, asks the window manager to unmaximize @surface, if the
-window manager supports this operation. Not all window managers
-support this, and some deliberately ignore it or don’t have a
-concept of “maximized”; so you can’t rely on the unmaximization
-actually happening. But it will happen with most standard window
-managers, and GDK makes a best effort to get it to happen.
-
-On Windows, reliably unmaximizes the surface.
+The windowing system may choose to ignore the request.
 
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the surface was minimized
+</return>
 </function>
 
-<function name="gdk_surface_unminimize">
+<function name="gdk_toplevel_present">
 <description>
-Asks to unminimize the @surface.
+Present @toplevel after having processed the #GdkToplevelLayout rules.
+If the toplevel was previously now showing, it will be showed,
+otherwise it will change layout according to @layout.
 
-The windowing system may choose to ignore the request.
-
-You can track the result of this request by using the #GdkSurface:state
-property.
+Presenting may fail.
 
-This function only makes sense when @surface is a toplevel surface.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="toplevel">
+<parameter_description> the #GdkToplevel to show
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the unconstrained toplevel width to layout
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the unconstrained toplevel height to layout
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> the #GdkToplevelLayout object used to layout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if @toplevel failed to be presented, otherwise %TRUE.
+</return>
 </function>
 
-<function name="gdk_surface_unstick">
+<function name="gdk_toplevel_set_decorated">
 <description>
-Reverse operation for gdk_surface_stick(); see gdk_surface_stick(),
-and gtk_window_unstick().
-
+Setting @decorated to %FALSE hints the desktop environment
+that the surface has its own, client-side decorations and
+does not need to have window decorations added.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+<parameter name="decorated">
+<parameter_description> %TRUE to request decorations
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_texture_download">
+<function name="gdk_toplevel_set_deletable">
 <description>
-Downloads the @texture into local memory. This may be
-an expensive operation, as the actual texture data may
-reside on a GPU or on a remote display server.
-
-The data format of the downloaded data is equivalent to
-%CAIRO_FORMAT_ARGB32, so every downloaded pixel requires
-4 bytes of memory.
-
-Downloading a texture into a Cairo image surface:
-|[&lt;!-- language=&quot;C&quot; --&gt;
-surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-gdk_texture_get_width (texture),
-gdk_texture_get_height (texture));
-gdk_texture_download (texture,
-cairo_image_surface_get_data (surface),
-cairo_image_surface_get_stride (surface));
-cairo_surface_mark_dirty (surface);
-]|
+Setting @deletable to %TRUE hints the desktop environment
+that it should offer the user a way to close the surface.
 
 </description>
 <parameters>
-<parameter name="texture">
-<parameter_description> a #GdkTexture
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> pointer to enough memory to be filled with the
-downloaded data of @texture
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
-<parameter name="stride">
-<parameter_description> rowstride in bytes
+<parameter name="deletable">
+<parameter_description> %TRUE to request a delete button
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_texture_get_height">
+<function name="gdk_toplevel_set_icon_list">
 <description>
-Returns the height of the @texture.
+Sets a list of icons for the surface.
+
+One of these will be used to represent the surface in iconic form.
+The icon may be shown in window lists or task bars. Which icon
+size is shown depends on the window manager. The window manager
+can scale the icon but setting several size icons can give better
+image quality.
 
+Note that some platforms don't support surface icons.
 
 </description>
 <parameters>
-<parameter name="texture">
-<parameter_description> a #GdkTexture
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+<parameter name="surfaces">
+<parameter_description>
+A list of textures to use as icon, of different sizes
 </parameter_description>
 </parameter>
 </parameters>
-<return> the height of the #GdkTexture
-</return>
+<return></return>
 </function>
 
-<function name="gdk_texture_get_width">
+<function name="gdk_toplevel_set_modal">
 <description>
-Returns the width of @texture.
+The application can use this hint to tell the
+window manager that a certain surface has modal
+behaviour. The window manager can use this information
+to handle modal surfaces in a special way.
 
+You should only use this on surfaces for which you have
+previously called gdk_toplevel_set_transient_for().
 
 </description>
 <parameters>
-<parameter name="texture">
-<parameter_description> a #GdkTexture
+<parameter name="toplevel">
+<parameter_description> A toplevel surface
+</parameter_description>
+</parameter>
+<parameter name="modal">
+<parameter_description> %TRUE if the surface is modal, %FALSE otherwise.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the width of the #GdkTexture
-</return>
+<return></return>
 </function>
 
-<function name="gdk_texture_new_for_pixbuf">
+<function name="gdk_toplevel_set_startup_id">
 <description>
-Creates a new texture object representing the GdkPixbuf.
-
+When using GTK, typically you should use gtk_window_set_startup_id()
+instead of this low-level function.
 
 </description>
 <parameters>
-<parameter name="pixbuf">
-<parameter_description> a #GdkPixbuf
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+<parameter name="startup_id">
+<parameter_description> a string with startup-notification identifier
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GdkTexture
-</return>
+<return></return>
 </function>
 
-<function name="gdk_texture_new_for_surface">
+<function name="gdk_toplevel_set_title">
 <description>
-Creates a new texture object representing the surface.
-@surface must be an image surface with format CAIRO_FORMAT_ARGB32.
-
+Sets the title of a toplevel surface, to be displayed in the titlebar,
+in lists of windows, etc.
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a cairo image surface
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+<parameter name="title">
+<parameter_description> title of @surface
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GdkTexture
-</return>
+<return></return>
 </function>
 
-<function name="gdk_texture_new_from_file">
+<function name="gdk_toplevel_set_transient_for">
 <description>
-Creates a new texture by loading an image from a file.  The file format is
-detected automatically. If %NULL is returned, then @error will be set.
+Indicates to the window manager that @surface is a transient dialog
+associated with the application surface @parent. This allows the
+window manager to do things like center @surface on @parent and
+keep @surface above @parent.
 
+See gtk_window_set_transient_for() if you’re using #GtkWindow or
+#GtkDialog.
 
 </description>
 <parameters>
-<parameter name="file">
-<parameter_description> #GFile to load
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> Return location for an error
+<parameter name="parent">
+<parameter_description> another toplevel #GdkSurface
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created #GdkTexture or %NULL if an error occured.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_texture_new_from_resource">
+<function name="gdk_toplevel_show_window_menu">
 <description>
-Creates a new texture by loading an image from a resource.
-The file format is detected automatically.
+Asks the windowing system to show the window menu.
 
-It is a fatal error if @resource_path does not specify a valid
-image resource and the program will abort if that happens.
-If you are unsure about the validity of a resource, use
-gdk_texture_new_from_file() to load it.
+The window menu is the menu shown when right-clicking the titlebar
+on traditional windows managed by the window manager. This is useful
+for windows using client-side decorations, activating it with a
+right-click on the window decorations.
 
 
 </description>
 <parameters>
-<parameter name="resource_path">
-<parameter_description> the path of the resource file
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent to show the menu for
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created texture
+<return> %TRUE if the window menu was shown and %FALSE otherwise.
 </return>
 </function>
 
-<function name="gdk_texture_save_to_png">
+<function name="gdk_toplevel_supports_edge_constraints">
 <description>
-Store the given @texture to the @filename as a PNG file.
-
-This is a utility function intended for debugging and testing.
-If you want more control over formats, proper error handling or
-want to store to a #GFile or other location, you might want to
-look into using the gdk-pixbuf library.
+Returns whether the desktop environment supports
+tiled window states.
 
 
 </description>
 <parameters>
-<parameter name="texture">
-<parameter_description> a #GdkTexture
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> the filename to store to
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if saving succeeded, %FALSE on failure.
+<return> %TRUE if the desktop environment supports
+tiled window states
 </return>
 </function>
 
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index 396a22a6..94d81000 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -450,24 +450,6 @@
 
 ;; From gdksurface.h
 
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_SURFACE_TOPLEVEL,
-;;   GDK_SURFACE_TEMP,
-;;   GDK_SURFACE_POPUP
-;; } GdkSurfaceType;
-
-(define-enum-extended SurfaceType
-  (in-module "Gdk")
-  (c-name "GdkSurfaceType")
-  (values
-    '("toplevel" "GDK_SURFACE_TOPLEVEL" "0")
-    '("temp" "GDK_SURFACE_TEMP" "1")
-    '("popup" "GDK_SURFACE_POPUP" "2")
-  )
-)
-
 ;; Original typedef:
 ;; typedef enum
 ;; {
@@ -498,56 +480,6 @@
   )
 )
 
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_DECOR_ALL             = 1 << 0,
-;;   GDK_DECOR_BORDER  = 1 << 1,
-;;   GDK_DECOR_RESIZEH = 1 << 2,
-;;   GDK_DECOR_TITLE   = 1 << 3,
-;;   GDK_DECOR_MENU    = 1 << 4,
-;;   GDK_DECOR_MINIMIZE        = 1 << 5,
-;;   GDK_DECOR_MAXIMIZE        = 1 << 6
-;; } GdkWMDecoration;
-
-(define-flags-extended WMDecoration
-  (in-module "Gdk")
-  (c-name "GdkWMDecoration")
-  (values
-    '("all" "GDK_DECOR_ALL" "1 << 0")
-    '("border" "GDK_DECOR_BORDER" "1 << 1")
-    '("resizeh" "GDK_DECOR_RESIZEH" "1 << 2")
-    '("title" "GDK_DECOR_TITLE" "1 << 3")
-    '("menu" "GDK_DECOR_MENU" "1 << 4")
-    '("minimize" "GDK_DECOR_MINIMIZE" "1 << 5")
-    '("maximize" "GDK_DECOR_MAXIMIZE" "1 << 6")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_FUNC_ALL              = 1 << 0,
-;;   GDK_FUNC_RESIZE   = 1 << 1,
-;;   GDK_FUNC_MOVE             = 1 << 2,
-;;   GDK_FUNC_MINIMIZE = 1 << 3,
-;;   GDK_FUNC_MAXIMIZE = 1 << 4,
-;;   GDK_FUNC_CLOSE    = 1 << 5
-;; } GdkWMFunction;
-
-(define-flags-extended WMFunction
-  (in-module "Gdk")
-  (c-name "GdkWMFunction")
-  (values
-    '("all" "GDK_FUNC_ALL" "1 << 0")
-    '("resize" "GDK_FUNC_RESIZE" "1 << 1")
-    '("move" "GDK_FUNC_MOVE" "1 << 2")
-    '("minimize" "GDK_FUNC_MINIMIZE" "1 << 3")
-    '("maximize" "GDK_FUNC_MAXIMIZE" "1 << 4")
-    '("close" "GDK_FUNC_CLOSE" "1 << 5")
-  )
-)
-
 ;; Original typedef:
 ;; typedef enum
 ;; {
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 6f62b7fe..43db9548 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -259,17 +259,6 @@
   )
 )
 
-(define-enum SurfaceType
-  (in-module "Gdk")
-  (c-name "GdkSurfaceType")
-  (gtype-id "GDK_TYPE_SURFACE_TYPE")
-  (values
-    '("toplevel" "GDK_SURFACE_TOPLEVEL")
-    '("temp" "GDK_SURFACE_TEMP")
-    '("popup" "GDK_SURFACE_POPUP")
-  )
-)
-
 (define-flags SurfaceHints
   (in-module "Gdk")
   (c-name "GdkSurfaceHints")
@@ -287,35 +276,6 @@
   )
 )
 
-(define-flags WMDecoration
-  (in-module "Gdk")
-  (c-name "GdkWMDecoration")
-  (gtype-id "GDK_TYPE_WM_DECORATION")
-  (values
-    '("all" "GDK_DECOR_ALL")
-    '("border" "GDK_DECOR_BORDER")
-    '("resizeh" "GDK_DECOR_RESIZEH")
-    '("title" "GDK_DECOR_TITLE")
-    '("menu" "GDK_DECOR_MENU")
-    '("minimize" "GDK_DECOR_MINIMIZE")
-    '("maximize" "GDK_DECOR_MAXIMIZE")
-  )
-)
-
-(define-flags WMFunction
-  (in-module "Gdk")
-  (c-name "GdkWMFunction")
-  (gtype-id "GDK_TYPE_WM_FUNCTION")
-  (values
-    '("all" "GDK_FUNC_ALL")
-    '("resize" "GDK_FUNC_RESIZE")
-    '("move" "GDK_FUNC_MOVE")
-    '("minimize" "GDK_FUNC_MINIMIZE")
-    '("maximize" "GDK_FUNC_MAXIMIZE")
-    '("close" "GDK_FUNC_CLOSE")
-  )
-)
-
 (define-enum SurfaceEdge
   (in-module "Gdk")
   (c-name "GdkSurfaceEdge")
@@ -2213,6 +2173,20 @@
 
 
 
+;; From gdkdragsurface.h
+
+(define-method present
+  (of-object "GdkDragSurface")
+  (c-name "gdk_drag_surface_present")
+  (return-type "gboolean")
+  (parameters
+    '("int" "width")
+    '("int" "height")
+  )
+)
+
+
+
 ;; From gdkdrawcontext.h
 
 (define-function gdk_draw_context_get_type
@@ -3468,6 +3442,57 @@
 
 
 
+;; From gdkpopup.h
+
+(define-method present
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_present")
+  (return-type "gboolean")
+  (parameters
+    '("int" "width")
+    '("int" "height")
+    '("GdkPopupLayout*" "layout")
+  )
+)
+
+(define-method get_surface_anchor
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_surface_anchor")
+  (return-type "GdkGravity")
+)
+
+(define-method get_rect_anchor
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_rect_anchor")
+  (return-type "GdkGravity")
+)
+
+(define-method get_parent
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_parent")
+  (return-type "GdkSurface*")
+)
+
+(define-method get_position_x
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_position_x")
+  (return-type "int")
+)
+
+(define-method get_position_y
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_position_y")
+  (return-type "int")
+)
+
+(define-method get_autohide
+  (of-object "GdkPopup")
+  (c-name "gdk_popup_get_autohide")
+  (return-type "gboolean")
+)
+
+
+
 ;; From gdkpopuplayout.h
 
 (define-function gdk_popup_layout_get_type
@@ -3795,150 +3820,30 @@
   (return-type "none")
 )
 
-(define-method get_surface_type
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_surface_type")
-  (return-type "GdkSurfaceType")
-)
-
 (define-method is_destroyed
   (of-object "GdkSurface")
   (c-name "gdk_surface_is_destroyed")
   (return-type "gboolean")
 )
 
-(define-method get_parent
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_parent")
-  (return-type "GdkSurface*")
-)
-
 (define-method get_display
   (of-object "GdkSurface")
   (c-name "gdk_surface_get_display")
   (return-type "GdkDisplay*")
 )
 
-(define-method show
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_show")
-  (return-type "none")
-)
-
 (define-method hide
   (of-object "GdkSurface")
   (c-name "gdk_surface_hide")
   (return-type "none")
 )
 
-(define-method show_unraised
+(define-method set_input_region
   (of-object "GdkSurface")
-  (c-name "gdk_surface_show_unraised")
-  (return-type "none")
-)
-
-(define-method resize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_resize")
+  (c-name "gdk_surface_set_input_region")
   (return-type "none")
   (parameters
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
-(define-method present_popup
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_present_popup")
-  (return-type "gboolean")
-  (parameters
-    '("int" "width")
-    '("int" "height")
-    '("GdkPopupLayout*" "layout")
-  )
-)
-
-(define-method get_popup_surface_anchor
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_popup_surface_anchor")
-  (return-type "GdkGravity")
-)
-
-(define-method get_popup_rect_anchor
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_popup_rect_anchor")
-  (return-type "GdkGravity")
-)
-
-(define-method raise
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_raise")
-  (return-type "none")
-)
-
-(define-method lower
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_lower")
-  (return-type "none")
-)
-
-(define-method restack
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_restack")
-  (return-type "none")
-  (parameters
-    '("GdkSurface*" "sibling")
-    '("gboolean" "above")
-  )
-)
-
-(define-method focus
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_focus")
-  (return-type "none")
-  (parameters
-    '("guint32" "timestamp")
-  )
-)
-
-(define-method get_accept_focus
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_accept_focus")
-  (return-type "gboolean")
-)
-
-(define-method set_accept_focus
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_accept_focus")
-  (return-type "none")
-  (parameters
-    '("gboolean" "accept_focus")
-  )
-)
-
-(define-method get_focus_on_map
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_focus_on_map")
-  (return-type "gboolean")
-)
-
-(define-method set_focus_on_map
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_focus_on_map")
-  (return-type "none")
-  (parameters
-    '("gboolean" "focus_on_map")
-  )
-)
-
-(define-method input_shape_combine_region
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_input_shape_combine_region")
-  (return-type "none")
-  (parameters
-    '("const-cairo_region_t*" "shape_region")
-    '("gint" "offset_x")
-    '("gint" "offset_y")
+    '("cairo_region_t*" "region")
   )
 )
 
@@ -3954,85 +3859,6 @@
   (return-type "gboolean")
 )
 
-(define-method get_autohide
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_autohide")
-  (return-type "gboolean")
-)
-
-(define-method get_state
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_state")
-  (return-type "GdkSurfaceState")
-)
-
-(define-method set_type_hint
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_type_hint")
-  (return-type "none")
-  (parameters
-    '("GdkSurfaceTypeHint" "hint")
-  )
-)
-
-(define-method get_type_hint
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_type_hint")
-  (return-type "GdkSurfaceTypeHint")
-)
-
-(define-method get_modal_hint
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_modal_hint")
-  (return-type "gboolean")
-)
-
-(define-method set_modal_hint
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_modal_hint")
-  (return-type "none")
-  (parameters
-    '("gboolean" "modal")
-  )
-)
-
-(define-method set_geometry_hints
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_geometry_hints")
-  (return-type "none")
-  (parameters
-    '("const-GdkGeometry*" "geometry")
-    '("GdkSurfaceHints" "geom_mask")
-  )
-)
-
-(define-method set_title
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_title")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "title")
-  )
-)
-
-(define-method set_startup_id
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_startup_id")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "startup_id")
-  )
-)
-
-(define-method set_transient_for
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_transient_for")
-  (return-type "none")
-  (parameters
-    '("GdkSurface*" "parent")
-  )
-)
-
 (define-method set_cursor
   (of-object "GdkSurface")
   (c-name "gdk_surface_set_cursor")
@@ -4079,16 +3905,6 @@
   (return-type "int")
 )
 
-(define-method get_position
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_position")
-  (return-type "none")
-  (parameters
-    '("gint*" "x")
-    '("gint*" "y")
-  )
-)
-
 (define-method translate_coordinates
   (of-object "GdkSurface")
   (c-name "gdk_surface_translate_coordinates")
@@ -4118,51 +3934,6 @@
   )
 )
 
-(define-method set_icon_list
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_icon_list")
-  (return-type "none")
-  (parameters
-    '("GList*" "surfaces")
-  )
-)
-
-(define-method set_icon_name
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_icon_name")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-method set_decorations
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_decorations")
-  (return-type "none")
-  (parameters
-    '("GdkWMDecoration" "decorations")
-  )
-)
-
-(define-method get_decorations
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_decorations")
-  (return-type "gboolean")
-  (parameters
-    '("GdkWMDecoration*" "decorations")
-  )
-)
-
-(define-method set_functions
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_functions")
-  (return-type "none")
-  (parameters
-    '("GdkWMFunction" "functions")
-  )
-)
-
 (define-method create_similar_surface
   (of-object "GdkSurface")
   (c-name "gdk_surface_create_similar_surface")
@@ -4180,122 +3951,10 @@
   (return-type "none")
 )
 
-(define-method minimize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_minimize")
-  (return-type "none")
-)
-
-(define-method unminimize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_unminimize")
-  (return-type "none")
-)
-
-(define-method stick
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_stick")
-  (return-type "none")
-)
-
-(define-method unstick
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_unstick")
-  (return-type "none")
-)
-
-(define-method maximize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_maximize")
-  (return-type "none")
-)
-
-(define-method unmaximize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_unmaximize")
-  (return-type "none")
-)
-
-(define-method fullscreen
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_fullscreen")
-  (return-type "none")
-)
-
-(define-method fullscreen_on_monitor
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_fullscreen_on_monitor")
-  (return-type "none")
-  (parameters
-    '("GdkMonitor*" "monitor")
-  )
-)
-
-(define-method set_fullscreen_mode
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_fullscreen_mode")
-  (return-type "none")
-  (parameters
-    '("GdkFullscreenMode" "mode")
-  )
-)
-
-(define-method get_fullscreen_mode
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_fullscreen_mode")
-  (return-type "GdkFullscreenMode")
-)
-
-(define-method unfullscreen
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_unfullscreen")
-  (return-type "none")
-)
-
-(define-method set_keep_above
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_keep_above")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method set_keep_below
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_keep_below")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method set_opacity
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_opacity")
-  (return-type "none")
-  (parameters
-    '("gdouble" "opacity")
-  )
-)
-
 (define-method begin_resize_drag
   (of-object "GdkSurface")
   (c-name "gdk_surface_begin_resize_drag")
   (return-type "none")
-  (parameters
-    '("GdkSurfaceEdge" "edge")
-    '("gint" "button")
-    '("gint" "x")
-    '("gint" "y")
-    '("guint32" "timestamp")
-  )
-)
-
-(define-method begin_resize_drag_for_device
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_begin_resize_drag_for_device")
-  (return-type "none")
   (parameters
     '("GdkSurfaceEdge" "edge")
     '("GdkDevice*" "device")
@@ -4310,18 +3969,6 @@
   (of-object "GdkSurface")
   (c-name "gdk_surface_begin_move_drag")
   (return-type "none")
-  (parameters
-    '("gint" "button")
-    '("gint" "x")
-    '("gint" "y")
-    '("guint32" "timestamp")
-  )
-)
-
-(define-method begin_move_drag_for_device
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_begin_move_drag_for_device")
-  (return-type "none")
   (parameters
     '("GdkDevice*" "device")
     '("gint" "button")
@@ -4404,15 +4051,6 @@
   )
 )
 
-(define-method show_window_menu
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_show_window_menu")
-  (return-type "gboolean")
-  (parameters
-    '("GdkEvent*" "event")
-  )
-)
-
 (define-method create_cairo_context
   (of-object "GdkSurface")
   (c-name "gdk_surface_create_cairo_context")
@@ -4499,6 +4137,236 @@
 
 
 
+;; From gdktoplevel.h
+
+(define-method present
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_present")
+  (return-type "gboolean")
+  (parameters
+    '("int" "width")
+    '("int" "height")
+    '("GdkToplevelLayout*" "layout")
+  )
+)
+
+(define-method minimize
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_minimize")
+  (return-type "gboolean")
+)
+
+(define-method lower
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_lower")
+  (return-type "gboolean")
+)
+
+(define-method focus
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_focus")
+  (return-type "none")
+  (parameters
+    '("guint32" "timestamp")
+  )
+)
+
+(define-method get_state
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_get_state")
+  (return-type "GdkSurfaceState")
+)
+
+(define-method set_title
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_title")
+  (return-type "none")
+  (parameters
+    '("const-char*" "title")
+  )
+)
+
+(define-method set_startup_id
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_startup_id")
+  (return-type "none")
+  (parameters
+    '("const-char*" "startup_id")
+  )
+)
+
+(define-method set_transient_for
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_transient_for")
+  (return-type "none")
+  (parameters
+    '("GdkSurface*" "parent")
+  )
+)
+
+(define-method set_modal
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_modal")
+  (return-type "none")
+  (parameters
+    '("gboolean" "modal")
+  )
+)
+
+(define-method set_icon_list
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_icon_list")
+  (return-type "none")
+  (parameters
+    '("GList*" "surfaces")
+  )
+)
+
+(define-method show_window_menu
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_show_window_menu")
+  (return-type "gboolean")
+  (parameters
+    '("GdkEvent*" "event")
+  )
+)
+
+(define-method set_decorated
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_decorated")
+  (return-type "none")
+  (parameters
+    '("gboolean" "decorated")
+  )
+)
+
+(define-method set_deletable
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_set_deletable")
+  (return-type "none")
+  (parameters
+    '("gboolean" "deletable")
+  )
+)
+
+(define-method supports_edge_constraints
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_supports_edge_constraints")
+  (return-type "gboolean")
+)
+
+
+
+;; From gdktoplevellayout.h
+
+(define-function gdk_toplevel_layout_get_type
+  (c-name "gdk_toplevel_layout_get_type")
+  (return-type "GType")
+)
+
+(define-function gdk_toplevel_layout_new
+  (c-name "gdk_toplevel_layout_new")
+  (is-constructor-of "GdkToplevelLayout")
+  (return-type "GdkToplevelLayout*")
+  (parameters
+    '("int" "min_width")
+    '("int" "min_height")
+  )
+)
+
+(define-method ref
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_ref")
+  (return-type "GdkToplevelLayout*")
+)
+
+(define-method unref
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_unref")
+  (return-type "none")
+)
+
+(define-method copy
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_copy")
+  (return-type "GdkToplevelLayout*")
+)
+
+(define-method equal
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_equal")
+  (return-type "gboolean")
+  (parameters
+    '("GdkToplevelLayout*" "other")
+  )
+)
+
+(define-method set_maximized
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_set_maximized")
+  (return-type "none")
+  (parameters
+    '("gboolean" "maximized")
+  )
+)
+
+(define-method set_fullscreen
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_set_fullscreen")
+  (return-type "none")
+  (parameters
+    '("gboolean" "fullscreen")
+    '("GdkMonitor*" "monitor")
+  )
+)
+
+(define-method get_min_width
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_min_width")
+  (return-type "int")
+)
+
+(define-method get_min_height
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_min_height")
+  (return-type "int")
+)
+
+(define-method get_maximized
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_maximized")
+  (return-type "gboolean")
+)
+
+(define-method get_fullscreen
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_fullscreen")
+  (return-type "gboolean")
+)
+
+(define-method get_fullscreen_monitor
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_fullscreen_monitor")
+  (return-type "GdkMonitor*")
+)
+
+(define-method set_resizable
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_set_resizable")
+  (return-type "none")
+  (parameters
+    '("gboolean" "resizable")
+  )
+)
+
+(define-method get_resizable
+  (of-object "GdkToplevelLayout")
+  (c-name "gdk_toplevel_layout_get_resizable")
+  (return-type "gboolean")
+)
+
+
+
 ;; From gdktypes.h
 
 
@@ -4678,26 +4546,11 @@
   (return-type "GType")
 )
 
-(define-function gdk_surface_type_get_type
-  (c-name "gdk_surface_type_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_surface_hints_get_type
   (c-name "gdk_surface_hints_get_type")
   (return-type "GType")
 )
 
-(define-function gdk_wm_decoration_get_type
-  (c-name "gdk_wm_decoration_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_wm_function_get_type
-  (c-name "gdk_wm_function_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_surface_edge_get_type
   (c-name "gdk_surface_edge_get_type")
   (return-type "GType")
diff --git a/gdk/src/gdk_signals.defs b/gdk/src/gdk_signals.defs
index db67f9b2..1375aacb 100644
--- a/gdk/src/gdk_signals.defs
+++ b/gdk/src/gdk_signals.defs
@@ -895,6 +895,27 @@
   )
 )
 
+;; From GdkPopup
+
+(define-property autohide
+  (of-object "GdkPopup")
+  (prop-type "GParamBoolean")
+  (docs "The parent surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+  (default-value "FALSE")
+)
+
+(define-property parent
+  (of-object "GdkPopup")
+  (prop-type "GParamObject")
+  (docs "The parent surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
 ;; GdkRGBA is neither a GObject nor a GInterface. Not checked for signals and properties.
 
 ;; From GdkSeat
@@ -980,16 +1001,6 @@
   )
 )
 
-(define-property surface-type
-  (of-object "GdkSurface")
-  (prop-type "GParamEnum")
-  (docs "Surface type")
-  (readable #t)
-  (writable #t)
-  (construct-only #t)
-  (default-value "GDK_SURFACE_TOPLEVEL")
-)
-
 (define-property cursor
   (of-object "GdkSurface")
   (prop-type "GParamObject")
@@ -1008,15 +1019,6 @@
   (construct-only #t)
 )
 
-(define-property parent
-  (of-object "GdkSurface")
-  (prop-type "GParamObject")
-  (docs "Parent surface")
-  (readable #t)
-  (writable #t)
-  (construct-only #t)
-)
-
 (define-property frame-clock
   (of-object "GdkSurface")
   (prop-type "GParamObject")
@@ -1026,16 +1028,6 @@
   (construct-only #t)
 )
 
-(define-property state
-  (of-object "GdkSurface")
-  (prop-type "GParamFlags")
-  (docs "State")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-  (default-value "GDK_SURFACE_STATE_WITHDRAWN")
-)
-
 (define-property mapped
   (of-object "GdkSurface")
   (prop-type "GParamBoolean")
@@ -1046,16 +1038,6 @@
   (default-value "FALSE")
 )
 
-(define-property autohide
-  (of-object "GdkSurface")
-  (prop-type "GParamBoolean")
-  (docs "Whether to dismiss the surface on outside clicks")
-  (readable #t)
-  (writable #t)
-  (construct-only #t)
-  (default-value "FALSE")
-)
-
 ;; From GdkTexture
 
 (define-property width
@@ -1078,6 +1060,96 @@
   (default-value "1")
 )
 
+;; From GdkToplevel
+
+(define-property decorated
+  (of-object "GdkToplevel")
+  (prop-type "GParamBoolean")
+  (docs "Decorated")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property deletable
+  (of-object "GdkToplevel")
+  (prop-type "GParamBoolean")
+  (docs "Deletable")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property fullscreen-mode
+  (of-object "GdkToplevel")
+  (prop-type "GParamEnum")
+  (docs "Fullscreen mode")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "GDK_FULLSCREEN_ON_CURRENT_MONITOR")
+)
+
+(define-property icon-list
+  (of-object "GdkToplevel")
+  (prop-type "GParamPointer")
+  (docs "The list of icon textures")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property modal
+  (of-object "GdkToplevel")
+  (prop-type "GParamBoolean")
+  (docs "Whether the surface is modal")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property startup-id
+  (of-object "GdkToplevel")
+  (prop-type "GParamString")
+  (docs "The startup ID of the surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "")
+)
+
+(define-property state
+  (of-object "GdkToplevel")
+  (prop-type "GParamFlags")
+  (docs "State")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "GDK_SURFACE_STATE_WITHDRAWN")
+)
+
+(define-property title
+  (of-object "GdkToplevel")
+  (prop-type "GParamString")
+  (docs "The title of the surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "")
+)
+
+(define-property transient-for
+  (of-object "GdkToplevel")
+  (prop-type "GParamObject")
+  (docs "The transient parent of the surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GdkGLContext
 
 (define-property shared-context
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index f9dbdfde..956d8875 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -381,8 +381,8 @@ positioned to one side of the space.
 Note that in horizontal context @GTK_ALIGN_START and @GTK_ALIGN_END
 are interpreted relative to text direction.
 
-GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and
-it is only supported for vertical alignment.  When its not supported by
+@GTK_ALIGN_BASELINE support is optional for containers and widgets, and
+it is only supported for vertical alignment.  When it's not supported by
 a child or a container it is treated as @GTK_ALIGN_FILL.
 
 </description>
@@ -408,7 +408,8 @@ allocation
 </parameter_description>
 </parameter>
 <parameter name="GTK_ALIGN_BASELINE">
-<parameter_description> align the widget according to the baseline
+<parameter_description> align the widget according to the baseline. See
+#GtkWidget
 </parameter_description>
 </parameter>
 </parameters>
@@ -15256,13 +15257,6 @@ or mnemonics that are associated with @window changes.
 <return></return>
 </signal>
 
-<property name="GtkWindow:accept-focus">
-<description>
-Whether the window should receive the input focus.
-
-</description>
-</property>
-
 <property name="GtkWindow:application">
 <description>
 The #GtkApplication associated with the window.
@@ -15278,19 +15272,6 @@ remove it by setting the :application property to %NULL.
 </description>
 </property>
 
-<property name="GtkWindow:attached-to">
-<description>
-The widget to which this window is attached.
-See gtk_window_set_attached_to().
-
-Examples of places where specifying this relation is useful are
-for instance a #GtkMenu created by a #GtkComboBox, a completion
-popup window created by #GtkEntry or a typeahead search entry
-created by #GtkTreeView.
-
-</description>
-</property>
-
 <property name="GtkWindow:decorated">
 <description>
 Whether the window should be decorated by the window manager.
@@ -15305,13 +15286,6 @@ Whether the window frame should have a close button.
 </description>
 </property>
 
-<property name="GtkWindow:focus-on-map">
-<description>
-Whether the window should receive the input focus when mapped.
-
-</description>
-</property>
-
 <property name="GtkWindow:focus-visible">
 <description>
 Whether 'focus rectangles' are currently visible in this window.
@@ -81850,72 +81824,6 @@ Adds a mnemonic to this window.
 <return></return>
 </function>
 
-<function name="gtk_window_begin_move_drag">
-<description>
-Starts moving a window. This function is used if an application has
-window movement grips.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> mouse button that initiated the drag
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X position where the user clicked to initiate the drag, in window coordinates
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y position where the user clicked to initiate the drag
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> timestamp from the click event that initiated the drag
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_window_begin_resize_drag">
-<description>
-Starts resizing a window. This function is used if an application
-has window resizing controls.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> mouse button that initiated the drag
-</parameter_description>
-</parameter>
-<parameter name="edge">
-<parameter_description> position of the resize control
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X position where the user clicked to initiate the drag, in window coordinates
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y position where the user clicked to initiate the drag
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> timestamp from the click event that initiated the drag
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_close">
 <description>
 Requests that the window is closed, similar to what happens
@@ -81977,22 +81885,6 @@ You can track iconification via the #GdkSurface::state property
 <return></return>
 </function>
 
-<function name="gtk_window_get_accept_focus">
-<description>
-Gets the value set by gtk_window_set_accept_focus().
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if window should receive the input focus
-</return>
-</function>
-
 <function name="gtk_window_get_application">
 <description>
 Gets the #GtkApplication associated with the window (if any).
@@ -82009,24 +81901,6 @@ Gets the #GtkApplication associated with the window (if any).
 </return>
 </function>
 
-<function name="gtk_window_get_attached_to">
-<description>
-Fetches the attach widget for this window. See
-gtk_window_set_attached_to().
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> the widget where the window
-is attached, or %NULL if the window is not attached to any widget.
-</return>
-</function>
-
 <function name="gtk_window_get_decorated">
 <description>
 Returns whether the window has been set to have decorations
@@ -82159,23 +82033,6 @@ or %NULL if there is none.
 </return>
 </function>
 
-<function name="gtk_window_get_focus_on_map">
-<description>
-Gets the value set by gtk_window_set_focus_on_map().
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if window should receive the input focus when
-mapped.
-</return>
-</function>
-
 <function name="gtk_window_get_focus_visible">
 <description>
 Gets the value of the #GtkWindow:focus-visible property.
@@ -82479,22 +82336,6 @@ window, or %NULL if no transient parent has been set.
 </return>
 </function>
 
-<function name="gtk_window_get_type_hint">
-<description>
-Gets the type hint for this window. See gtk_window_set_type_hint().
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> the type hint for @window.
-</return>
-</function>
-
 <function name="gtk_window_group_add_window">
 <description>
 Adds a window to a #GtkWindowGroup. 
@@ -82908,25 +82749,6 @@ a larger window.
 <return></return>
 </function>
 
-<function name="gtk_window_set_accept_focus">
-<description>
-Windows may set a hint asking the desktop environment not to receive
-the input focus. This function sets this hint.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow 
-</parameter_description>
-</parameter>
-<parameter name="setting">
-<parameter_description> %TRUE to let this window receive input focus
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_application">
 <description>
 Sets or unsets the #GtkApplication associated with the window.
@@ -82956,37 +82778,6 @@ gtk_application_add_window() on the old/new applications as relevant.
 <return></return>
 </function>
 
-<function name="gtk_window_set_attached_to">
-<description>
-Marks @window as attached to @attach_widget. This creates a logical binding
-between the window and the widget it belongs to, which is used by GTK+ to
-propagate information such as styling or accessibility to @window as if it
-was a children of @attach_widget.
-
-Examples of places where specifying this relation is useful are for instance
-a #GtkMenu created by a #GtkComboBox, a completion popup window
-created by #GtkEntry or a typeahead search entry created by #GtkTreeView.
-
-Note that this function should not be confused with
-gtk_window_set_transient_for(), which specifies a window manager relation
-between two toplevels instead.
-
-Passing %NULL for @attach_widget detaches the window.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="attach_widget">
-<parameter_description> a #GtkWidget, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_auto_startup_notification">
 <description>
 By default, after showing the first #GtkWindow, GTK+ calls 
@@ -83214,26 +83005,6 @@ any focus widget for the toplevel window.
 <return></return>
 </function>
 
-<function name="gtk_window_set_focus_on_map">
-<description>
-Windows may set a hint asking the desktop environment not to receive
-the input focus when the window is mapped.  This function sets this
-hint.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow 
-</parameter_description>
-</parameter>
-<parameter name="setting">
-<parameter_description> %TRUE to let this window receive input focus on map
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_focus_visible">
 <description>
 Sets the #GtkWindow:focus-visible property.
@@ -83334,78 +83105,6 @@ and to useful debugging tools.
 <return></return>
 </function>
 
-<function name="gtk_window_set_keep_above">
-<description>
-Asks to keep @window above, so that it stays on top. Note that
-you shouldn’t assume the window is definitely above afterward,
-because other entities (e.g. the user or
-[window manager][gtk-X11-arch]) could not keep it above,
-and not all window managers support keeping windows above. But
-normally the window will end kept above. Just don’t write code
-that crashes if not.
-
-It’s permitted to call this function before showing a window,
-in which case the window will be kept above when it appears onscreen
-initially.
-
-You can track iconification via the #GdkSurface::state property
-
-Note that, according to the
-[Extended Window Manager Hints Specification](http://www.freedesktop.org/Standards/wm-spec),
-the above state is mainly meant for user preferences and should not
-be used by applications e.g. for drawing attention to their
-dialogs.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="setting">
-<parameter_description> whether to keep @window above other windows
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_window_set_keep_below">
-<description>
-Asks to keep @window below, so that it stays in bottom. Note that
-you shouldn’t assume the window is definitely below afterward,
-because other entities (e.g. the user or
-[window manager][gtk-X11-arch]) could not keep it below,
-and not all window managers support putting windows below. But
-normally the window will be kept below. Just don’t write code
-that crashes if not.
-
-It’s permitted to call this function before showing a window,
-in which case the window will be kept below when it appears onscreen
-initially.
-
-You can track iconification via the #GdkSurface::state property
-
-Note that, according to the
-[Extended Window Manager Hints Specification](http://www.freedesktop.org/Standards/wm-spec),
-the above state is mainly meant for user preferences and should not
-be used by applications e.g. for drawing attention to their
-dialogs.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="setting">
-<parameter_description> whether to keep @window below other windows
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_mnemonic_modifier">
 <description>
 Sets the mnemonic modifier for this window. 
@@ -83596,56 +83295,6 @@ much as the window manager would have done on X.
 <return></return>
 </function>
 
-<function name="gtk_window_set_type_hint">
-<description>
-By setting the type hint for the window, you allow the window
-manager to decorate and handle the window in a way which is
-suitable to the function of the window in your application.
-
-This function should be called before the window becomes visible.
-
-gtk_dialog_new_with_buttons() and other convenience functions in GTK+
-will sometimes call gtk_window_set_type_hint() on your behalf.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="hint">
-<parameter_description> the window type
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_window_stick">
-<description>
-Asks to stick @window, which means that it will appear on all user
-desktops. Note that you shouldn’t assume the window is definitely
-stuck afterward, because other entities (e.g. the user or
-[window manager][gtk-X11-arch] could unstick it
-again, and some window managers do not support sticking
-windows. But normally the window will end up stuck. Just don't
-write code that crashes if not.
-
-It’s permitted to call this function before showing a window.
-
-You can track result of this operation via the #GdkSurface:state
-property.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_unfullscreen">
 <description>
 Asks to toggle off the fullscreen state for @window. Note that you
@@ -83714,28 +83363,6 @@ property.
 <return></return>
 </function>
 
-<function name="gtk_window_unstick">
-<description>
-Asks to unstick @window, which means that it will appear on only
-one of the user’s desktops. Note that you shouldn’t assume the
-window is definitely unstuck afterward, because other entities
-(e.g. the user or [window manager][gtk-X11-arch]) could
-stick it again. But normally the window will
-end up stuck. Just don’t write code that crashes if not.
-
-You can track result of this operation via the #GdkSurface:state
-property.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="remove_file">
 <description>
 Removes the given file from the model. If the file is not part of 
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index fa94cd45..c9838cd5 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -4258,7 +4258,7 @@
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "filename")
-    '("gchar**" "object_ids")
+    '("const-char**" "object_ids")
     '("GError**" "error")
   )
 )
@@ -4269,7 +4269,7 @@
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "resource_path")
-    '("gchar**" "object_ids")
+    '("const-char**" "object_ids")
     '("GError**" "error")
   )
 )
@@ -4281,7 +4281,7 @@
   (parameters
     '("const-gchar*" "buffer")
     '("gssize" "length")
-    '("gchar**" "object_ids")
+    '("const-char**" "object_ids")
     '("GError**" "error")
   )
 )
@@ -28874,66 +28874,6 @@
   (return-type "GtkWindow*")
 )
 
-(define-method set_attached_to
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_attached_to")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "attach_widget")
-  )
-)
-
-(define-method get_attached_to
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_attached_to")
-  (return-type "GtkWidget*")
-)
-
-(define-method set_type_hint
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_type_hint")
-  (return-type "none")
-  (parameters
-    '("GdkSurfaceTypeHint" "hint")
-  )
-)
-
-(define-method get_type_hint
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_type_hint")
-  (return-type "GdkSurfaceTypeHint")
-)
-
-(define-method set_accept_focus
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_accept_focus")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method get_accept_focus
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_accept_focus")
-  (return-type "gboolean")
-)
-
-(define-method set_focus_on_map
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_focus_on_map")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method get_focus_on_map
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_focus_on_map")
-  (return-type "gboolean")
-)
-
 (define-method set_destroy_with_parent
   (of-object "GtkWindow")
   (c-name "gtk_window_set_destroy_with_parent")
@@ -29214,18 +29154,6 @@
   (return-type "none")
 )
 
-(define-method stick
-  (of-object "GtkWindow")
-  (c-name "gtk_window_stick")
-  (return-type "none")
-)
-
-(define-method unstick
-  (of-object "GtkWindow")
-  (c-name "gtk_window_unstick")
-  (return-type "none")
-)
-
 (define-method maximize
   (of-object "GtkWindow")
   (c-name "gtk_window_maximize")
@@ -29265,49 +29193,6 @@
   (return-type "none")
 )
 
-(define-method set_keep_above
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_keep_above")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method set_keep_below
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_keep_below")
-  (return-type "none")
-  (parameters
-    '("gboolean" "setting")
-  )
-)
-
-(define-method begin_resize_drag
-  (of-object "GtkWindow")
-  (c-name "gtk_window_begin_resize_drag")
-  (return-type "none")
-  (parameters
-    '("GdkSurfaceEdge" "edge")
-    '("gint" "button")
-    '("gint" "x")
-    '("gint" "y")
-    '("guint32" "timestamp")
-  )
-)
-
-(define-method begin_move_drag
-  (of-object "GtkWindow")
-  (c-name "gtk_window_begin_move_drag")
-  (return-type "none")
-  (parameters
-    '("gint" "button")
-    '("gint" "x")
-    '("gint" "y")
-    '("guint32" "timestamp")
-  )
-)
-
 (define-method set_default_size
   (of-object "GtkWindow")
   (c-name "gtk_window_set_default_size")
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index d91b6de5..db1c609c 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -10391,6 +10391,25 @@
   (construct-only #f)
 )
 
+(define-property overline
+  (of-object "GtkTextTag")
+  (prop-type "GParamEnum")
+  (docs "Style of overline for this text")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "PANGO_OVERLINE_NONE")
+)
+
+(define-property overline-rgba
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoxed")
+  (docs "Color of overline for this text")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property rise
   (of-object "GtkTextTag")
   (prop-type "GParamInt")
@@ -10489,6 +10508,36 @@
   (default-value "")
 )
 
+(define-property allow-breaks
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether breaks are allowed.")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "TRUE")
+)
+
+(define-property show-spaces
+  (of-object "GtkTextTag")
+  (prop-type "GParamFlags")
+  (docs "How to render invisible characters.")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "PANGO_SHOW_NONE")
+)
+
+(define-property insert-hyphens
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether to insert hyphens at breaks.")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "TRUE")
+)
+
 (define-property accumulative-margin
   (of-object "GtkTextTag")
   (prop-type "GParamBoolean")
@@ -10719,6 +10768,26 @@
   (default-value "FALSE")
 )
 
+(define-property overline-set
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether this tag affects overlining")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property overline-rgba-set
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether this tag affects overlining color")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 (define-property rise-set
   (of-object "GtkTextTag")
   (prop-type "GParamBoolean")
@@ -10809,6 +10878,36 @@
   (default-value "FALSE")
 )
 
+(define-property allow-breaks-set
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether this tag affects line breaks")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property show-spaces-set
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether this tag affects rendering of invisible characters")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property insert-hyphens-set
+  (of-object "GtkTextTag")
+  (prop-type "GParamBoolean")
+  (docs "Whether this tag affects insertion of hyphens")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 ;; From GtkTextTagTable
 
 (define-signal tag-changed
@@ -12461,36 +12560,6 @@
   (construct-only #f)
 )
 
-(define-property type-hint
-  (of-object "GtkWindow")
-  (prop-type "GParamEnum")
-  (docs "Hint to help the desktop environment understand what kind of window this is and how to treat it.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "GDK_SURFACE_TYPE_HINT_NORMAL")
-)
-
-(define-property accept-focus
-  (of-object "GtkWindow")
-  (prop-type "GParamBoolean")
-  (docs "TRUE if the window should receive the input focus.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "TRUE")
-)
-
-(define-property focus-on-map
-  (of-object "GtkWindow")
-  (prop-type "GParamBoolean")
-  (docs "TRUE if the window should receive the input focus when mapped.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "TRUE")
-)
-
 (define-property decorated
   (of-object "GtkWindow")
   (prop-type "GParamBoolean")
@@ -12520,15 +12589,6 @@
   (construct-only #f)
 )
 
-(define-property attached-to
-  (of-object "GtkWindow")
-  (prop-type "GParamObject")
-  (docs "The widget where the window is attached")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property application
   (of-object "GtkWindow")
   (prop-type "GParamObject")
diff --git a/tools/extra_defs_gen/generate_defs_gdk.cc b/tools/extra_defs_gen/generate_defs_gdk.cc
index 98a5d6bc..568131e3 100644
--- a/tools/extra_defs_gen/generate_defs_gdk.cc
+++ b/tools/extra_defs_gen/generate_defs_gdk.cc
@@ -55,10 +55,12 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GDK_TYPE_PIXBUF )
             << get_defs( GDK_TYPE_PIXBUF_ANIMATION )
             << get_defs( GDK_TYPE_PIXBUF_LOADER )
+            << get_defs( GDK_TYPE_POPUP )
             << get_defs( GDK_TYPE_RGBA )
             << get_defs( GDK_TYPE_SEAT )
             << get_defs( GDK_TYPE_SURFACE )
             << get_defs( GDK_TYPE_TEXTURE )
+            << get_defs( GDK_TYPE_TOPLEVEL )
             << get_defs( GDK_TYPE_GL_CONTEXT )
             ;
   return 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]