<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <package name="libxfce4windowing-0"/>
  <c:include name="libxfce4windowing/libxfce4windowing.h"/>
  <doc:format name="unknown"/>
  <namespace name="Libxfce4windowing"
             version="0.0"
             shared-library="libxfce4windowing-0.so.0.1"
             c:identifier-prefixes="libxfce4windowing,Xfw"
             c:symbol-prefixes="libxfce4windowing,xfw">
    <class name="Application"
           c:symbol-prefix="application"
           c:type="XfwApplication"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="XfwApplication"
           glib:get-type="xfw_application_get_type"
           glib:type-struct="ApplicationClass">
      <source-position filename="xfw-application.h" line="36"/>
      <method name="get_class_id"
              c:identifier="xfw_application_get_class_id"
              glib:get-property="class-id"
              version="4.19.3">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="217">Fetches this application's class id. On X11 this should be the class name of
the [WM_CLASS property](https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#wm_class_property).
On Wayland, it's the [application ID](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1#zwlr_foreign_toplevel_handle_v1:event:app_id),
which should correspond to the basename of the application's desktop file.</doc>
        <source-position filename="xfw-application.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="226">A UTF-8 formatted string,
owned by @app.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="219">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gicon"
              c:identifier="xfw_application_get_gicon"
              glib:get-property="gicon"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="294">Fetches @app's icon as a size-independent #GIcon.  If an icon cannot be
found, a #GIcon representing a fallback icon will be returned.  Whether or
not the returned icon is a fallback icon can be determined using
#xfw_application_icon_is_fallback().</doc>
        <source-position filename="xfw-application.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="303">a #GIcon, owned by @app.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="296">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="xfw_application_get_icon">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="256">Fetches @app's icon.  If @app has no icon, a fallback icon may be
returned.  Whether or not the returned icon is a fallback icon can be
determined using #xfw_application_icon_is_fallback().</doc>
        <source-position filename="xfw-application.h" line="47"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="266">a #GdkPixbuf, owned by @app,
or %NULL if @app has no icon and a fallback cannot be rendered.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="258">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="259">the desired icon size.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="260">the UI scale factor.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_instance" c:identifier="xfw_application_get_instance">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="384">Finds the #XfwApplicationInstance to which @window belongs.</doc>
        <source-position filename="xfw-application.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="391">
The #XfwApplicationInstance to which @window belongs, or %NULL if @window
does not belong to @app, or if listing instances is not supported on the
windowing environment in use. The returned #XfwApplicationInstance is owned
by @app.</doc>
          <type name="ApplicationInstance" c:type="XfwApplicationInstance*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="386">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="387">the application window you want to get the instance of.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_instances"
              c:identifier="xfw_application_get_instances"
              glib:get-property="instances">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="365">Lists all instances of the application.</doc>
        <source-position filename="xfw-application.h" line="51"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="371">
The list of #XfwApplicationInstance of @app, or %NULL if listing instances is
not supported on the windowing environment in use. The list and its contents
are owned by @app.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ApplicationInstance"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="367">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="xfw_application_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="239">Fetches this application's human-readable name.</doc>
        <source-position filename="xfw-application.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="245">A UTF-8 formatted string,
owned by @app.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="241">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows"
              c:identifier="xfw_application_get_windows"
              glib:get-property="windows">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="347">Lists all windows belonging to the application.</doc>
        <source-position filename="xfw-application.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="353">
The list of #XfwWindow belonging to @app. The list and its contents are owned
by @app.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="349">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="icon_is_fallback"
              c:identifier="xfw_application_icon_is_fallback"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="322">Determines if @app does not have an icon, and thus a fallback icon
will be returned from #xfw_application_get_icon() and
#xfw_application_get_gicon().</doc>
        <source-position filename="xfw-application.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="330">%TRUE or %FALSE, depending on if @app's icon uses a
fallback icon or not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="324">an #XfwApplication.</doc>
            <type name="Application" c:type="XfwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="class-id"
                version="4.19.3"
                transfer-ownership="none"
                getter="get_class_id">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="100">The application class id.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="gicon" transfer-ownership="none" getter="get_gicon">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="152">The #GIcon that represents this application.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="instances"
                transfer-ownership="none"
                getter="get_instances">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="140">The list of #XfwApplicationInstance belonging to the application.</doc>
        <type name="GLib.List" c:type="gpointer">
          <type name="ApplicationInstance"/>
        </type>
      </property>
      <property name="name"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="115">The application name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="windows" transfer-ownership="none" getter="get_windows">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="128">The list of #XfwWindow belonging to the application.</doc>
        <type name="GLib.List" c:type="gpointer">
          <type name="Window"/>
        </type>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="icon-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="86">Emitted when @app's icon changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ApplicationClass"
            c:type="XfwApplicationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Application">
      <source-position filename="xfw-application.h" line="36"/>
    </record>
    <record name="ApplicationInstance"
            c:type="XfwApplicationInstance"
            disguised="1"
            opaque="1">
      <doc xml:space="preserve"
           filename="xfw-application.h"
           line="38">An opaque structure representing an instance of an #XfwApplication.</doc>
      <source-position filename="xfw-application.h" line="43"/>
      <method name="get_name"
              c:identifier="xfw_application_instance_get_name"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="421">Fetches @instance's name, which can often be the same as the application name.</doc>
        <source-position filename="xfw-application.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="427">A string owned by @instance.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="423">an #XfwApplicationInstance.</doc>
            <type name="ApplicationInstance" c:type="XfwApplicationInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pid"
              c:identifier="xfw_application_instance_get_pid"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="405">Fetches @instance's PID.</doc>
        <source-position filename="xfw-application.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="411">The process ID of @instance, or 0 if none is available.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="407">an #XfwApplicationInstance.</doc>
            <type name="ApplicationInstance" c:type="XfwApplicationInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows"
              c:identifier="xfw_application_instance_get_windows"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-application.c"
             line="437">Lists all windows belonging to the application instance.</doc>
        <source-position filename="xfw-application.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-application.c"
               line="443">
The list of #XfwWindow belonging to @instance. The list and its contents are owned
by @instance.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-application.c"
                 line="439">an #XfwApplicationInstance.</doc>
            <type name="ApplicationInstance" c:type="XfwApplicationInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function-macro name="CHECK_VERSION"
                    c:identifier="LIBXFCE4WINDOWING_CHECK_VERSION"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.h"
           line="77">A macro to compare libxfce4windowing versions to determine if a particular
function is available.</doc>
      <source-position filename="libxfce4windowing-config.h" line="87"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.h"
               line="79">The major version of the library, i.e. 4</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.h"
               line="80">The minor version of the library, i.e. 18</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.h"
               line="81">The micro release of the library, i.e. 0</doc>
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="ClientType" version="4.19.3" c:type="XfwClientType">
      <doc xml:space="preserve"
           filename="xfw-util.h"
           line="88">The type of the application.

See #xfw_set_client_type() for details.</doc>
      <source-position filename="xfw-util.h" line="102"/>
      <member name="application"
              value="1"
              c:identifier="XFW_CLIENT_TYPE_APPLICATION">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="90">a regular application</doc>
      </member>
      <member name="pager" value="2" c:identifier="XFW_CLIENT_TYPE_PAGER">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="91">a pager or other user-controlled desktop component</doc>
      </member>
    </enumeration>
    <enumeration name="Direction"
                 glib:type-name="XfwDirection"
                 glib:get-type="xfw_direction_get_type"
                 c:type="XfwDirection">
      <doc xml:space="preserve"
           filename="xfw-util.h"
           line="70">Represents a direction, either of position ("This workspace is to the left
of the current workspace") or movement ("Move this window to the workspace to
the right of its current workspace").</doc>
      <member name="up"
              value="0"
              c:identifier="XFW_DIRECTION_UP"
              glib:nick="up"
              glib:name="XFW_DIRECTION_UP">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="72">upward from the current location</doc>
      </member>
      <member name="down"
              value="1"
              c:identifier="XFW_DIRECTION_DOWN"
              glib:nick="down"
              glib:name="XFW_DIRECTION_DOWN">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="73">downward from the current location</doc>
      </member>
      <member name="left"
              value="2"
              c:identifier="XFW_DIRECTION_LEFT"
              glib:nick="left"
              glib:name="XFW_DIRECTION_LEFT">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="74">to the left of the current location</doc>
      </member>
      <member name="right"
              value="3"
              c:identifier="XFW_DIRECTION_RIGHT"
              glib:nick="right"
              glib:name="XFW_DIRECTION_RIGHT">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="75">to the right of the current location</doc>
      </member>
    </enumeration>
    <enumeration name="Error"
                 c:type="XfwError"
                 glib:error-domain="xfw-error-quark">
      <doc xml:space="preserve"
           filename="xfw-util.h"
           line="41">An error code enum describing possible errors returned by this library.</doc>
      <source-position filename="xfw-util.h" line="51"/>
      <member name="unsupported"
              value="0"
              c:identifier="XFW_ERROR_UNSUPPORTED">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="43">the operation attempted is not supported.</doc>
      </member>
      <member name="internal" value="1" c:identifier="XFW_ERROR_INTERNAL">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="44">an internal error has occurred.</doc>
      </member>
    </enumeration>
    <constant name="MAJOR_VERSION"
              value="4"
              c:type="LIBXFCE4WINDOWING_MAJOR_VERSION">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.h"
           line="50">A macro that evaluates to the major version of libxfce4windowing, in a format
that can be used by the C pre-processor.</doc>
      <source-position filename="libxfce4windowing-config.h" line="57"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION"
              value="6"
              c:type="LIBXFCE4WINDOWING_MICRO_VERSION">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.h"
           line="68">A macro that evaluates to the micro version of libxfce4windowing, in a format
that can be used by the C pre-processor.</doc>
      <source-position filename="libxfce4windowing-config.h" line="75"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION"
              value="20"
              c:type="LIBXFCE4WINDOWING_MINOR_VERSION">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.h"
           line="59">A macro that evaluates to the minor version of libxfce4windowing, in a format
that can be used by the C pre-processor.</doc>
      <source-position filename="libxfce4windowing-config.h" line="66"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Monitor"
           c:symbol-prefix="monitor"
           c:type="XfwMonitor"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="XfwMonitor"
           glib:get-type="xfw_monitor_get_type"
           glib:type-struct="MonitorClass">
      <source-position filename="xfw-monitor.h" line="87"/>
      <method name="get_connector"
              c:identifier="xfw_monitor_get_connector"
              glib:get-property="connector"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="558">Returns the name of the physical connector this monitor is connected to.

This might be a string such as "eDP-1", "DP-3", or "HDMI-2".  Note that in
environments where the monitor is "virtual", a synthetic connector name may
be returned.</doc>
        <source-position filename="xfw-monitor.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="568">A string owned by @monitor.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="560">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="xfw_monitor_get_description"
              glib:get-property="description"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="541">Returns a human-readable description of this monitor, suitable for
displaying in a user interface.</doc>
        <source-position filename="xfw-monitor.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="548">A string owned by @monitor.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="543">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fractional_scale"
              c:identifier="xfw_monitor_get_fractional_scale"
              glib:get-property="fractional-scale"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="663">Returns the monitor's scaling factor.</doc>
        <source-position filename="xfw-monitor.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="669">A positive fractional scale.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="665">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gdk_monitor"
              c:identifier="xfw_monitor_get_gdk_monitor"
              glib:get-property="gdk-monitor"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="804">Returns the #GdkMonitor that corresponds to @monitor.</doc>
        <source-position filename="xfw-monitor.h" line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="810">A #GdkMonitor.</doc>
          <type name="Gdk.Monitor" c:type="GdkMonitor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="806">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_identifier"
              c:identifier="xfw_monitor_get_identifier"
              glib:get-property="identifier"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="516">Retrieves an opaque identifier for this monitor.  The identifier can usually
be relied upon to uniquely identify this monitor (even if you have multiple
identical monitors of the same make and model), assuming the monitor's
hardware is set up properly.

This identifier should also be stable across application and machine
restarts.

If the monitor's hardware is not set up properly, the identifier may not be
unique.  Unfortunately, this library cannot determine when this is the case.</doc>
        <source-position filename="xfw-monitor.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="531">A string owned by @monitor.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="518">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_logical_geometry"
              c:identifier="xfw_monitor_get_logical_geometry"
              glib:get-property="logical-geometry"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="695">Retrieves the position and size of the monitor in logical application
pixels, which are affected by the monitor's fractional scale factor.</doc>
        <source-position filename="xfw-monitor.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="697">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
          <parameter name="logical_geometry"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="698">a #GdkRectangle.</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_make"
              c:identifier="xfw_monitor_get_make"
              glib:get-property="make"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="578">Returns the monitor's manufacturer's name, if available.</doc>
        <source-position filename="xfw-monitor.h" line="95"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="584">A string owned by @monitor, or
%NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="580">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_model"
              c:identifier="xfw_monitor_get_model"
              glib:get-property="model"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="595">Returns the monitor's product model name, if available.</doc>
        <source-position filename="xfw-monitor.h" line="96"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="601">A string owned by @monitor, or
%NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="597">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_physical_geometry"
              c:identifier="xfw_monitor_get_physical_geometry"
              glib:get-property="physical-geometry"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="679">Retrieves the position and size of the monitor in physical device pixels.</doc>
        <source-position filename="xfw-monitor.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="681">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
          <parameter name="physical_geometry"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="682">a #GdkRectangle.</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_physical_size"
              c:identifier="xfw_monitor_get_physical_size"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="733">Retrieves the physical width and height of the monitor in millimeters.</doc>
        <source-position filename="xfw-monitor.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="735">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
          <parameter name="width_mm"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="736">an unsigned integer.</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="height_mm"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="737">an unsigned integer.</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_refresh"
              c:identifier="xfw_monitor_get_refresh"
              glib:get-property="refresh"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="631">Returns the monitor's current refresh rate, in millihertz.</doc>
        <source-position filename="xfw-monitor.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="637">A non-negative integer in mHz.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="633">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scale"
              c:identifier="xfw_monitor_get_scale"
              glib:get-property="scale"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="647">Returns the monitor's scaling factor, as an integer.</doc>
        <source-position filename="xfw-monitor.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="653">A positive integer scale.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="649">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_serial"
              c:identifier="xfw_monitor_get_serial"
              glib:get-property="serial"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="612">Returns the monitor's serial number, if available.  Note that some
manufacturers do not program their monitor's hardware with unique serial
numbers.</doc>
        <source-position filename="xfw-monitor.h" line="97"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="620">A string owned by @monitor, or
%NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="614">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subpixel"
              c:identifier="xfw_monitor_get_subpixel"
              glib:get-property="subpixel"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="755">Returns the subpixel ordering of @monitor.</doc>
        <source-position filename="xfw-monitor.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="761">A value from the #XfwMonitorSubpixel enum.</doc>
          <type name="MonitorSubpixel" c:type="XfwMonitorSubpixel"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="757">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="xfw_monitor_get_transform"
              glib:get-property="transform"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="771">Returns the rotation and reflection transform set on @monitor.</doc>
        <source-position filename="xfw-monitor.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="777">A value from the #XfwMonitorTransform enum.</doc>
          <type name="MonitorTransform" c:type="XfwMonitorTransform"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="773">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workarea"
              c:identifier="xfw_monitor_get_workarea"
              glib:get-property="workarea"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="712">Retrieves the workarea for @monitor, which may exclude regions of the screen
for windows such as panels or docks.

The returned geometry is in logical application pixels, which are affected
by the monitor's integer scale factor.  The origin is set to the top-left
corner of the monitor.</doc>
        <source-position filename="xfw-monitor.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="714">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
          <parameter name="workarea"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="715">a #GdkRectangle.</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_primary"
              c:identifier="xfw_monitor_is_primary"
              glib:get-property="is-primary"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="787">Returns whether or not @monitor has been designated as the primary
monitor.</doc>
        <source-position filename="xfw-monitor.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-monitor.c"
               line="794">%TRUE or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-monitor.c"
                 line="789">a #XfwMonitor.</doc>
            <type name="Monitor" c:type="XfwMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="connector"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_connector"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="159">Physical/virtual connector name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="description"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_description"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="144">Human-readable description.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="fractional-scale"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_fractional_scale"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="249">UI fractional scaling factor.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="gdk-monitor"
                transfer-ownership="none"
                getter="get_gdk_monitor">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="386">The #GdkMonitor corresponding to this monitor.

Since 4.19.4</doc>
        <type name="Gdk.Monitor"/>
      </property>
      <property name="height-mm"
                version="4.19.4"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="324">Physical height of the monitor in millimeters.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="identifier"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_identifier"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="130">Opaque, hopefully-unique monitor identifier.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="is-primary"
                version="4.19.4"
                transfer-ownership="none"
                getter="is_primary"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="371">Whether or not this monitor is the primary monitor.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="logical-geometry"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_logical_geometry">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="279">Coordinates and size of the monitor in scaled logical pixels.</doc>
        <type name="Gdk.Rectangle"/>
      </property>
      <property name="make"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_make"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="174">Manufacturer name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="model"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_model"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="189">Product model name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="physical-geometry"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_physical_geometry">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="264">Coordinates and size of the monitor in physical device pixels.</doc>
        <type name="Gdk.Rectangle"/>
      </property>
      <property name="refresh"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_refresh"
                default-value="60000">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="219">Current refresh rate, in millihertz.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="scale"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_scale"
                default-value="1">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="234">UI scaling factor.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="serial"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_serial"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="204">Product serial number.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subpixel"
                version="4.19.4"
                transfer-ownership="none"
                getter="get_subpixel"
                default-value="XFW_MONITOR_SUBPIXEL_UNKNOWN">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="339">Hardware subpixel layout.</doc>
        <type name="MonitorSubpixel"/>
      </property>
      <property name="transform"
                transfer-ownership="none"
                getter="get_transform"
                default-value="XFW_MONITOR_TRANSFORM_NORMAL">
        <type name="MonitorTransform"/>
      </property>
      <property name="width-mm"
                version="4.19.4"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="xfw-monitor.c"
             line="309">Physical width of the monitor in millimeters.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="workarea"
                transfer-ownership="none"
                getter="get_workarea">
        <type name="Gdk.Rectangle"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="MonitorClass"
            c:type="XfwMonitorClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Monitor">
      <source-position filename="xfw-monitor.h" line="87"/>
    </record>
    <enumeration name="MonitorSubpixel"
                 version="4.19.4"
                 glib:type-name="XfwMonitorSubpixel"
                 glib:get-type="xfw_monitor_subpixel_get_type"
                 c:type="XfwMonitorSubpixel">
      <doc xml:space="preserve"
           filename="xfw-monitor.h"
           line="60">Describes how the color components of the physical pixels are laid out on a
monitor.</doc>
      <member name="unknown"
              value="0"
              c:identifier="XFW_MONITOR_SUBPIXEL_UNKNOWN"
              glib:nick="unknown"
              glib:name="XFW_MONITOR_SUBPIXEL_UNKNOWN">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="62">unknown subpixel ordering.</doc>
      </member>
      <member name="none"
              value="1"
              c:identifier="XFW_MONITOR_SUBPIXEL_NONE"
              glib:nick="none"
              glib:name="XFW_MONITOR_SUBPIXEL_NONE">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="63">no subpixel geometry.</doc>
      </member>
      <member name="hrgb"
              value="2"
              c:identifier="XFW_MONITOR_SUBPIXEL_HRGB"
              glib:nick="hrgb"
              glib:name="XFW_MONITOR_SUBPIXEL_HRGB">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="64">horizontal RGB.</doc>
      </member>
      <member name="hbgr"
              value="3"
              c:identifier="XFW_MONITOR_SUBPIXEL_HBGR"
              glib:nick="hbgr"
              glib:name="XFW_MONITOR_SUBPIXEL_HBGR">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="65">horizontal BGR.</doc>
      </member>
      <member name="vrgb"
              value="4"
              c:identifier="XFW_MONITOR_SUBPIXEL_VRGB"
              glib:nick="vrgb"
              glib:name="XFW_MONITOR_SUBPIXEL_VRGB">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="66">vertical RGB.</doc>
      </member>
      <member name="vbgr"
              value="5"
              c:identifier="XFW_MONITOR_SUBPIXEL_VBGR"
              glib:nick="vbgr"
              glib:name="XFW_MONITOR_SUBPIXEL_VBGR">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="67">vertical BGR.</doc>
      </member>
    </enumeration>
    <enumeration name="MonitorTransform"
                 version="4.19.4"
                 glib:type-name="XfwMonitorTransform"
                 glib:get-type="xfw_monitor_transform_get_type"
                 c:type="XfwMonitorTransform">
      <doc xml:space="preserve"
           filename="xfw-monitor.h"
           line="31">Describes the rotation and reflection applied to a monitor.</doc>
      <member name="normal"
              value="0"
              c:identifier="XFW_MONITOR_TRANSFORM_NORMAL"
              glib:nick="normal"
              glib:name="XFW_MONITOR_TRANSFORM_NORMAL">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="33">no transformation applied.</doc>
      </member>
      <member name="90"
              value="1"
              c:identifier="XFW_MONITOR_TRANSFORM_90"
              glib:nick="90"
              glib:name="XFW_MONITOR_TRANSFORM_90">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="34">rotated counter-clockwise by 90 degrees.</doc>
      </member>
      <member name="180"
              value="2"
              c:identifier="XFW_MONITOR_TRANSFORM_180"
              glib:nick="180"
              glib:name="XFW_MONITOR_TRANSFORM_180">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="35">rotated counter-clockwise by 180 degrees.</doc>
      </member>
      <member name="270"
              value="3"
              c:identifier="XFW_MONITOR_TRANSFORM_270"
              glib:nick="270"
              glib:name="XFW_MONITOR_TRANSFORM_270">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="36">rotated counter-clockwise by 270 degrees.</doc>
      </member>
      <member name="flipped"
              value="4"
              c:identifier="XFW_MONITOR_TRANSFORM_FLIPPED"
              glib:nick="flipped"
              glib:name="XFW_MONITOR_TRANSFORM_FLIPPED">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="37">flipped along a vertical axis.</doc>
      </member>
      <member name="flipped_90"
              value="5"
              c:identifier="XFW_MONITOR_TRANSFORM_FLIPPED_90"
              glib:nick="flipped-90"
              glib:name="XFW_MONITOR_TRANSFORM_FLIPPED_90">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="38">flipped along a vertical axis and rotated
counter-clockwise by 90 degrees.</doc>
      </member>
      <member name="flipped_180"
              value="6"
              c:identifier="XFW_MONITOR_TRANSFORM_FLIPPED_180"
              glib:nick="flipped-180"
              glib:name="XFW_MONITOR_TRANSFORM_FLIPPED_180">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="40">flipped
along a vertical axis and rotated counter-clockwise by 180 degrees.</doc>
      </member>
      <member name="flipped_270"
              value="7"
              c:identifier="XFW_MONITOR_TRANSFORM_FLIPPED_270"
              glib:nick="flipped-270"
              glib:name="XFW_MONITOR_TRANSFORM_FLIPPED_270">
        <doc xml:space="preserve"
             filename="xfw-monitor.h"
             line="42">flipped along a vertical axis and
rotated counter-clockwise by 270 degrees.</doc>
      </member>
    </enumeration>
    <class name="Screen"
           c:symbol-prefix="screen"
           c:type="XfwScreen"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="XfwScreen"
           glib:get-type="xfw_screen_get_type"
           glib:type-struct="ScreenClass">
      <source-position filename="xfw-screen.h" line="34"/>
      <function name="get_default" c:identifier="xfw_screen_get_default">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="633">Retrieves the #XfwScreen instance corresponding to the default #GdkScreen.</doc>
        <source-position filename="xfw-screen.h" line="36"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="638">an #XfwScreen instance, with
a reference owned by the caller.</doc>
          <type name="Screen" c:type="XfwScreen*"/>
        </return-value>
      </function>
      <method name="get_active_window"
              c:identifier="xfw_screen_get_active_window"
              glib:get-property="active-window">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="478">Retrieves the window on @screen that is currently active.</doc>
        <source-position filename="xfw-screen.h" line="44"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="484">an #XfwWindow, or %NULL if no
window is active on @screen.</doc>
          <type name="Window" c:type="XfwWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="480">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_monitor_from_gdk_monitor"
              c:identifier="xfw_screen_get_monitor_from_gdk_monitor"
              version="4.20.6">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="535">Attempts to find the #XfwMonitor corresponding to @monitor.</doc>
        <source-position filename="xfw-screen.h" line="48"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="542">An #XfwMonitor, or %NULL if the
corresponding #XfwMonitor could not be determined.</doc>
          <type name="Monitor" c:type="XfwMonitor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="537">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="538">a #GdkMonitor.</doc>
            <type name="Gdk.Monitor" c:type="GdkMonitor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_monitors"
              c:identifier="xfw_screen_get_monitors"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="493">Retrieves the list of monitors currently attached and enabled on @screen.</doc>
        <source-position filename="xfw-screen.h" line="46"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="499">the list
of #XfwMonitor on @screen, or %NULL if there are no connected/enabled
monitors.  The list and its contents are owned by @screen.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Monitor"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="495">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_primary_monitor"
              c:identifier="xfw_screen_get_primary_monitor"
              version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="511">Returns the monitor designated as "primary".

This function will do its best to return something other than %NULL.  If the
windowing system has no concept of a primary monitor, or if the primary
monitor is unset, a likely candidate will be chosen from the list of
available monitors.

However, if no monitors are connected, %NULL can still be returned.</doc>
        <source-position filename="xfw-screen.h" line="47"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="524">@screen's primary #XfwMonitor, or
%NULL.</doc>
          <type name="Monitor" c:type="XfwMonitor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="513">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seats" c:identifier="xfw_screen_get_seats">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="410">Returns the list of all #XfwSeat instances available on @screen.</doc>
        <source-position filename="xfw-screen.h" line="38"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="416">a list of
#XfwSeat.  The list and its contents are owned by @screen.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Seat"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="412">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_desktop"
              c:identifier="xfw_screen_get_show_desktop"
              glib:get-property="show-desktop">
        <source-position filename="xfw-screen.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="559">%TRUE if the desktop is shown, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="557">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows" c:identifier="xfw_screen_get_windows">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="441">Retrieves the list of windows currently displayed on @screen.

The list and its contents are owned by @screen.</doc>
        <source-position filename="xfw-screen.h" line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="449">the list
of #XfwWindow on @screen, or %NULL if there are no windows.  The list
and its contents are owned by @screen.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="443">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows_stacked"
              c:identifier="xfw_screen_get_windows_stacked">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="460">Retrieves the list of windows currently displayed on @screen, in stacking
order, with the bottom-most window first in the returned list.</doc>
        <source-position filename="xfw-screen.h" line="43"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="467">the list
of #XfwWindow on @screen, in stacking order, or %NULL if there are no
windows.  The list and its contents are owned by @screen.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="462">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace_manager"
              c:identifier="xfw_screen_get_workspace_manager"
              glib:get-property="workspace-manager">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="425">Retrieves this screen's #XfwWorkspaceManager instance, which can be used
to inspect and interact with @screen's workspace groups and workspaces.</doc>
        <source-position filename="xfw-screen.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-screen.c"
               line="432">a #XfwWorkspaceManager
instance.  This instance is a singleton and is owned by @screen.</doc>
          <type name="WorkspaceManager" c:type="XfwWorkspaceManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="427">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_show_desktop"
              c:identifier="xfw_screen_set_show_desktop"
              glib:set-property="show-desktop">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="567">Showing the desktop minimizes the windows not minimized at the time of the query.
The reverse process unminimizes those same windows, if they have not already been
unminimized or destroyed. The desktop show state can be tracked via
#XfwScreen:show-desktop.

The state of the previously active window is always restored upon unminimization,
but there is no guarantee for the rest of the window stacking order on Wayland.

A request to switch to the current state is silently ignored.</doc>
        <source-position filename="xfw-screen.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="569">an #XfwScreen.</doc>
            <type name="Screen" c:type="XfwScreen*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="570">%TRUE to show the desktop, %FALSE to restore the previous state.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-window"
                transfer-ownership="none"
                getter="get_active_window">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="318">The currently-active window.</doc>
        <type name="Window"/>
      </property>
      <property name="gdk-screen"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="291">The #GdkScreen instance used to construct this #XfwScreen.</doc>
        <type name="Gdk.Screen"/>
      </property>
      <property name="show-desktop"
                writable="1"
                transfer-ownership="none"
                setter="set_show_desktop"
                getter="get_show_desktop"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="331">Whether or not to show the desktop.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="workspace-manager"
                transfer-ownership="none"
                getter="get_workspace_manager">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="304">The #XfwWorkspaceManager that manages and describes workspace groups
and workspaces on this screen instance.</doc>
        <type name="WorkspaceManager"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="active-window-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="158">Emitted when a new window becomes the active window.  Often the
active window will receive keyboard focus.  While @window is
the previously-active window (if any, and may be %NULL), the
newly-active window can be retrieved via
#xfw_screen_get_active_window().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="161">the previously-active window.</doc>
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitor-added" when="last" version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="228">Emitted when a monitor is added to @screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="231">the monitor that was added.</doc>
            <type name="Monitor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitor-removed" when="last" version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="246">Emitted when a monitor is removed from @screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="249">the monitor that was removed.</doc>
            <type name="Monitor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitors-changed" when="last" version="4.19.4">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="263">Emitted when one of the following has changed about the monitors
attached to @screen:

  * A monitor was added.
  * A monitor was removed.
  * A monitor's resolution changed (including if the scale factor changed).
  * A monitor was re-positioned in the global screen space.
  * Which monitor is primary has changed.

Note that changes such as the subpixel layout or model name will not
result in the emission of this signal.  Connect to the propert notify
signals on #XfwMonitor to be notified of changes in other aspects of the
monitor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="seat-added" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="106">Emitted when @seat has been added to @screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="109">the new #XfwSeat that was added.</doc>
            <type name="Seat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="seat-removed" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="124">Emitted when @seat has been added to @screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="127">the #XfwSeat that was removed.</doc>
            <type name="Seat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-closed" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="196">Emitted when a window is closed on the screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="199">the window that has been closed.</doc>
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-manager-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="212">Emitted when the window manager on @screen has changed.

Note that currently this signal is not emitted on Wayland.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="window-opened" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="142">Emitted when a new window is opened on the screen.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-screen.c"
                 line="145">the new window that was opened.</doc>
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-stacking-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-screen.c"
             line="178">Emitted when the order of the windows as displayed on the screen has
changed.  Windows, in stacking order, can be retrieved via
#xfw_screen_get_windows_stacked().

Note that currently this signal is not emitted on Wayland.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ScreenClass"
            c:type="XfwScreenClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Screen">
      <source-position filename="xfw-screen.h" line="34"/>
    </record>
    <class name="Seat"
           c:symbol-prefix="seat"
           c:type="XfwSeat"
           parent="GObject.Object"
           glib:type-name="XfwSeat"
           glib:get-type="xfw_seat_get_type"
           glib:type-struct="SeatClass">
      <source-position filename="xfw-seat.h" line="28"/>
      <method name="get_name"
              c:identifier="xfw_seat_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="xfw-seat.c"
             line="127">Returns the name or identifier of @seat.</doc>
        <source-position filename="xfw-seat.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-seat.c"
                 line="129">an #XfwSeat.</doc>
            <type name="Seat" c:type="XfwSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="xfw-seat.c"
             line="71">The seat's identifier.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="SeatClass"
            c:type="XfwSeatClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Seat">
      <source-position filename="xfw-seat.h" line="28"/>
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="XfwWindow"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="XfwWindow"
           glib:get-type="xfw_window_get_type"
           glib:type-struct="WindowClass">
      <source-position filename="xfw-window.h" line="38"/>
      <method name="activate" c:identifier="xfw_window_activate" throws="1">
        <source-position filename="xfw-window.h" line="166"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="XfwSeat*"/>
          </parameter>
          <parameter name="event_timestamp" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="close" c:identifier="xfw_window_close" throws="1">
        <source-position filename="xfw-window.h" line="167"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="event_timestamp" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_application"
              c:identifier="xfw_window_get_application"
              glib:get-property="application">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="753">Fetches @window's application.</doc>
        <source-position filename="xfw-window.h" line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="759">An #XfwApplication instance, with a
reference owned by @window.</doc>
          <type name="Application" c:type="XfwApplication*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="755">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="xfw_window_get_capabilities"
              glib:get-property="capabilities">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="668">Fetches @window's capabilities bitfield.</doc>
        <source-position filename="xfw-window.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="674">a bitfield with zero or more bits from #XfwWindowCapabilities
set.</doc>
          <type name="WindowCapabilities" c:type="XfwWindowCapabilities"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="670">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_class_ids"
              c:identifier="xfw_window_get_class_ids"
              glib:get-property="class-ids"
              version="4.19.3">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="507">Fetches @window's class ids. On X11 this should contain the class and instance
names of the [WM_CLASS property](https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#wm_class_property).
On Wayland, it's likely to be limited to the [application ID](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1#zwlr_foreign_toplevel_handle_v1:event:app_id),
which should correspond to the basename of the application's desktop file.</doc>
        <source-position filename="xfw-window.h" line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="516">
a %NULL-terminated array of strings owned by the #XfwWindow.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="509">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_geometry" c:identifier="xfw_window_get_geometry">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="685">Fetches @window's position and size.</doc>
        <source-position filename="xfw-window.h" line="160"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="691">A #GdkRectangle representing
@window's geometry, which should not be modified or freed.</doc>
          <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="687">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gicon"
              c:identifier="xfw_window_get_gicon"
              glib:get-property="gicon"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="584">Fetches @window's icon as a size-independent #GIcon.  If an icon cannot be
found, a #GIcon representing a fallback icon will be returned.  Whether or
not the returned icon is a fallback icon can be determined using
#xfw_window_icon_is_fallback().</doc>
        <source-position filename="xfw-window.h" line="155"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="593">a #GIcon, owned by @window.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="586">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="xfw_window_get_icon">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="546">Fetches @window's icon.  If @window has no icon, a fallback icon may be
returned.  Whether or not the returned icon is a fallback icon can be
determined using #xfw_window_icon_is_fallback().</doc>
        <source-position filename="xfw-window.h" line="154"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="556">a #GdkPixbuf, owned by @window,
or %NULL if @window has no icon and a fallback cannot be rendered.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="548">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="549">the desired icon size.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="550">the UI scale factor.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_monitors"
              c:identifier="xfw_window_get_monitors"
              glib:get-property="monitors">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="735">Fetches the list of monitors @window is displayed on, if any.</doc>
        <source-position filename="xfw-window.h" line="163"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="741">A list
of #XfwMonitor instances, or %NULL.  The list and its contents are owned by
@window and should not be modified or freed.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Monitor"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="737">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="xfw_window_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="529">Fetches @window's name/title.</doc>
        <source-position filename="xfw-window.h" line="153"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="535">a window title, or %NULL if there
is no title.  The returned title should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="531">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_screen"
              c:identifier="xfw_window_get_screen"
              glib:get-property="screen">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="702">Fetches the #XfwScreen instance that owns @window.</doc>
        <source-position filename="xfw-window.h" line="161"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="708">A #XfwScreen instance, with a
reference owned by @window.</doc>
          <type name="Screen" c:type="XfwScreen*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="704">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="xfw_window_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="652">Fetches @window's state bitfield.</doc>
        <source-position filename="xfw-window.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="658">a bitfield with zero or more bits from #XfwWindowState set.</doc>
          <type name="WindowState" c:type="XfwWindowState"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="654">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window_type" c:identifier="xfw_window_get_window_type">
        <source-position filename="xfw-window.h" line="157"/>
        <return-value transfer-ownership="none">
          <type name="WindowType" c:type="XfwWindowType"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace"
              c:identifier="xfw_window_get_workspace"
              glib:get-property="workspace">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="717">Fetches @window's workspace, if any.  This may return %NULL if @window is
not on a workspace, or is pinned to all workspaces.</doc>
        <source-position filename="xfw-window.h" line="162"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="724">A #XfwWorkspace instance, with a
reference owned by @window, or %NULL.</doc>
          <type name="Workspace" c:type="XfwWorkspace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="719">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="icon_is_fallback"
              c:identifier="xfw_window_icon_is_fallback"
              version="4.19.1">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="612">Determines if @window does not have an icon, and thus a fallback icon
will be returned from #xfw_window_get_icon() and #xfw_window_get_gicon().</doc>
        <source-position filename="xfw-window.h" line="156"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-window.c"
               line="619">%TRUE or %FALSE, depending on if @window's icon uses a
fallback icon or not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="614">an #XfwWindow.</doc>
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_above" c:identifier="xfw_window_is_above">
        <source-position filename="xfw-window.h" line="192"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_active" c:identifier="xfw_window_is_active">
        <source-position filename="xfw-window.h" line="184"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_below" c:identifier="xfw_window_is_below">
        <source-position filename="xfw-window.h" line="193"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_fullscreen" c:identifier="xfw_window_is_fullscreen">
        <source-position filename="xfw-window.h" line="187"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_in_viewport" c:identifier="xfw_window_is_in_viewport">
        <source-position filename="xfw-window.h" line="197"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_maximized" c:identifier="xfw_window_is_maximized">
        <source-position filename="xfw-window.h" line="186"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_minimized" c:identifier="xfw_window_is_minimized">
        <source-position filename="xfw-window.h" line="185"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_on_workspace" c:identifier="xfw_window_is_on_workspace">
        <source-position filename="xfw-window.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_pinned" c:identifier="xfw_window_is_pinned">
        <source-position filename="xfw-window.h" line="190"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_shaded" c:identifier="xfw_window_is_shaded">
        <source-position filename="xfw-window.h" line="191"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_skip_pager" c:identifier="xfw_window_is_skip_pager">
        <source-position filename="xfw-window.h" line="188"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_skip_tasklist"
              c:identifier="xfw_window_is_skip_tasklist">
        <source-position filename="xfw-window.h" line="189"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_urgent" c:identifier="xfw_window_is_urgent">
        <source-position filename="xfw-window.h" line="194"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_to_workspace"
              c:identifier="xfw_window_move_to_workspace"
              throws="1">
        <source-position filename="xfw-window.h" line="172"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_above" c:identifier="xfw_window_set_above" throws="1">
        <source-position filename="xfw-window.h" line="181"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_above" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_below" c:identifier="xfw_window_set_below" throws="1">
        <source-position filename="xfw-window.h" line="182"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_below" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_button_geometry"
              c:identifier="xfw_window_set_button_geometry"
              throws="1">
        <source-position filename="xfw-window.h" line="171"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="relative_to" transfer-ownership="none">
            <type name="Gdk.Window" c:type="GdkWindow*"/>
          </parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="const GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fullscreen"
              c:identifier="xfw_window_set_fullscreen"
              throws="1">
        <source-position filename="xfw-window.h" line="176"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_fullscreen" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_geometry"
              c:identifier="xfw_window_set_geometry"
              throws="1">
        <source-position filename="xfw-window.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="const GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_maximized"
              c:identifier="xfw_window_set_maximized"
              throws="1">
        <source-position filename="xfw-window.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_maximized" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_minimized"
              c:identifier="xfw_window_set_minimized"
              throws="1">
        <source-position filename="xfw-window.h" line="174"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_minimized" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pinned"
              c:identifier="xfw_window_set_pinned"
              throws="1">
        <source-position filename="xfw-window.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_pinned" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_shaded"
              c:identifier="xfw_window_set_shaded"
              throws="1">
        <source-position filename="xfw-window.h" line="180"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_shaded" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_skip_pager"
              c:identifier="xfw_window_set_skip_pager"
              throws="1">
        <source-position filename="xfw-window.h" line="177"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_skip_pager" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_skip_tasklist"
              c:identifier="xfw_window_set_skip_tasklist"
              throws="1">
        <source-position filename="xfw-window.h" line="178"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
          <parameter name="is_skip_tasklist" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_move"
              c:identifier="xfw_window_start_move"
              throws="1">
        <source-position filename="xfw-window.h" line="168"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="start_resize"
              c:identifier="xfw_window_start_resize"
              throws="1">
        <source-position filename="xfw-window.h" line="169"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="x11_get_xid" c:identifier="xfw_window_x11_get_xid">
        <source-position filename="xfw-x11.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="xlib.Window" c:type="Window"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="XfwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="application"
                transfer-ownership="none"
                getter="get_application">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="394">The #XfwApplication that owns this window.</doc>
        <type name="Application"/>
      </property>
      <property name="capabilities"
                transfer-ownership="none"
                getter="get_capabilities"
                default-value="XFW_WINDOW_CAPABILITIES_NONE">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="354">The window's capabilities bitfield.</doc>
        <type name="WindowCapabilities"/>
      </property>
      <property name="class-ids"
                version="4.19.3"
                transfer-ownership="none"
                getter="get_class_ids">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="298">The window's class ids.</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="gicon" transfer-ownership="none" getter="get_gicon">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="407">The #GIcon that represents this window.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="monitors"
                transfer-ownership="none"
                getter="get_monitors">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="382">The list of #XfwMonitor&lt;!-- --&gt;s (if any) that the window is displayed on.</doc>
        <type name="GLib.List" c:type="gpointer">
          <type name="Monitor"/>
        </type>
      </property>
      <property name="name" transfer-ownership="none" getter="get_name">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="313">The window's name or title.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="screen"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_screen">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="285">The #XfwScreen instances that owns this window.</doc>
        <type name="Screen"/>
      </property>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="XFW_WINDOW_STATE_NONE">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="340">The window's state bitfield.</doc>
        <type name="WindowState"/>
      </property>
      <property name="type"
                transfer-ownership="none"
                default-value="XFW_WINDOW_TYPE_NORMAL">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="326">The window's type or function.</doc>
        <type name="WindowType"/>
      </property>
      <property name="workspace"
                transfer-ownership="none"
                getter="get_workspace">
        <type name="Workspace"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="capabilities-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="225">Emitted when @window's capabilities change.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="228">bitfield representing which state bits have changed.</doc>
            <type name="WindowCapabilities"/>
          </parameter>
          <parameter name="new_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="229">the new state bitfield.</doc>
            <type name="WindowCapabilities"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="class-changed" when="last" version="4.19.3">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="147">Emitted when at least one of the @window's class ids changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="closed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="271">Emitted when @window is closed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="geometry-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="243">Emitted when @window's position or size changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="icon-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="177">Emitted when @window's icon changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="name-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="163">Emitted when @window's name/title changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="state-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="207">Emitted when @window's state changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="210">bitfield representing which state bits have changed.</doc>
            <type name="WindowState"/>
          </parameter>
          <parameter name="new_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="211">the new state bitfield.</doc>
            <type name="WindowState"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="type-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="191">Emitted when @window's type changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="old_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-window.c"
                 line="194">the previous window type.</doc>
            <type name="WindowType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-window.c"
             line="257">Emitted when @window is moved to a different worksapce.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <bitfield name="WindowCapabilities"
              glib:type-name="XfwWindowCapabilities"
              glib:get-type="xfw_window_capabilities_get_type"
              c:type="XfwWindowCapabilities">
      <doc xml:space="preserve"
           filename="xfw-window.h"
           line="77">Flags bitfield that describes actions that can be taken on the window.</doc>
      <member name="none"
              value="0"
              c:identifier="XFW_WINDOW_CAPABILITIES_NONE"
              glib:nick="none"
              glib:name="XFW_WINDOW_CAPABILITIES_NONE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="79">window has no capabilities.</doc>
      </member>
      <member name="can_minimize"
              value="1"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_MINIMIZE"
              glib:nick="can-minimize"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_MINIMIZE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="80">window can be minimized/hidden.</doc>
      </member>
      <member name="can_unminimize"
              value="2"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNMINIMIZE"
              glib:nick="can-unminimize"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNMINIMIZE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="81">window can be unminimized/unhidden.</doc>
      </member>
      <member name="can_maximize"
              value="4"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_MAXIMIZE"
              glib:nick="can-maximize"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_MAXIMIZE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="82">window can be maximized.</doc>
      </member>
      <member name="can_unmaximize"
              value="8"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNMAXIMIZE"
              glib:nick="can-unmaximize"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNMAXIMIZE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="83">window can be unmaximized/restored.</doc>
      </member>
      <member name="can_fullscreen"
              value="16"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_FULLSCREEN"
              glib:nick="can-fullscreen"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_FULLSCREEN">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="84">window can be set fullscreen.</doc>
      </member>
      <member name="can_unfullscreen"
              value="32"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNFULLSCREEN"
              glib:nick="can-unfullscreen"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNFULLSCREEN">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="85">window can be unset fullscreen.</doc>
      </member>
      <member name="can_shade"
              value="64"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_SHADE"
              glib:nick="can-shade"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_SHADE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="86">window can be shaded.</doc>
      </member>
      <member name="can_unshade"
              value="128"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNSHADE"
              glib:nick="can-unshade"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNSHADE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="87">window can be unshaded.</doc>
      </member>
      <member name="can_move"
              value="256"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_MOVE"
              glib:nick="can-move"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_MOVE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="88">window can be moved.</doc>
      </member>
      <member name="can_resize"
              value="512"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_RESIZE"
              glib:nick="can-resize"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_RESIZE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="89">window can be resized.</doc>
      </member>
      <member name="can_place_above"
              value="1024"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_PLACE_ABOVE"
              glib:nick="can-place-above"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_PLACE_ABOVE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="90">window can be placed above others.</doc>
      </member>
      <member name="can_unplace_above"
              value="2048"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNPLACE_ABOVE"
              glib:nick="can-unplace-above"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNPLACE_ABOVE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="91">always above window can be
                                            returned to the normal stacking
                                            order.</doc>
      </member>
      <member name="can_place_below"
              value="4096"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_PLACE_BELOW"
              glib:nick="can-place-below"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_PLACE_BELOW">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="94">window can be placed below others.</doc>
      </member>
      <member name="can_unplace_below"
              value="8192"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_UNPLACE_BELOW"
              glib:nick="can-unplace-below"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_UNPLACE_BELOW">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="95">always below window can be
                                            returned to the normal stacking
                                            order.</doc>
      </member>
      <member name="can_change_workspace"
              value="16384"
              c:identifier="XFW_WINDOW_CAPABILITIES_CAN_CHANGE_WORKSPACE"
              glib:nick="can-change-workspace"
              glib:name="XFW_WINDOW_CAPABILITIES_CAN_CHANGE_WORKSPACE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="98">window can be moved to a
                                               different workspace or can be
                                               pinned and unpinned.</doc>
      </member>
    </bitfield>
    <record name="WindowClass"
            c:type="XfwWindowClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Window">
      <source-position filename="xfw-window.h" line="38"/>
    </record>
    <bitfield name="WindowState"
              glib:type-name="XfwWindowState"
              glib:get-type="xfw_window_state_get_type"
              c:type="XfwWindowState">
      <doc xml:space="preserve"
           filename="xfw-window.h"
           line="44">A flags bitfield representing various states the window can hold.</doc>
      <member name="none"
              value="0"
              c:identifier="XFW_WINDOW_STATE_NONE"
              glib:nick="none"
              glib:name="XFW_WINDOW_STATE_NONE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="46">window has no state bits set.</doc>
      </member>
      <member name="active"
              value="1"
              c:identifier="XFW_WINDOW_STATE_ACTIVE"
              glib:nick="active"
              glib:name="XFW_WINDOW_STATE_ACTIVE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="47">window is active (and often has the keyboard
                          focus).</doc>
      </member>
      <member name="minimized"
              value="2"
              c:identifier="XFW_WINDOW_STATE_MINIMIZED"
              glib:nick="minimized"
              glib:name="XFW_WINDOW_STATE_MINIMIZED">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="49">window is minimized/hidden.</doc>
      </member>
      <member name="maximized"
              value="4"
              c:identifier="XFW_WINDOW_STATE_MAXIMIZED"
              glib:nick="maximized"
              glib:name="XFW_WINDOW_STATE_MAXIMIZED">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="50">window is maximized.</doc>
      </member>
      <member name="fullscreen"
              value="8"
              c:identifier="XFW_WINDOW_STATE_FULLSCREEN"
              glib:nick="fullscreen"
              glib:name="XFW_WINDOW_STATE_FULLSCREEN">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="51">window is filling the entire screen.</doc>
      </member>
      <member name="skip_pager"
              value="16"
              c:identifier="XFW_WINDOW_STATE_SKIP_PAGER"
              glib:nick="skip-pager"
              glib:name="XFW_WINDOW_STATE_SKIP_PAGER">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="52">window should not be shown in pagers.</doc>
      </member>
      <member name="skip_tasklist"
              value="32"
              c:identifier="XFW_WINDOW_STATE_SKIP_TASKLIST"
              glib:nick="skip-tasklist"
              glib:name="XFW_WINDOW_STATE_SKIP_TASKLIST">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="53">window should not be shown in task lists.</doc>
      </member>
      <member name="pinned"
              value="64"
              c:identifier="XFW_WINDOW_STATE_PINNED"
              glib:nick="pinned"
              glib:name="XFW_WINDOW_STATE_PINNED">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="54">window is shown on al workspaces.</doc>
      </member>
      <member name="shaded"
              value="128"
              c:identifier="XFW_WINDOW_STATE_SHADED"
              glib:nick="shaded"
              glib:name="XFW_WINDOW_STATE_SHADED">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="55">window is hidden, except for its title bar.</doc>
      </member>
      <member name="above"
              value="256"
              c:identifier="XFW_WINDOW_STATE_ABOVE"
              glib:nick="above"
              glib:name="XFW_WINDOW_STATE_ABOVE">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="56">window is always shown above other windows.</doc>
      </member>
      <member name="below"
              value="512"
              c:identifier="XFW_WINDOW_STATE_BELOW"
              glib:nick="below"
              glib:name="XFW_WINDOW_STATE_BELOW">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="57">window is always shown below other windows.</doc>
      </member>
      <member name="urgent"
              value="1024"
              c:identifier="XFW_WINDOW_STATE_URGENT"
              glib:nick="urgent"
              glib:name="XFW_WINDOW_STATE_URGENT">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="58">window is attempting to get the user's attention.</doc>
      </member>
    </bitfield>
    <enumeration name="WindowType"
                 glib:type-name="XfwWindowType"
                 glib:get-type="xfw_window_type_get_type"
                 c:type="XfwWindowType">
      <doc xml:space="preserve"
           filename="xfw-window.h"
           line="123">Enumeration describing the windows type or function.</doc>
      <member name="normal"
              value="0"
              c:identifier="XFW_WINDOW_TYPE_NORMAL"
              glib:nick="normal"
              glib:name="XFW_WINDOW_TYPE_NORMAL">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="125">window is a regular window.</doc>
      </member>
      <member name="desktop"
              value="1"
              c:identifier="XFW_WINDOW_TYPE_DESKTOP"
              glib:nick="desktop"
              glib:name="XFW_WINDOW_TYPE_DESKTOP">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="126">window is responsible for drawing the desktop.</doc>
      </member>
      <member name="dock"
              value="2"
              c:identifier="XFW_WINDOW_TYPE_DOCK"
              glib:nick="dock"
              glib:name="XFW_WINDOW_TYPE_DOCK">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="127">window is a dock or panel.</doc>
      </member>
      <member name="dialog"
              value="3"
              c:identifier="XFW_WINDOW_TYPE_DIALOG"
              glib:nick="dialog"
              glib:name="XFW_WINDOW_TYPE_DIALOG">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="128">window is a temporary dialog, like an error alert.</doc>
      </member>
      <member name="toolbar"
              value="4"
              c:identifier="XFW_WINDOW_TYPE_TOOLBAR"
              glib:nick="toolbar"
              glib:name="XFW_WINDOW_TYPE_TOOLBAR">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="129">window is a detached toolbar.</doc>
      </member>
      <member name="menu"
              value="5"
              c:identifier="XFW_WINDOW_TYPE_MENU"
              glib:nick="menu"
              glib:name="XFW_WINDOW_TYPE_MENU">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="130">window is a popup menu.</doc>
      </member>
      <member name="utility"
              value="6"
              c:identifier="XFW_WINDOW_TYPE_UTILITY"
              glib:nick="utility"
              glib:name="XFW_WINDOW_TYPE_UTILITY">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="131">window is a utility menu, like a tool picker or
                          color palette.</doc>
      </member>
      <member name="splashscreen"
              value="7"
              c:identifier="XFW_WINDOW_TYPE_SPLASHSCREEN"
              glib:nick="splashscreen"
              glib:name="XFW_WINDOW_TYPE_SPLASHSCREEN">
        <doc xml:space="preserve"
             filename="xfw-window.h"
             line="133">window is an application splash screen.</doc>
      </member>
    </enumeration>
    <enumeration name="Windowing" c:type="XfwWindowing">
      <doc xml:space="preserve"
           filename="xfw-util.h"
           line="53">Represents the windowing environment that is currently running.  Note that
for an application running on XWayland, this will return #XFW_WINDOWING_X11.</doc>
      <source-position filename="xfw-util.h" line="68"/>
      <member name="unknown" value="0" c:identifier="XFW_WINDOWING_UNKNOWN">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="55">the application is running under an unknown
                        or unsupported windowing system.</doc>
      </member>
      <member name="x11" value="1" c:identifier="XFW_WINDOWING_X11">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="57">the application is running under an X11 server.</doc>
      </member>
      <member name="wayland" value="2" c:identifier="XFW_WINDOWING_WAYLAND">
        <doc xml:space="preserve"
             filename="xfw-util.h"
             line="58">the application is running under a Wayland
                        comopositor.</doc>
      </member>
    </enumeration>
    <interface name="Workspace"
               c:symbol-prefix="workspace"
               c:type="XfwWorkspace"
               glib:type-name="XfwWorkspace"
               glib:get-type="xfw_workspace_get_type"
               glib:type-struct="WorkspaceIface">
      <source-position filename="xfw-workspace.h" line="41"/>
      <method name="activate" c:identifier="xfw_workspace_activate" throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="438">Attempts to set @workspace as the active workspace in its group.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="448">%TRUE if workspace activation succeeded, %FALSE otherwise.  If
%FALSE, and @error is non-%NULL, an error will be returned that must be
freed using #g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="440">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="assign_to_workspace_group"
              c:identifier="xfw_workspace_assign_to_workspace_group"
              throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="482">Attempts to assign @workspace to @group.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="493">%TRUE if workspace assignment succeeded, %FALSE otherwise.
If %FALSE, and @error is non-%NULL, an error will be returned that must be
freed using g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="484">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="485">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="xfw_workspace_get_capabilities"
              glib:get-property="capabilities">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="285">Fetches this workspace's capabilities bitfield.

The bitfield describes what operations are available on this workspace.</doc>
        <source-position filename="xfw-workspace.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="293">a #XfwWorkspaceCapabilities bitfield.</doc>
          <type name="WorkspaceCapabilities"
                c:type="XfwWorkspaceCapabilities"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="287">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_geometry"
              c:identifier="xfw_workspace_get_geometry"
              glib:get-property="geometry">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="418">Fetches the position and size of the workspace in screen coordinates.

The values in the returned #GdkRectangle are owned by @workspace and should
not be modified.</doc>
        <source-position filename="xfw-workspace.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="427">a #GdkRectangle, owned by
@workspace.</doc>
          <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="420">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="xfw_workspace_get_id"
              glib:get-property="id">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="251">Fetches this workspace's opaque ID.</doc>
        <source-position filename="xfw-workspace.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="257">A UTF-8 formatted string,
owned by @workspace.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="253">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_column"
              c:identifier="xfw_workspace_get_layout_column"
              glib:get-property="layout-column">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="379">Fetches the column this workspace belongs to in the workspace's group.

This information can be used to lay out workspaces in a grid in a pager
UI, for example.</doc>
        <source-position filename="xfw-workspace.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="388">a non-negative, 0-indexed integer.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="381">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_row"
              c:identifier="xfw_workspace_get_layout_row"
              glib:get-property="layout-row">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="360">Fetches the row this workspace belongs to in the workspace's group.

This information can be used to lay out workspaces in a grid in a pager
UI, for example.</doc>
        <source-position filename="xfw-workspace.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="369">a non-negative, 0-indexed integer.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="362">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="xfw_workspace_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="268">Fetches this workspace's human-readable name.</doc>
        <source-position filename="xfw-workspace.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="274">A UTF-8 formatted string,
owned by @workspace.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="270">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_neighbor" c:identifier="xfw_workspace_get_neighbor">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="398">Fetches the workspace that resides in @direction from the @workspace, if
any.  If workspace is on the edge of the layout, and @direction points off
the edge of the layout, will return %NULL.</doc>
        <source-position filename="xfw-workspace.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="407">a #XfwWorkspace, owned by
the parent @group, or %NULL if no workspace exists in @direction.</doc>
          <type name="Workspace" c:type="XfwWorkspace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="400">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="401">an #XfwDirection.</doc>
            <type name="Direction" c:type="XfwDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_number"
              c:identifier="xfw_workspace_get_number"
              glib:get-property="number">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="319">Fetches the ordinal number of this workspace.

The number can be used to order workspaces in a UI representation.

On X11, this number should be stable across runs of your application.

On Wayland, this number depends on the order in which the compositor
advertises the workspaces.  This order may be stable, but may not be.</doc>
        <source-position filename="xfw-workspace.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="332">a non-negative, 0-indexed integer.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="321">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="xfw_workspace_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="303">Fetches this workspace's state bitfield.</doc>
        <source-position filename="xfw-workspace.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="309">a #XfwWorkspaceState bitfield.</doc>
          <type name="WorkspaceState" c:type="XfwWorkspaceState"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="305">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace_group"
              c:identifier="xfw_workspace_get_workspace_group">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="342">Fetches the group this workspace belongs to, if any.</doc>
        <source-position filename="xfw-workspace.h" line="90"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="348">a #XfwWorkspaceGroup
instance, owned by @workspace, or %NULL if the workspace is not a member of
any groups.</doc>
          <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="344">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="xfw_workspace_remove" throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="460">Attempts to remove @workspace from its group.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace.c"
               line="470">%TRUE if workspace removal succeeded, %FALSE otherwise.  If
%FALSE, and @error is non-%NULL, an error will be returned that must be
freed using #g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="462">an #XfwWorkspace.</doc>
            <type name="Workspace" c:type="XfwWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="capabilities"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_capabilities"
                default-value="XFW_WORKSPACE_CAPABILITIES_NONE">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="173">The #XfwWorkspaceCapabilities bitfield for this workspace.</doc>
        <type name="WorkspaceCapabilities"/>
      </property>
      <property name="geometry"
                version="4.20.6"
                transfer-ownership="none"
                getter="get_geometry">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="235">The position and size of the workspace on the desktop, in screen
coordinates.</doc>
        <type name="Gdk.Rectangle"/>
      </property>
      <property name="group" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="137">The #XfwWorkspaceGroup that this workspace is a member of, if any.</doc>
        <type name="WorkspaceGroup"/>
      </property>
      <property name="id" transfer-ownership="none" getter="get_id">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="149">The opaque ID of this workspace.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="layout-column"
                transfer-ownership="none"
                getter="get_layout_column"
                default-value="-1">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="223">The y-coordinate of the workspace on a 2D grid.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="layout-row"
                transfer-ownership="none"
                getter="get_layout_row"
                default-value="-1">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="211">The x-coordinate of the workspace on a 2D grid.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_name">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="161">The human-readable name of this workspace.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="number"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_number"
                default-value="0">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="199">The ordinal number of this workspace.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="state"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_state"
                default-value="XFW_WORKSPACE_STATE_NONE">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="186">The #XfwWorkspaceState bitfield for this workspace.</doc>
        <type name="WorkspaceState"/>
      </property>
      <glib:signal name="capabilities-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="85">Emitted when @workspace's capabilities change.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="88">a bitfield representing the capabilities that have changed.</doc>
            <type name="WorkspaceCapabilities"/>
          </parameter>
          <parameter name="new_capabilities" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="89">a bitfield of the new capabilities.</doc>
            <type name="WorkspaceCapabilities"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="group-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="121">Emitted when @workspace is assigned to an #XfwWorkspaceGroup.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="previous_group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="124">the group @workspace was previously in, or %NULL.</doc>
            <type name="WorkspaceGroup"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="name-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="71">Emitted when @workspace's name changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="state-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace.c"
             line="103">Emitted when @workspace's state changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="106">a bitfield representing the state bits that have changed.</doc>
            <type name="WorkspaceState"/>
          </parameter>
          <parameter name="new_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace.c"
                 line="107">a bitfield of the new state.</doc>
            <type name="WorkspaceState"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <bitfield name="WorkspaceCapabilities"
              glib:type-name="XfwWorkspaceCapabilities"
              glib:get-type="xfw_workspace_capabilities_get_type"
              c:type="XfwWorkspaceCapabilities">
      <doc xml:space="preserve"
           filename="xfw-workspace.h"
           line="43">Flags enum representing a bitfield of actions that can be performed on this
workspace.</doc>
      <member name="none"
              value="0"
              c:identifier="XFW_WORKSPACE_CAPABILITIES_NONE"
              glib:nick="none"
              glib:name="XFW_WORKSPACE_CAPABILITIES_NONE">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="45">workspace has no capabilities.</doc>
      </member>
      <member name="activate"
              value="1"
              c:identifier="XFW_WORKSPACE_CAPABILITIES_ACTIVATE"
              glib:nick="activate"
              glib:name="XFW_WORKSPACE_CAPABILITIES_ACTIVATE">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="46">workspace can be activated.</doc>
      </member>
      <member name="remove"
              value="4"
              c:identifier="XFW_WORKSPACE_CAPABILITIES_REMOVE"
              glib:nick="remove"
              glib:name="XFW_WORKSPACE_CAPABILITIES_REMOVE">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="48">workspace can be removed.</doc>
      </member>
    </bitfield>
    <interface name="WorkspaceGroup"
               c:symbol-prefix="workspace_group"
               c:type="XfwWorkspaceGroup"
               glib:type-name="XfwWorkspaceGroup"
               glib:get-type="xfw_workspace_group_get_type"
               glib:type-struct="WorkspaceGroupIface">
      <source-position filename="xfw-workspace-group.h" line="40"/>
      <method name="create_workspace"
              c:identifier="xfw_workspace_group_create_workspace"
              throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="353">Attempts to create a new workspace on @group.  Typically, the new workspace
will be appended to the existing list of workspaces.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace-group.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="365">%TRUE if workspace creation succeeded, %FALSE otherwise.  If
%FALSE, and @error is non-%NULL, an error will be returned that must be
freed using #g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="355">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="356">a name for the new workspace.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_workspace"
              c:identifier="xfw_workspace_group_get_active_workspace"
              glib:get-property="active-workspace">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="301">Gets the active workspace on @group, if there is one.</doc>
        <source-position filename="xfw-workspace-group.h" line="68"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="307">an #XfwWorkspace, or %NULL
if there is no active workspace.</doc>
          <type name="Workspace" c:type="XfwWorkspace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="303">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="xfw_workspace_group_get_capabilities">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="251">Returns a bitfield describing operations allowed on this @group.</doc>
        <source-position filename="xfw-workspace-group.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="257">an #XfwWorkspaceGroupCapabilities bitfield.</doc>
          <type name="WorkspaceGroupCapabilities"
                c:type="XfwWorkspaceGroupCapabilities"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="253">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_monitors"
              c:identifier="xfw_workspace_group_get_monitors"
              glib:get-property="monitors">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="318">Lists the physical monitors that this workspace group displays on.</doc>
        <source-position filename="xfw-workspace-group.h" line="69"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="324">
A list of #XfwMonitor, or %NULL if @group is not displayed on any
monitors.  The list and its contents are owned by @group.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Monitor"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="320">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace_count"
              c:identifier="xfw_workspace_group_get_workspace_count">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="267">Fetches the number of workspaces in @group.</doc>
        <source-position filename="xfw-workspace-group.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="273">an unsigned integer describing the number of workspaces.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="269">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace_manager"
              c:identifier="xfw_workspace_group_get_workspace_manager"
              glib:get-property="workspace-manager">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="336">Fetches the #XfwWorkspaceManager instance that owns @group.</doc>
        <source-position filename="xfw-workspace-group.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="342">a #XfwWorkspaceManager,
owned by @group.</doc>
          <type name="WorkspaceManager" c:type="XfwWorkspaceManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="338">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_workspaces"
              c:identifier="xfw_workspace_group_list_workspaces">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="283">Lists the workspaces in @group.</doc>
        <source-position filename="xfw-workspace-group.h" line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="289">
the list of #XfwWorkspace in @group, or %NULL if there are no workspaces.
The list and its contents are owned by @group.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Workspace"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="285">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_viewport"
              c:identifier="xfw_workspace_group_move_viewport"
              throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="377">Moves the workspace group to a new location, and possibly a new monitor.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace-group.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="389">%TRUE if moving the workspace group succeeded, %FALSE
otherwise.  If %FALSE, and @error is non-%NULL, an error will be returned
that must be freed using #g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="379">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="380">a coordinate in the horizontal direction.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="381">a coordinate in the vertical direction.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layout"
              c:identifier="xfw_workspace_group_set_layout"
              throws="1">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="401">Sets the layout of @group to @rows by @columns.

Note that this will not change the number of workspaces if the new layout
implies a larger number of workspaces than currently exists.

On failure, @error (if provided) will be set to a description of the error
that occurred.</doc>
        <source-position filename="xfw-workspace-group.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-workspace-group.c"
               line="416">%TRUE if changing the layout of @group succeede, %FALSE
otherwise.  If %FALSE, and @error is non-%NULL, an error will be returned
that must be freed using #g_error_free().</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="403">an #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup" c:type="XfwWorkspaceGroup*"/>
          </instance-parameter>
          <parameter name="rows" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="404">the new numbers of rows.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="columns" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="405">the new number of columns.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-workspace"
                transfer-ownership="none"
                getter="get_active_workspace">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="227">The active #XfwWorkspace on this #XfwWorkspaceGroup, or %NULL.</doc>
        <type name="Workspace"/>
      </property>
      <property name="monitors"
                transfer-ownership="none"
                getter="get_monitors">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="239">The list of #XfwMonitor this #XfwWorkspaceGroup is displayed on.</doc>
        <type name="GLib.List" c:type="gpointer">
          <type name="Monitor"/>
        </type>
      </property>
      <property name="screen"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="192">The #XfwScreen that owns this #XfwWorkspaceGroup.</doc>
        <type name="Screen"/>
      </property>
      <property name="workspace-manager"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_workspace_manager">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="204">The #XfwWorkspaceManager instance that manages this #XfwWorkspaceGroup.</doc>
        <type name="WorkspaceManager"/>
      </property>
      <property name="workspaces" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="216">The list of #XfwWorkspace in this #XfwWorkspaceGroup.</doc>
        <type name="GLib.List" c:type="gpointer">
          <type name="Workspace"/>
        </type>
      </property>
      <glib:signal name="active-workspace-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="83">Emitted when the active workspace of @group changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="previously_active_workspace"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="86">the previously active
                                          #XfwWorkspace, or %NULL.</doc>
            <type name="Workspace"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="capabilities-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="65">Emitted when capabilities have changed on @group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="68">a bitfield representing the capabilities that have changed.</doc>
            <type name="WorkspaceGroupCapabilities"/>
          </parameter>
          <parameter name="new_capabilities" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="69">a bitfield of the new capabilities.</doc>
            <type name="WorkspaceGroupCapabilities"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitor-added" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="100">Emitted when @group is added to a new monitor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="103">a #XfwMonitor.</doc>
            <type name="Monitor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitor-removed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="116">Emitted when @group is removed from a monitor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="119">a #XfwMonitor.</doc>
            <type name="Monitor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="monitors-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="132">Emitted when @group moves to a new set of monitors.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="viewports-changed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="178">Emitted when @group's viewport coordinates have changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="workspace-added" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="146">Emitted when @workspace joins @group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="149">the #XfwWorkspace added to the group.</doc>
            <type name="Workspace"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-removed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.c"
             line="162">Emitted when @workspace leaves @group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-group.c"
                 line="165">the #XfwWorkspace removed from the group.</doc>
            <type name="Workspace"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <bitfield name="WorkspaceGroupCapabilities"
              glib:type-name="XfwWorkspaceGroupCapabilities"
              glib:get-type="xfw_workspace_group_capabilities_get_type"
              c:type="XfwWorkspaceGroupCapabilities">
      <doc xml:space="preserve"
           filename="xfw-workspace-group.h"
           line="42">Flags enum representing a bitfield of actions that can be performed on this
workspace group.</doc>
      <member name="none"
              value="0"
              c:identifier="XFW_WORKSPACE_GROUP_CAPABILITIES_NONE"
              glib:nick="none"
              glib:name="XFW_WORKSPACE_GROUP_CAPABILITIES_NONE">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.h"
             line="44">group has no capabilities.</doc>
      </member>
      <member name="create_workspace"
              value="1"
              c:identifier="XFW_WORKSPACE_GROUP_CAPABILITIES_CREATE_WORKSPACE"
              glib:nick="create-workspace"
              glib:name="XFW_WORKSPACE_GROUP_CAPABILITIES_CREATE_WORKSPACE">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.h"
             line="45">new workspaces can be
                                                    created in this group.</doc>
      </member>
      <member name="move_viewport"
              value="2"
              c:identifier="XFW_WORKSPACE_GROUP_CAPABILITIES_MOVE_VIEWPORT"
              glib:nick="move-viewport"
              glib:name="XFW_WORKSPACE_GROUP_CAPABILITIES_MOVE_VIEWPORT">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.h"
             line="47">the viewport coordinates
                                                 for this group can be
                                                 changed.</doc>
      </member>
      <member name="set_layout"
              value="4"
              c:identifier="XFW_WORKSPACE_GROUP_CAPABILITIES_SET_LAYOUT"
              glib:nick="set-layout"
              glib:name="XFW_WORKSPACE_GROUP_CAPABILITIES_SET_LAYOUT">
        <doc xml:space="preserve"
             filename="xfw-workspace-group.h"
             line="50">the number of rows and columns
                                              for this group can be changed.</doc>
      </member>
    </bitfield>
    <record name="WorkspaceGroupIface"
            c:type="XfwWorkspaceGroupIface"
            glib:is-gtype-struct-for="WorkspaceGroup">
      <source-position filename="xfw-workspace-group.h" line="40"/>
    </record>
    <record name="WorkspaceGroupInterface"
            c:type="XfwWorkspaceGroupInterface"
            disguised="1"
            opaque="1">
      <source-position filename="xfw-workspace-group.h" line="36"/>
    </record>
    <record name="WorkspaceIface"
            c:type="XfwWorkspaceIface"
            glib:is-gtype-struct-for="Workspace">
      <source-position filename="xfw-workspace.h" line="41"/>
    </record>
    <record name="WorkspaceInterface"
            c:type="XfwWorkspaceInterface"
            disguised="1"
            opaque="1">
      <source-position filename="xfw-workspace.h" line="36"/>
    </record>
    <interface name="WorkspaceManager"
               c:symbol-prefix="workspace_manager"
               c:type="XfwWorkspaceManager"
               glib:type-name="XfwWorkspaceManager"
               glib:get-type="xfw_workspace_manager_get_type"
               glib:type-struct="WorkspaceManagerIface">
      <source-position filename="xfw-workspace-manager.h" line="35"/>
      <method name="list_workspace_groups"
              c:identifier="xfw_workspace_manager_list_workspace_groups">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="126">Lists all workspace groups known to the workspace manager.</doc>
        <source-position filename="xfw-workspace-manager.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace-manager.c"
               line="132">
the list of #XfwWorkspaceGroup managed by @manager, or %NULL if there are
no workspace groups.  The list and its contents are owned by @manager.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="WorkspaceGroup"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="128">an #XfwWorkspaceManager.</doc>
            <type name="WorkspaceManager" c:type="XfwWorkspaceManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_workspaces"
              c:identifier="xfw_workspace_manager_list_workspaces">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="144">List all workspaces known to the workspace manager.</doc>
        <source-position filename="xfw-workspace-manager.h" line="38"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="xfw-workspace-manager.c"
               line="150">
the list of #XfwWorkspace managed by @manager, or %NULL if there are
no workspaces.  The list and its contents are owned by @manager.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Workspace"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="146">an #XfwWorkspaceManager.</doc>
            <type name="WorkspaceManager" c:type="XfwWorkspaceManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="screen"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="113">The #XfwScreen instance that owns this workspace manager.</doc>
        <type name="Screen"/>
      </property>
      <glib:signal name="workspace-created" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="81">Emitted when a new workspace is created.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="84">the newly-created workspace.</doc>
            <type name="Workspace"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-destroyed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="97">Emitted when a workspace is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="100">the workspace that was destroyed.</doc>
            <type name="Workspace"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-group-created" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="48">Emitted when a new workspace group is craeted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="51">the newly-created #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-group-destroyed" when="last">
        <doc xml:space="preserve"
             filename="xfw-workspace-manager.c"
             line="64">Emitted when a workspace group is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="xfw-workspace-manager.c"
                 line="67">the recently-destroyed #XfwWorkspaceGroup.</doc>
            <type name="WorkspaceGroup"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="WorkspaceManagerIface"
            c:type="XfwWorkspaceManagerIface"
            glib:is-gtype-struct-for="WorkspaceManager">
      <source-position filename="xfw-workspace-manager.h" line="35"/>
    </record>
    <record name="WorkspaceManagerInterface"
            c:type="XfwWorkspaceManagerInterface"
            disguised="1"
            opaque="1">
      <source-position filename="xfw-workspace-manager.h" line="33"/>
    </record>
    <bitfield name="WorkspaceState"
              glib:type-name="XfwWorkspaceState"
              glib:get-type="xfw_workspace_state_get_type"
              c:type="XfwWorkspaceState">
      <doc xml:space="preserve"
           filename="xfw-workspace.h"
           line="62">Flags enum representing a bitfield that describes the workspace's state.</doc>
      <member name="none"
              value="0"
              c:identifier="XFW_WORKSPACE_STATE_NONE"
              glib:nick="none"
              glib:name="XFW_WORKSPACE_STATE_NONE">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="64">workspace has no state information.</doc>
      </member>
      <member name="active"
              value="1"
              c:identifier="XFW_WORKSPACE_STATE_ACTIVE"
              glib:nick="active"
              glib:name="XFW_WORKSPACE_STATE_ACTIVE">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="65">workspace is the active workspace in its group.</doc>
      </member>
      <member name="urgent"
              value="2"
              c:identifier="XFW_WORKSPACE_STATE_URGENT"
              glib:nick="urgent"
              glib:name="XFW_WORKSPACE_STATE_URGENT">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="66">workspace contains a window that is requesting
                             attention.</doc>
      </member>
      <member name="hidden"
              value="4"
              c:identifier="XFW_WORKSPACE_STATE_HIDDEN"
              glib:nick="hidden"
              glib:name="XFW_WORKSPACE_STATE_HIDDEN">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="68">workspace should be hidden from pagers or other
                             UI elements.</doc>
      </member>
      <member name="virtual"
              value="8"
              c:identifier="XFW_WORKSPACE_STATE_VIRTUAL"
              glib:nick="virtual"
              glib:name="XFW_WORKSPACE_STATE_VIRTUAL">
        <doc xml:space="preserve"
             filename="xfw-workspace.h"
             line="70">workspace has a valid, visible viewport.</doc>
      </member>
    </bitfield>
    <function name="check_version"
              c:identifier="libxfce4windowing_check_version">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.c"
           line="61">Checks that the libxfce4windowing library
in use is compatible with the given version. Generally you would pass in
the constants #LIBXFCE4WINDOWING_MAJOR_VERSION, #LIBXFCE4WINDOWING_MINOR_VERSION and
#LIBXFCE4WINDOWING_MICRO_VERSION as the three arguments to this function; that produces
a check that the library in use is compatible with the version of
libxfce4windowing the extension was compiled against.

|[&lt;!-- language="C" --&gt;
const gchar *mismatch;
mismatch = libxfce4windowing_check_version(LIBXFCE4WINDOWING_MAJOR_VERSION,
                                           LIBXFCE4WINDOWING_MINOR_VERSION,
                                           LIBXFCE4WINDOWING_MICRO_VERSION);
if (G_UNLIKELY(mismatch != NULL)) {
  g_error("Version mismatch: %s", mismatch);
}
]|</doc>
      <source-position filename="libxfce4windowing-config.h" line="99"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="libxfce4windowing-config.c"
             line="84">%NULL if the library is compatible
with the given version, or a string describing the version mismatch. The
returned string is owned by the library and must not be freed or modified by
the caller.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="required_major" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.c"
               line="63">the required major version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_minor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.c"
               line="64">the required minor version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_micro" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libxfce4windowing-config.c"
               line="65">the required micro version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_quark" c:identifier="xfw_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <docsection name="libxfce4windowing-config">
      <doc xml:space="preserve"
           filename="libxfce4windowing-config.c"
           line="20">Variables and functions to check the libxfce4windowing version.</doc>
    </docsection>
    <function name="set_client_type"
              c:identifier="xfw_set_client_type"
              version="4.19.3">
      <doc xml:space="preserve"
           filename="xfw-util.c"
           line="86">Sets the type of the application.  This is used when sending various
messages to control the behavior of other windows, to indicate the source of
the control.  In general, #XFW_CLIENT_TYPE_APPLICATION will be interpreted
as automated control from a regular application, and #XFW_CLIENT_TYPE_PAGER
will be interpreted as user-initiated control from a desktop component
application like a pager or dock.

This does nothing on Wayland, but is safe to call under a Wayland session.</doc>
      <source-position filename="xfw-util.h" line="109"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="client_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="xfw-util.c"
               line="88">A #XfwClientType</doc>
          <type name="ClientType" c:type="XfwClientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="windowing_get" c:identifier="xfw_windowing_get">
      <doc xml:space="preserve"
           filename="xfw-util.c"
           line="51">Determines the windowing environment that is currently active.</doc>
      <source-position filename="xfw-util.h" line="107"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="xfw-util.c"
             line="56">A value from the #XfwWindowing enum.</doc>
        <type name="Windowing" c:type="XfwWindowing"/>
      </return-value>
    </function>
    <docsection name="xfw-application">
      <doc xml:space="preserve"
           filename="xfw-application.c"
           line="20">#XfwApplication represents an application in the common or abstract sense,
i.e. it can have several windows belonging to different instances, identified
by their process ID.

Note that #XfwApplication is actually an interface; when obtaining an
instance, an instance of a windowing-environment-specific object that
implements this interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-monitor">
      <doc xml:space="preserve"
           filename="xfw-monitor.c"
           line="20">#XfwMonitor represents a physical monitor connected to the #XfwScreen.

In some virtual environments (e.g. a nested X11 or Wayland session), the
monitor might instead represent an on-screen window that contains the output
of the virtual environment.</doc>
    </docsection>
    <docsection name="xfw-screen">
      <doc xml:space="preserve"
           filename="xfw-screen.c"
           line="20">#XfwScreen represents a logical screen.  On most windowing environments,
this doesn't necessarily correspond to a single monitor, but might span
multiple monitors.  These days, most windowing environments will only
have a single screen, even if (API-wise) more than one can be represented.

The #XfwScreen instance is the main entry point into this library.  You
can obtain an instance using #xfw_screen_get_default().  From there, you can
enumerate toplevel windows, or examine workspace groups and workspaces.

Note that #XfwScreen is actually an interface; when obtaining an instance,
an instance of a windowing-environment-specific object that implements
this interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-seat">
      <doc xml:space="preserve"
           filename="xfw-seat.c"
           line="20">#XfwSeat represents a physical monitor, keyboard, and pointing device attached to @screen.

Mainly it is only needed when activating #XfwWindow instances.</doc>
    </docsection>
    <docsection name="xfw-window">
      <doc xml:space="preserve"
           filename="xfw-window.c"
           line="20">#XfwWindow describes a toplevel window on the screen, and provides
access to the window's state, type, and actions that can be performed
on it.

Other metadata, like the window's title or icon, is also available.

If the window supports it, actions can be taken, like minimizing,
maximizing, pinning, moving between workspaces, or closing the
window.

Note that #XfwWindow is actually an interface; when obtaining an instance,
an instance of a windowing-environment-specific object that implements this
interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-workspace">
      <doc xml:space="preserve"
           filename="xfw-workspace.c"
           line="20">#XfwWorkspace represents a single workspace within a workspace group.  A
workspace is usually a collection of windows that are shown together on the
desktop when that workspace is the active workspace.

An instance of #XfwWorkspace can be used to obtain information about the
workspace, such as its name, position in the group, and capabilities.  The
workspace can also be activated or removed.

Note that #XfwWorkspace is actually an interface; when obtaining an
instance, an instance of a windowing-environment-specific object that
implements this interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-workspace-group">
      <doc xml:space="preserve"
           filename="xfw-workspace-group.c"
           line="20">Workspaces may be arranged in groups, and groups may be present on different
monitors.  The #XfwWorkspaceGroup can create and enumerate workspaces, as
well as provide notifications when workspaces are created and destroyed.

Each workspace group may have an active workspace.

Workspace groups are displayed on a list of zero or more monitors, and
have viewport coordinates.

Note that #XfwWorkspaceGroup is actually an interface; when obtaining an
instance, an instance of a windowing-environment-specific object that
implements this interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-workspace-manager">
      <doc xml:space="preserve"
           filename="xfw-workspace-manager.c"
           line="20">#XfwWorkspaceManager is used to enumerate and perform actions on the
workspace groups present on the parent #XfwScreen.

Note that #XfwWorkspaceManager is actually an interface; when obtaining an
instance, an instance of a windowing-environment-specific object that
implements this interface will be returned.</doc>
    </docsection>
    <docsection name="xfw-x11">
      <doc xml:space="preserve"
           filename="xfw-x11.h"
           line="23">This file includes functionality specific to the X11 windowing system, if
libxfce4windowing does not provide all the functionality an application
needs.</doc>
    </docsection>
  </namespace>
</repository>
