<?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="Ctk" version="3.0"/>
  <include name="GObject" version="2.0"/>
  <package name="ctk+-3.0"/>
  <package name="gdk-pixbuf-2.0"/>
  <package name="gio-2.0"/>
  <package name="glib-2.0"/>
  <package name="gobject-2.0"/>
  <c:include name="libcafe-desktop/cafe-bg-crossfade.h"/>
  <c:include name="libcafe-desktop/cafe-bg.h"/>
  <c:include name="libcafe-desktop/cafe-colorbutton.h"/>
  <c:include name="libcafe-desktop/cafe-colorsel.h"/>
  <c:include name="libcafe-desktop/cafe-colorseldialog.h"/>
  <c:include name="libcafe-desktop/cafe-dconf.h"/>
  <c:include name="libcafe-desktop/cafe-desktop-item.h"/>
  <c:include name="libcafe-desktop/cafe-desktop-thumbnail.h"/>
  <c:include name="libcafe-desktop/cafe-desktop-utils.h"/>
  <c:include name="libcafe-desktop/cafe-desktop.h"/>
  <c:include name="libcafe-desktop/cafe-gsettings.h"/>
  <c:include name="libcafe-desktop/cafe-languages.h"/>
  <c:include name="libcafe-desktop/cafe-rr-config.h"/>
  <c:include name="libcafe-desktop/cafe-rr-labeler.h"/>
  <c:include name="libcafe-desktop/cafe-rr.h"/>
  <doc:format name="unknown"/>
  <namespace name="CafeDesktop"
             version="2.0"
             shared-library="libcafe-desktop-2.so.17"
             c:identifier-prefixes="Cafe"
             c:symbol-prefixes="cafe_">
    <class name="BG"
           c:symbol-prefix="bg"
           c:type="CafeBG"
           parent="GObject.Object"
           glib:type-name="CafeBG"
           glib:get-type="cafe_bg_get_type"
           glib:type-struct="BGClass">
      <source-position filename="cafe-bg.h" line="68"/>
      <constructor name="new" c:identifier="cafe_bg_new">
        <source-position filename="cafe-bg.h" line="86"/>
        <return-value transfer-ownership="full">
          <type name="BG" c:type="CafeBG*"/>
        </return-value>
      </constructor>
      <function name="get_surface_from_root"
                c:identifier="cafe_bg_get_surface_from_root">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="1430">This function queries the _XROOTPMAP_ID property from
the root window associated with @screen to determine
the current root window background surface and returns
a copy of it. If the _XROOTPMAP_ID is not set, then
a black surface is returned.</doc>
        <source-position filename="cafe-bg.h" line="168"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-bg.c"
               line="1440">a #cairo_surface_t if successful or %NULL</doc>
          <type name="cairo.Surface" c:type="cairo_surface_t*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1432">a #CdkScreen</doc>
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_surface_as_root"
                c:identifier="cafe_bg_set_surface_as_root">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="1616">Set the root pixmap, and properties pointing to it. We
do this atomically with a server grab to make sure that
we won't leak the pixmap if somebody else it setting
it at the same time. (This assumes that they follow the
same conventions we do).  @surface should come from a call
to cafe_bg_create_surface().</doc>
        <source-position filename="cafe-bg.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1618">the #CdkScreen to change root background on</doc>
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="surface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1619">the #cairo_surface_t to set root background from.
  Must be an xlib surface backing a pixmap.</doc>
            <type name="cairo.Surface" c:type="cairo_surface_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_surface_as_root_with_crossfade"
                c:identifier="cafe_bg_set_surface_as_root_with_crossfade">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="1652">Set the root pixmap, and properties pointing to it.
This function differs from cafe_bg_set_surface_as_root()
in that it adds a subtle crossfade animation from the
current root pixmap to the new one.</doc>
        <source-position filename="cafe-bg.h" line="166"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-bg.c"
               line="1662">a #CafeBGCrossfade object</doc>
          <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1654">the #CdkScreen to change root background on</doc>
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="surface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1655">the cairo xlib surface to set root background from</doc>
            <type name="cairo.Surface" c:type="cairo_surface_t*"/>
          </parameter>
        </parameters>
      </function>
      <method name="changes_with_time"
              c:identifier="cafe_bg_changes_with_time">
        <source-position filename="cafe-bg.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_frame_thumbnail"
              c:identifier="cafe_bg_create_frame_thumbnail">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="3212">Creates a thumbnail for a certain frame, where 'frame' is somewhat
vaguely defined as 'suitable point to show while single-stepping
through the slideshow'.</doc>
        <source-position filename="cafe-bg.h" line="153"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-bg.c"
               line="3219">the newly created thumbnail or
or NULL if frame_num is out of bounds.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="factory" transfer-ownership="none">
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="dest_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="dest_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="frame_num" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_surface" c:identifier="cafe_bg_create_surface">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="1131">Create a surface that can be set as background for @window. If @root is
TRUE, the surface created will be created by a temporary X server connection
so that if someone calls XKillClient on it, it won't affect the application
who created it.</doc>
        <source-position filename="cafe-bg.h" line="124"/>
        <return-value transfer-ownership="full">
          <type name="cairo.Surface" c:type="cairo_surface_t*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1133">CafeBG</doc>
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Cdk.Window" c:type="CdkWindow*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="root" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_surface_scale"
              c:identifier="cafe_bg_create_surface_scale">
        <doc xml:space="preserve"
             filename="cafe-bg.c"
             line="1159">Create a scaled surface that can be set as background for @window. If @root is
TRUE, the surface created will be created by a temporary X server connection
so that if someone calls XKillClient on it, it won't affect the application
who created it.</doc>
        <source-position filename="cafe-bg.h" line="130"/>
        <return-value transfer-ownership="full">
          <type name="cairo.Surface" c:type="cairo_surface_t*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg.c"
                 line="1161">CafeBG</doc>
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Cdk.Window" c:type="CdkWindow*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="root" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_thumbnail" c:identifier="cafe_bg_create_thumbnail">
        <source-position filename="cafe-bg.h" line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-bg.c"
               line="1399">a #GdkPixbuf showing the background as a thumbnail</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="factory" transfer-ownership="none">
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="dest_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="dest_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw" c:identifier="cafe_bg_draw">
        <source-position filename="cafe-bg.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="is_root" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_color" c:identifier="cafe_bg_get_color">
        <source-position filename="cafe-bg.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="BGColorType" c:type="CafeBGColorType*"/>
          </parameter>
          <parameter name="primary" transfer-ownership="none">
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
          <parameter name="secondary" transfer-ownership="none">
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_draw_background"
              c:identifier="cafe_bg_get_draw_background">
        <source-position filename="cafe-bg.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_filename" c:identifier="cafe_bg_get_filename">
        <source-position filename="cafe-bg.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image_size" c:identifier="cafe_bg_get_image_size">
        <source-position filename="cafe-bg.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="factory" transfer-ownership="none">
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </parameter>
          <parameter name="best_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="best_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_placement" c:identifier="cafe_bg_get_placement">
        <source-position filename="cafe-bg.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="BGPlacement" c:type="CafeBGPlacement"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_multiple_sizes"
              c:identifier="cafe_bg_has_multiple_sizes">
        <source-position filename="cafe-bg.h" line="151"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_dark" c:identifier="cafe_bg_is_dark">
        <source-position filename="cafe-bg.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="dest_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="dest_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_gsettings"
              c:identifier="cafe_bg_load_from_gsettings">
        <source-position filename="cafe-bg.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_preferences"
              c:identifier="cafe_bg_load_from_preferences">
        <source-position filename="cafe-bg.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_from_system_gsettings"
              c:identifier="cafe_bg_load_from_system_gsettings">
        <source-position filename="cafe-bg.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="reset_apply" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_system_preferences"
              c:identifier="cafe_bg_load_from_system_preferences">
        <source-position filename="cafe-bg.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_to_gsettings"
              c:identifier="cafe_bg_save_to_gsettings">
        <source-position filename="cafe-bg.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_to_preferences"
              c:identifier="cafe_bg_save_to_preferences">
        <source-position filename="cafe-bg.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_color" c:identifier="cafe_bg_set_color">
        <source-position filename="cafe-bg.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="BGColorType" c:type="CafeBGColorType"/>
          </parameter>
          <parameter name="primary" transfer-ownership="none">
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
          <parameter name="secondary" transfer-ownership="none">
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_draw_background"
              c:identifier="cafe_bg_set_draw_background">
        <source-position filename="cafe-bg.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="draw_background" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_filename" c:identifier="cafe_bg_set_filename">
        <source-position filename="cafe-bg.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_placement" c:identifier="cafe_bg_set_placement">
        <source-position filename="cafe-bg.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bg" transfer-ownership="none">
            <type name="BG" c:type="CafeBG*"/>
          </instance-parameter>
          <parameter name="placement" transfer-ownership="none">
            <type name="BGPlacement" c:type="CafeBGPlacement"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="transitioned" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BGClass"
            c:type="CafeBGClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="BG">
      <source-position filename="cafe-bg.h" line="68"/>
    </record>
    <enumeration name="BGColorType" c:type="CafeBGColorType">
      <source-position filename="cafe-bg.h" line="74"/>
      <member name="solid" value="0" c:identifier="CAFE_BG_COLOR_SOLID">
      </member>
      <member name="h_gradient"
              value="1"
              c:identifier="CAFE_BG_COLOR_H_GRADIENT">
      </member>
      <member name="v_gradient"
              value="2"
              c:identifier="CAFE_BG_COLOR_V_GRADIENT">
      </member>
    </enumeration>
    <class name="BGCrossfade"
           c:symbol-prefix="bg_crossfade"
           c:type="CafeBGCrossfade"
           parent="GObject.Object"
           glib:type-name="CafeBGCrossfade"
           glib:get-type="cafe_bg_crossfade_get_type"
           glib:type-struct="BGCrossfadeClass">
      <source-position filename="cafe-bg-crossfade.h" line="61"/>
      <constructor name="new" c:identifier="cafe_bg_crossfade_new">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="216">Creates a new object to manage crossfading a
window background between two #cairo_surface_ts.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-bg-crossfade.c"
               line="224">the new #CafeBGCrossfade</doc>
          <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="218">The width of the crossfading window</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="219">The height of the crossfading window</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="finished">
        <source-position filename="cafe-bg-crossfade.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Cdk.Window" c:type="CdkWindow*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="is_started" c:identifier="cafe_bg_crossfade_is_started">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="712">This function reveals whether or not @fade is currently
running on a window.  See cafe_bg_crossfade_start() for
information on how to initiate a crossfade.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-bg-crossfade.c"
               line="720">%TRUE if fading, or %FALSE if not fading</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="714">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_end_surface"
              c:identifier="cafe_bg_crossfade_set_end_surface">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="340">Before initiating a crossfade with cafe_bg_crossfade_start()
a start and end surface have to be set.  This function sets
the surface shown at the end of the crossfade effect.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-bg-crossfade.c"
               line="349">%TRUE if successful, or %FALSE if the surface
could not be copied.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="342">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
          <parameter name="surface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="343">The cairo surface to fade to</doc>
            <type name="cairo.Surface" c:type="cairo_surface_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_surface"
              c:identifier="cafe_bg_crossfade_set_start_surface">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="299">Before initiating a crossfade with cafe_bg_crossfade_start()
a start and end surface have to be set.  This function sets
the surface shown at the beginning of the crossfade effect.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-bg-crossfade.c"
               line="308">%TRUE if successful, or %FALSE if the surface
could not be copied.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="301">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
          <parameter name="surface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="302">The cairo surface to fade from</doc>
            <type name="cairo.Surface" c:type="cairo_surface_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="cafe_bg_crossfade_start">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="607">This function initiates a quick crossfade between two surfaces on
the background of @window. Before initiating the crossfade both
cafe_bg_crossfade_set_start_surface() and
cafe_bg_crossfade_set_end_surface() need to be called. If animations
are disabled, the crossfade is skipped, and the window background is
set immediately to the end surface.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="609">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="610">The #CdkWindow to draw crossfade on</doc>
            <type name="Cdk.Window" c:type="CdkWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_widget"
              c:identifier="cafe_bg_crossfade_start_widget">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="684">This function initiates a quick crossfade between two surfaces on
the background of @widget. Before initiating the crossfade both
cafe_bg_crossfade_set_start_surface() and
cafe_bg_crossfade_set_end_surface() need to be called. If animations
are disabled, the crossfade is skipped, and the window background is
set immediately to the end surface.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="686">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="687">The #CtkWidget to draw crossfade on</doc>
            <type name="Ctk.Widget" c:type="CtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="stop" c:identifier="cafe_bg_crossfade_stop">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="730">This function stops any in progress crossfades that may be
happening.  It's harmless to call this function if @fade is
already stopped.</doc>
        <source-position filename="cafe-bg-crossfade.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fade" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-bg-crossfade.c"
                 line="732">a #CafeBGCrossfade</doc>
            <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="height"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="174">When a crossfade is running, this is height of the fading
surface.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="width"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="160">When a crossfade is running, this is width of the fading
surface.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BGCrossfadePrivate" c:type="CafeBGCrossfadePrivate*"/>
      </field>
      <glib:signal name="finished" when="last">
        <doc xml:space="preserve"
             filename="cafe-bg-crossfade.c"
             line="187">When a crossfade finishes, @window will have a copy
of the end surface as its background, and this signal will
get emitted.</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="cafe-bg-crossfade.c"
                 line="190">the #CdkWindow the crossfade happend on.</doc>
            <type name="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BGCrossfadeClass"
            c:type="CafeBGCrossfadeClass"
            glib:is-gtype-struct-for="BGCrossfade">
      <source-position filename="cafe-bg-crossfade.h" line="61"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="finished">
        <callback name="finished">
          <source-position filename="cafe-bg-crossfade.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fade" transfer-ownership="none">
              <type name="BGCrossfade" c:type="CafeBGCrossfade*"/>
            </parameter>
            <parameter name="window" transfer-ownership="none">
              <type name="Cdk.Window" c:type="CdkWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="BGCrossfadePrivate"
            c:type="CafeBGCrossfadePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-bg-crossfade.h" line="45"/>
    </record>
    <enumeration name="BGPlacement" c:type="CafeBGPlacement">
      <source-position filename="cafe-bg.h" line="83"/>
      <member name="tiled" value="0" c:identifier="CAFE_BG_PLACEMENT_TILED">
      </member>
      <member name="zoomed" value="1" c:identifier="CAFE_BG_PLACEMENT_ZOOMED">
      </member>
      <member name="centered"
              value="2"
              c:identifier="CAFE_BG_PLACEMENT_CENTERED">
      </member>
      <member name="scaled" value="3" c:identifier="CAFE_BG_PLACEMENT_SCALED">
      </member>
      <member name="fill_screen"
              value="4"
              c:identifier="CAFE_BG_PLACEMENT_FILL_SCREEN">
      </member>
      <member name="spanned"
              value="5"
              c:identifier="CAFE_BG_PLACEMENT_SPANNED">
      </member>
    </enumeration>
    <function-macro name="BG_CLASS"
                    c:identifier="CAFE_BG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BG_CROSSFADE"
                    c:identifier="CAFE_BG_CROSSFADE"
                    introspectable="0">
      <source-position filename="cafe-bg-crossfade.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BG_CROSSFADE_CLASS"
                    c:identifier="CAFE_BG_CROSSFADE_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg-crossfade.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BG_CROSSFADE_GET_CLASS"
                    c:identifier="CAFE_BG_CROSSFADE_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg-crossfade.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BG_GET_CLASS"
                    c:identifier="CAFE_BG_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="BG_KEY_BACKGROUND_FADE"
              value="background-fade"
              c:type="CAFE_BG_KEY_BACKGROUND_FADE">
      <source-position filename="cafe-bg.h" line="58"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_COLOR_TYPE"
              value="color-shading-type"
              c:type="CAFE_BG_KEY_COLOR_TYPE">
      <source-position filename="cafe-bg.h" line="62"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_DRAW_BACKGROUND"
              value="draw-background"
              c:type="CAFE_BG_KEY_DRAW_BACKGROUND">
      <source-position filename="cafe-bg.h" line="52"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_PICTURE_FILENAME"
              value="picture-filename"
              c:type="CAFE_BG_KEY_PICTURE_FILENAME">
      <source-position filename="cafe-bg.h" line="65"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_PICTURE_OPACITY"
              value="picture-opacity"
              c:type="CAFE_BG_KEY_PICTURE_OPACITY">
      <source-position filename="cafe-bg.h" line="64"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_PICTURE_PLACEMENT"
              value="picture-options"
              c:type="CAFE_BG_KEY_PICTURE_PLACEMENT">
      <source-position filename="cafe-bg.h" line="63"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_PRIMARY_COLOR"
              value="primary-color"
              c:type="CAFE_BG_KEY_PRIMARY_COLOR">
      <source-position filename="cafe-bg.h" line="60"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_SECONDARY_COLOR"
              value="secondary-color"
              c:type="CAFE_BG_KEY_SECONDARY_COLOR">
      <source-position filename="cafe-bg.h" line="61"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_KEY_SHOW_DESKTOP"
              value="show-desktop-icons"
              c:type="CAFE_BG_KEY_SHOW_DESKTOP">
      <source-position filename="cafe-bg.h" line="55"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BG_SCHEMA"
              value="org.cafe.background"
              c:type="CAFE_BG_SCHEMA">
      <source-position filename="cafe-bg.h" line="49"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="COLOR_BUTTON"
                    c:identifier="CAFE_COLOR_BUTTON"
                    introspectable="0">
      <source-position filename="cafe-colorbutton.h" line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_BUTTON_CLASS"
                    c:identifier="CAFE_COLOR_BUTTON_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorbutton.h" line="49"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_BUTTON_GET_CLASS"
                    c:identifier="CAFE_COLOR_BUTTON_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorbutton.h" line="52"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION"
                    c:identifier="CAFE_COLOR_SELECTION"
                    introspectable="0">
      <source-position filename="cafe-colorsel.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION_CLASS"
                    c:identifier="CAFE_COLOR_SELECTION_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorsel.h" line="38"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION_DIALOG"
                    c:identifier="CAFE_COLOR_SELECTION_DIALOG"
                    introspectable="0">
      <source-position filename="cafe-colorseldialog.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION_DIALOG_CLASS"
                    c:identifier="CAFE_COLOR_SELECTION_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorseldialog.h" line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION_DIALOG_GET_CLASS"
                    c:identifier="CAFE_COLOR_SELECTION_DIALOG_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorseldialog.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_SELECTION_GET_CLASS"
                    c:identifier="CAFE_COLOR_SELECTION_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorsel.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ColorButton"
           c:symbol-prefix="color_button"
           c:type="CafeColorButton"
           parent="Ctk.Button"
           glib:type-name="CafeColorButton"
           glib:get-type="cafe_color_button_get_type"
           glib:type-struct="ColorButtonClass">
      <source-position filename="cafe-colorbutton.h" line="76"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Ctk.Actionable"/>
      <implements name="Ctk.Activatable"/>
      <implements name="Ctk.Buildable"/>
      <constructor name="new"
                   c:identifier="cafe_color_button_new"
                   version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="482">Creates a new color button. This returns a widget in the form of
a small button containing a swatch representing the current selected
color. When the button is clicked, a color-selection dialog will open,
allowing the user to select a color. The swatch will be updated to reflect
the new color when the user finishes.</doc>
        <source-position filename="cafe-colorbutton.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorbutton.c"
               line="491">a new color button.</doc>
          <type name="Ctk.Widget" c:type="CtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_color"
                   c:identifier="cafe_color_button_new_with_color"
                   version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="501">Creates a new color button.</doc>
        <source-position filename="cafe-colorbutton.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorbutton.c"
               line="507">a new color button.</doc>
          <type name="Ctk.Widget" c:type="CtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="503">A #CdkColor to set the current color with.</doc>
            <type name="Cdk.Color" c:type="const CdkColor*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="color_set">
        <source-position filename="cafe-colorbutton.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cp" transfer-ownership="none">
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_alpha"
              c:identifier="cafe_color_button_get_alpha"
              glib:get-property="alpha"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="730">Returns the current alpha value.</doc>
        <source-position filename="cafe-colorbutton.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorbutton.c"
               line="736">an integer between 0 and 65535.</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="732">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color"
              c:identifier="cafe_color_button_get_color"
              glib:get-property="color"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="689">Sets @color to be the current color in the #CafeColorButton widget.</doc>
        <source-position filename="cafe-colorbutton.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="691">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="692">a #CdkColor to fill in with the current color.</doc>
            <type name="Cdk.Color" c:type="CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rgba"
              c:identifier="cafe_color_button_get_rgba"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="709">Sets @color to be the current color in the #CafeColorButton widget.</doc>
        <source-position filename="cafe-colorbutton.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="711">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="712">a #CdkRGBA to fill in with the current color.</doc>
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="cafe_color_button_get_title"
              glib:get-property="title"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="822">Gets the title of the color selection dialog.</doc>
        <source-position filename="cafe-colorbutton.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorbutton.c"
               line="828">An internal string, do not free the return value</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="824">a #CafeColorButton</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_alpha"
              c:identifier="cafe_color_button_get_use_alpha"
              glib:get-property="use-alpha"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="775">Does the color selection dialog use the alpha channel?</doc>
        <source-position filename="cafe-colorbutton.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorbutton.c"
               line="781">%TRUE if the color sample uses alpha channel, %FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="777">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_alpha"
              c:identifier="cafe_color_button_set_alpha"
              glib:set-property="alpha"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="667">Sets the current opacity to be @alpha.</doc>
        <source-position filename="cafe-colorbutton.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="669">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="670">an integer between 0 and 65535.</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color"
              c:identifier="cafe_color_button_set_color"
              glib:set-property="color"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="616">Sets the current color to be @color.</doc>
        <source-position filename="cafe-colorbutton.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="618">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="619">A #CdkColor to set the current color with.</doc>
            <type name="Cdk.Color" c:type="const CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rgba"
              c:identifier="cafe_color_button_set_rgba"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="641">Sets the current color to be @color.</doc>
        <source-position filename="cafe-colorbutton.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="643">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="644">A #CdkRGBA to set the current color with.</doc>
            <type name="Cdk.RGBA" c:type="const CdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="cafe_color_button_set_title"
              glib:set-property="title"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="794">Sets the title for the color selection dialog.</doc>
        <source-position filename="cafe-colorbutton.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="796">a #CafeColorButton</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="797">String containing new window title.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_alpha"
              c:identifier="cafe_color_button_set_use_alpha"
              glib:set-property="use-alpha"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="748">Sets whether or not the color button should use the alpha channel.</doc>
        <source-position filename="cafe-colorbutton.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="750">a #CafeColorButton.</doc>
            <type name="ColorButton" c:type="CafeColorButton*"/>
          </instance-parameter>
          <parameter name="use_alpha" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorbutton.c"
                 line="751">%TRUE if color button should use alpha channel, %FALSE if not.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="alpha"
                version="1.9.1"
                writable="1"
                transfer-ownership="none"
                setter="set_alpha"
                getter="get_alpha"
                default-value="65535">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="187">The selected opacity value (0 fully transparent, 65535 fully opaque).</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="color"
                version="1.9.1"
                writable="1"
                transfer-ownership="none"
                setter="set_color"
                getter="get_color">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="172">The selected color.</doc>
        <type name="Cdk.Color"/>
      </property>
      <property name="title"
                version="1.9.1"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title"
                default-value="Pick a Color">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="157">The title of the color selection dialog</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-alpha"
                version="1.9.1"
                writable="1"
                transfer-ownership="none"
                setter="set_use_alpha"
                getter="get_use_alpha"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="141">If this property is set to %TRUE, the color swatch on the button is rendered against a
checkerboard background to show its opacity and the opacity slider is displayed in the
color selection dialog.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="button">
        <type name="Ctk.Button" c:type="CtkButton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ColorButtonPrivate" c:type="CafeColorButtonPrivate*"/>
      </field>
      <glib:signal name="color-set" when="first" version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorbutton.c"
             line="202">The ::color-set signal is emitted when the user selects a color.
When handling this signal, use cafe_color_button_get_color() and
cafe_color_button_get_alpha() to find out which color was just selected.

Note that this signal is only emitted when the &lt;emphasis&gt;user&lt;/emphasis&gt;
changes the color. If you need to react to programmatic color changes
as well, use the notify::color signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ColorButtonClass"
            c:type="CafeColorButtonClass"
            glib:is-gtype-struct-for="ColorButton">
      <source-position filename="cafe-colorbutton.h" line="76"/>
      <field name="parent_class">
        <type name="Ctk.ButtonClass" c:type="CtkButtonClass"/>
      </field>
      <field name="color_set">
        <callback name="color_set">
          <source-position filename="cafe-colorbutton.h" line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cp" transfer-ownership="none">
              <type name="ColorButton" c:type="CafeColorButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_ctk_reserved1" introspectable="0">
        <callback name="_ctk_reserved1">
          <source-position filename="cafe-colorbutton.h" line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved2" introspectable="0">
        <callback name="_ctk_reserved2">
          <source-position filename="cafe-colorbutton.h" line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved3" introspectable="0">
        <callback name="_ctk_reserved3">
          <source-position filename="cafe-colorbutton.h" line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved4" introspectable="0">
        <callback name="_ctk_reserved4">
          <source-position filename="cafe-colorbutton.h" line="75"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ColorButtonPrivate"
            c:type="CafeColorButtonPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-colorbutton.h" line="56"/>
    </record>
    <class name="ColorSelection"
           c:symbol-prefix="color_selection"
           c:type="CafeColorSelection"
           parent="Ctk.Box"
           glib:type-name="CafeColorSelection"
           glib:get-type="cafe_color_selection_get_type"
           glib:type-struct="ColorSelectionClass">
      <source-position filename="cafe-colorsel.h" line="74"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Ctk.Buildable"/>
      <implements name="Ctk.Orientable"/>
      <constructor name="new" c:identifier="cafe_color_selection_new">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2241">Creates a new CafeColorSelection.</doc>
        <source-position filename="cafe-colorsel.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2246">a new #CafeColorSelection</doc>
          <type name="Ctk.Widget" c:type="CtkWidget*"/>
        </return-value>
      </constructor>
      <function name="palette_from_string"
                c:identifier="cafe_color_selection_palette_from_string">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2687">Parses a color palette string; the string is a colon-separated
list of color names readable by cdk_color_parse().</doc>
        <source-position filename="cafe-colorsel.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2697">%TRUE if a palette was successfully parsed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2689">a string encoding a color palette.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="colors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2690">return location for allocated
         array of #CdkColor.</doc>
            <array length="2" zero-terminated="0" c:type="CdkColor**">
              <type name="Cdk.Color" c:type="CdkColor*"/>
            </array>
          </parameter>
          <parameter name="n_colors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2692">return location for length of array.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </function>
      <function name="palette_to_string"
                c:identifier="cafe_color_selection_palette_to_string">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2774">Encodes a palette as a string, useful for persistent storage.</doc>
        <source-position filename="cafe-colorsel.h" line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2781">allocated string encoding the palette.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="colors" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2776">an array of colors.</doc>
            <array length="1" zero-terminated="0" c:type="const CdkColor*">
              <type name="Cdk.Color" c:type="CdkColor"/>
            </array>
          </parameter>
          <parameter name="n_colors" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2777">length of the array.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_change_palette_hook"
                c:identifier="cafe_color_selection_set_change_palette_hook"
                introspectable="0">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2821">Installs a global function to be called whenever the user tries to
modify the palette in a color selection. This function should save
the new palette contents, and update the CtkSettings property
"ctk-color-palette" so all CafeColorSelection widgets will be modified.</doc>
        <source-position filename="cafe-colorsel.h" line="113"/>
        <return-value>
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2830">the previous change palette hook (that was replaced).</doc>
          <type name="ColorSelectionChangePaletteFunc"
                c:type="CafeColorSelectionChangePaletteFunc"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2823">a function to call when the custom palette needs saving.</doc>
            <type name="ColorSelectionChangePaletteFunc"
                  c:type="CafeColorSelectionChangePaletteFunc"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_change_palette_with_screen_hook"
                c:identifier="cafe_color_selection_set_change_palette_with_screen_hook"
                version="1.9.1"
                introspectable="0">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2844">Installs a global function to be called whenever the user tries to
modify the palette in a color selection. This function should save
the new palette contents, and update the CtkSettings property
"ctk-color-palette" so all CafeColorSelection widgets will be modified.</doc>
        <source-position filename="cafe-colorsel.h" line="116"/>
        <return-value>
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2853">the previous change palette hook (that was replaced).</doc>
          <type name="ColorSelectionChangePaletteWithScreenFunc"
                c:type="CafeColorSelectionChangePaletteWithScreenFunc"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2846">a function to call when the custom palette needs saving.</doc>
            <type name="ColorSelectionChangePaletteWithScreenFunc"
                  c:type="CafeColorSelectionChangePaletteWithScreenFunc"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="color_changed">
        <source-position filename="cafe-colorsel.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_selection" transfer-ownership="none">
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_color" c:identifier="cafe_color_selection_get_color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2510">Sets @color to be the current color in the CafeColorSelection widget.</doc>
        <source-position filename="cafe-colorsel.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2512">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2513">an array of 4 #gdouble to fill in with the current color.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_alpha"
              c:identifier="cafe_color_selection_get_current_alpha"
              glib:get-property="current-alpha">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2491">Returns the current alpha value.</doc>
        <source-position filename="cafe-colorsel.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2497">an integer between 0 and 65535.</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2493">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_color"
              c:identifier="cafe_color_selection_get_current_color"
              glib:get-property="current-color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2469">Sets @color to be the current color in the CafeColorSelection widget.</doc>
        <source-position filename="cafe-colorsel.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2471">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2472">a #CdkColor to fill in with the current color.</doc>
            <type name="Cdk.Color" c:type="CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_has_opacity_control"
              c:identifier="cafe_color_selection_get_has_opacity_control"
              glib:get-property="has-opacity-control">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2272">Determines whether the colorsel has an opacity control.</doc>
        <source-position filename="cafe-colorsel.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2278">%TRUE if the @colorsel has an opacity control.  %FALSE if it does't.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2274">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_palette"
              c:identifier="cafe_color_selection_get_has_palette"
              glib:get-property="has-palette">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2332">Determines whether the color selector has a color palette.</doc>
        <source-position filename="cafe-colorsel.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2338">%TRUE if the selector has a palette.  %FALSE if it hasn't.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2334">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_previous_alpha"
              c:identifier="cafe_color_selection_get_previous_alpha">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2614">Returns the previous alpha value.</doc>
        <source-position filename="cafe-colorsel.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2620">an integer between 0 and 65535.</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2616">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_previous_color"
              c:identifier="cafe_color_selection_get_previous_color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2592">Fills @color in with the original color value.</doc>
        <source-position filename="cafe-colorsel.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2594">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2595">a #CdkColor to fill in with the original color value.</doc>
            <type name="Cdk.Color" c:type="CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_adjusting"
              c:identifier="cafe_color_selection_is_adjusting">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2665">Gets the current state of the @colorsel.</doc>
        <source-position filename="cafe-colorsel.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorsel.c"
               line="2671">%TRUE if the user is currently dragging a color around, and %FALSE
if the selection has stopped.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2667">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_color" c:identifier="cafe_color_selection_set_color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2451">Sets the current color to be @color.  The first time this is called, it will
also set the original color to be @color too.</doc>
        <source-position filename="cafe-colorsel.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2453">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2454">an array of 4 doubles specifying the red, green, blue and opacity
  to set the current color to.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_alpha"
              c:identifier="cafe_color_selection_set_current_alpha"
              glib:set-property="current-alpha">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2422">Sets the current opacity to be @alpha.  The first time this is called, it will
also set the original opacity to be @alpha too.</doc>
        <source-position filename="cafe-colorsel.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2424">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2425">an integer between 0 and 65535.</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_color"
              c:identifier="cafe_color_selection_set_current_color"
              glib:set-property="current-color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2384">Sets the current color to be @color.  The first time this is called, it will
also set the original color to be @color too.</doc>
        <source-position filename="cafe-colorsel.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2386">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2387">A #CdkColor to set the current color with.</doc>
            <type name="Cdk.Color" c:type="const CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_has_opacity_control"
              c:identifier="cafe_color_selection_set_has_opacity_control"
              glib:set-property="has-opacity-control">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2292">Sets the @colorsel to use or not use opacity.</doc>
        <source-position filename="cafe-colorsel.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2294">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="has_opacity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2295">%TRUE if @colorsel can set the opacity, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_has_palette"
              c:identifier="cafe_color_selection_set_has_palette"
              glib:set-property="has-palette">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2352">Shows and hides the palette based upon the value of @has_palette.</doc>
        <source-position filename="cafe-colorsel.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2354">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="has_palette" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2355">%TRUE if palette is to be visible, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_previous_alpha"
              c:identifier="cafe_color_selection_set_previous_alpha">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2567">Sets the 'previous' alpha to be @alpha.  This function should be called with
some hesitations, as it might seem confusing to have that alpha change.</doc>
        <source-position filename="cafe-colorsel.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2569">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2570">an integer between 0 and 65535.</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_previous_color"
              c:identifier="cafe_color_selection_set_previous_color">
        <doc xml:space="preserve"
             filename="cafe-colorsel.c"
             line="2532">Sets the 'previous' color to be @color.  This function should be called with
some hesitations, as it might seem confusing to have that color change.
Calling cafe_color_selection_set_current_color() will also set this color the first
time it is called.</doc>
        <source-position filename="cafe-colorsel.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2534">a #CafeColorSelection.</doc>
            <type name="ColorSelection" c:type="CafeColorSelection*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorsel.c"
                 line="2535">a #CdkColor to set the previous color with.</doc>
            <type name="Cdk.Color" c:type="const CdkColor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="current-alpha"
                writable="1"
                transfer-ownership="none"
                setter="set_current_alpha"
                getter="get_current_alpha"
                default-value="65535">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="current-color"
                writable="1"
                transfer-ownership="none"
                setter="set_current_color"
                getter="get_current_color">
        <type name="Cdk.Color"/>
      </property>
      <property name="has-opacity-control"
                writable="1"
                transfer-ownership="none"
                setter="set_has_opacity_control"
                getter="get_has_opacity_control"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="has-palette"
                writable="1"
                transfer-ownership="none"
                setter="set_has_palette"
                getter="get_has_palette"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="hex-string" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Ctk.Box" c:type="CtkBox"/>
      </field>
      <field name="private_data">
        <type name="ColorSelectionPrivate"
              c:type="CafeColorSelectionPrivate*"/>
      </field>
      <glib:signal name="color-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <callback name="ColorSelectionChangePaletteFunc"
              c:type="CafeColorSelectionChangePaletteFunc">
      <source-position filename="cafe-colorsel.h" line="49"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="colors" transfer-ownership="none">
          <type name="Cdk.Color" c:type="const CdkColor*"/>
        </parameter>
        <parameter name="n_colors" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ColorSelectionChangePaletteWithScreenFunc"
              c:type="CafeColorSelectionChangePaletteWithScreenFunc">
      <source-position filename="cafe-colorsel.h" line="51"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <type name="Cdk.Screen" c:type="CdkScreen*"/>
        </parameter>
        <parameter name="colors" transfer-ownership="none">
          <type name="Cdk.Color" c:type="const CdkColor*"/>
        </parameter>
        <parameter name="n_colors" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ColorSelectionClass"
            c:type="CafeColorSelectionClass"
            glib:is-gtype-struct-for="ColorSelection">
      <source-position filename="cafe-colorsel.h" line="74"/>
      <field name="parent_class">
        <type name="Ctk.BoxClass" c:type="CtkBoxClass"/>
      </field>
      <field name="color_changed">
        <callback name="color_changed">
          <source-position filename="cafe-colorsel.h" line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_selection" transfer-ownership="none">
              <type name="ColorSelection" c:type="CafeColorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_ctk_reserved1" introspectable="0">
        <callback name="_ctk_reserved1">
          <source-position filename="cafe-colorsel.h" line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved2" introspectable="0">
        <callback name="_ctk_reserved2">
          <source-position filename="cafe-colorsel.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved3" introspectable="0">
        <callback name="_ctk_reserved3">
          <source-position filename="cafe-colorsel.h" line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved4" introspectable="0">
        <callback name="_ctk_reserved4">
          <source-position filename="cafe-colorsel.h" line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="ColorSelectionDialog"
           c:symbol-prefix="color_selection_dialog"
           c:type="CafeColorSelectionDialog"
           parent="Ctk.Dialog"
           glib:type-name="CafeColorSelectionDialog"
           glib:get-type="cafe_color_selection_dialog_get_type"
           glib:type-struct="ColorSelectionDialogClass">
      <source-position filename="cafe-colorseldialog.h" line="66"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Ctk.Buildable"/>
      <constructor name="new" c:identifier="cafe_color_selection_dialog_new">
        <source-position filename="cafe-colorseldialog.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="Ctk.Widget" c:type="CtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_color_selection"
              c:identifier="cafe_color_selection_dialog_get_color_selection"
              glib:get-property="color-selection"
              version="1.9.1">
        <doc xml:space="preserve"
             filename="cafe-colorseldialog.c"
             line="182">Retrieves the #CafeColorSelection widget embedded in the dialog.</doc>
        <source-position filename="cafe-colorseldialog.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-colorseldialog.c"
               line="188">the embedded #CafeColorSelection</doc>
          <type name="Ctk.Widget" c:type="CtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="colorsel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-colorseldialog.c"
                 line="184">a #CafeColorSelectionDialog</doc>
            <type name="ColorSelectionDialog"
                  c:type="CafeColorSelectionDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="cancel-button" transfer-ownership="none">
        <type name="Ctk.Widget"/>
      </property>
      <property name="color-selection"
                transfer-ownership="none"
                getter="get_color_selection">
        <type name="Ctk.Widget"/>
      </property>
      <property name="help-button" transfer-ownership="none">
        <type name="Ctk.Widget"/>
      </property>
      <property name="ok-button" transfer-ownership="none">
        <type name="Ctk.Widget"/>
      </property>
      <field name="parent_instance">
        <type name="Ctk.Dialog" c:type="CtkDialog"/>
      </field>
      <field name="colorsel">
        <type name="Ctk.Widget" c:type="CtkWidget*"/>
      </field>
      <field name="ok_button">
        <type name="Ctk.Widget" c:type="CtkWidget*"/>
      </field>
      <field name="cancel_button">
        <type name="Ctk.Widget" c:type="CtkWidget*"/>
      </field>
      <field name="help_button">
        <type name="Ctk.Widget" c:type="CtkWidget*"/>
      </field>
    </class>
    <record name="ColorSelectionDialogClass"
            c:type="CafeColorSelectionDialogClass"
            glib:is-gtype-struct-for="ColorSelectionDialog">
      <source-position filename="cafe-colorseldialog.h" line="66"/>
      <field name="parent_class">
        <type name="Ctk.DialogClass" c:type="CtkDialogClass"/>
      </field>
      <field name="_ctk_reserved1" introspectable="0">
        <callback name="_ctk_reserved1">
          <source-position filename="cafe-colorseldialog.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved2" introspectable="0">
        <callback name="_ctk_reserved2">
          <source-position filename="cafe-colorseldialog.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved3" introspectable="0">
        <callback name="_ctk_reserved3">
          <source-position filename="cafe-colorseldialog.h" line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ctk_reserved4" introspectable="0">
        <callback name="_ctk_reserved4">
          <source-position filename="cafe-colorseldialog.h" line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ColorSelectionPrivate"
            c:type="CafeColorSelectionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-colorsel.h" line="46"/>
    </record>
    <function-macro name="DESKTOP_CHECK_VERSION"
                    c:identifier="CAFE_DESKTOP_CHECK_VERSION"
                    introspectable="0">
      <source-position filename="cafe-desktop.h" line="36"/>
      <parameters>
        <parameter name="major">
        </parameter>
        <parameter name="minor">
        </parameter>
        <parameter name="micro">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DESKTOP_IS_THUMBNAIL_FACTORY"
                    c:identifier="CAFE_DESKTOP_IS_THUMBNAIL_FACTORY"
                    introspectable="0">
      <source-position filename="cafe-desktop-thumbnail.h" line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DESKTOP_IS_THUMBNAIL_FACTORY_CLASS"
                    c:identifier="CAFE_DESKTOP_IS_THUMBNAIL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="cafe-desktop-thumbnail.h" line="49"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="DESKTOP_ITEM_ACTIONS"
              value="Actions"
              c:type="CAFE_DESKTOP_ITEM_ACTIONS">
      <source-position filename="cafe-desktop-item.h" line="78"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_CATEGORIES"
              value="Categories"
              c:type="CAFE_DESKTOP_ITEM_CATEGORIES">
      <source-position filename="cafe-desktop-item.h" line="100"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_COMMENT"
              value="Comment"
              c:type="CAFE_DESKTOP_ITEM_COMMENT">
      <source-position filename="cafe-desktop-item.h" line="76"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_DEFAULT_APP"
              value="DefaultApp"
              c:type="CAFE_DESKTOP_ITEM_DEFAULT_APP">
      <source-position filename="cafe-desktop-item.h" line="89"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_DEV"
              value="Dev"
              c:type="CAFE_DESKTOP_ITEM_DEV">
      <source-position filename="cafe-desktop-item.h" line="90"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_DOC_PATH"
              value="X-CAFE-DocPath"
              c:type="CAFE_DESKTOP_ITEM_DOC_PATH">
      <source-position filename="cafe-desktop-item.h" line="97"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_ENCODING"
              value="Encoding"
              c:type="CAFE_DESKTOP_ITEM_ENCODING">
      <source-position filename="cafe-desktop-item.h" line="68"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_EXEC"
              value="Exec"
              c:type="CAFE_DESKTOP_ITEM_EXEC">
      <source-position filename="cafe-desktop-item.h" line="77"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_FILE_PATTERN"
              value="FilePattern"
              c:type="CAFE_DESKTOP_ITEM_FILE_PATTERN">
      <source-position filename="cafe-desktop-item.h" line="73"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_FS_TYPE"
              value="FSType"
              c:type="CAFE_DESKTOP_ITEM_FS_TYPE">
      <source-position filename="cafe-desktop-item.h" line="91"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_GENERIC_NAME"
              value="GenericName"
              c:type="CAFE_DESKTOP_ITEM_GENERIC_NAME">
      <source-position filename="cafe-desktop-item.h" line="71"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_HIDDEN"
              value="Hidden"
              c:type="CAFE_DESKTOP_ITEM_HIDDEN">
      <source-position filename="cafe-desktop-item.h" line="81"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_ICON"
              value="Icon"
              c:type="CAFE_DESKTOP_ITEM_ICON">
      <source-position filename="cafe-desktop-item.h" line="79"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_MIME_TYPE"
              value="MimeType"
              c:type="CAFE_DESKTOP_ITEM_MIME_TYPE">
      <source-position filename="cafe-desktop-item.h" line="87"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_MINI_ICON"
              value="MiniIcon"
              c:type="CAFE_DESKTOP_ITEM_MINI_ICON">
      <source-position filename="cafe-desktop-item.h" line="80"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_MOUNT_POINT"
              value="MountPoint"
              c:type="CAFE_DESKTOP_ITEM_MOUNT_POINT">
      <source-position filename="cafe-desktop-item.h" line="92"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_NAME"
              value="Name"
              c:type="CAFE_DESKTOP_ITEM_NAME">
      <source-position filename="cafe-desktop-item.h" line="70"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_NO_DISPLAY"
              value="NoDisplay"
              c:type="CAFE_DESKTOP_ITEM_NO_DISPLAY">
      <source-position filename="cafe-desktop-item.h" line="75"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_ONLY_SHOW_IN"
              value="OnlyShowIn"
              c:type="CAFE_DESKTOP_ITEM_ONLY_SHOW_IN">
      <source-position filename="cafe-desktop-item.h" line="101"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_PATH"
              value="Path"
              c:type="CAFE_DESKTOP_ITEM_PATH">
      <source-position filename="cafe-desktop-item.h" line="82"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_PATTERNS"
              value="Patterns"
              c:type="CAFE_DESKTOP_ITEM_PATTERNS">
      <source-position filename="cafe-desktop-item.h" line="88"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_READ_ONLY"
              value="ReadOnly"
              c:type="CAFE_DESKTOP_ITEM_READ_ONLY">
      <source-position filename="cafe-desktop-item.h" line="93"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_SORT_ORDER"
              value="SortOrder"
              c:type="CAFE_DESKTOP_ITEM_SORT_ORDER">
      <source-position filename="cafe-desktop-item.h" line="95"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_SWALLOW_EXEC"
              value="SwallowExec"
              c:type="CAFE_DESKTOP_ITEM_SWALLOW_EXEC">
      <source-position filename="cafe-desktop-item.h" line="86"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_SWALLOW_TITLE"
              value="SwallowTitle"
              c:type="CAFE_DESKTOP_ITEM_SWALLOW_TITLE">
      <source-position filename="cafe-desktop-item.h" line="85"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_TERMINAL"
              value="Terminal"
              c:type="CAFE_DESKTOP_ITEM_TERMINAL">
      <source-position filename="cafe-desktop-item.h" line="83"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_TERMINAL_OPTIONS"
              value="TerminalOptions"
              c:type="CAFE_DESKTOP_ITEM_TERMINAL_OPTIONS">
      <source-position filename="cafe-desktop-item.h" line="84"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_TRY_EXEC"
              value="TryExec"
              c:type="CAFE_DESKTOP_ITEM_TRY_EXEC">
      <source-position filename="cafe-desktop-item.h" line="74"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_TYPE"
              value="Type"
              c:type="CAFE_DESKTOP_ITEM_TYPE">
      <source-position filename="cafe-desktop-item.h" line="72"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_UNMOUNT_ICON"
              value="UnmountIcon"
              c:type="CAFE_DESKTOP_ITEM_UNMOUNT_ICON">
      <source-position filename="cafe-desktop-item.h" line="94"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_URL"
              value="URL"
              c:type="CAFE_DESKTOP_ITEM_URL">
      <source-position filename="cafe-desktop-item.h" line="96"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DESKTOP_ITEM_VERSION"
              value="Version"
              c:type="CAFE_DESKTOP_ITEM_VERSION">
      <source-position filename="cafe-desktop-item.h" line="69"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="DESKTOP_THUMBNAIL_FACTORY"
                    c:identifier="CAFE_DESKTOP_THUMBNAIL_FACTORY"
                    introspectable="0">
      <source-position filename="cafe-desktop-thumbnail.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DESKTOP_THUMBNAIL_FACTORY_CLASS"
                    c:identifier="CAFE_DESKTOP_THUMBNAIL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="cafe-desktop-thumbnail.h" line="47"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <record name="DesktopItem"
            c:type="CafeDesktopItem"
            opaque="1"
            glib:type-name="CafeDesktopItem"
            glib:get-type="cafe_desktop_item_get_type"
            c:symbol-prefix="desktop_item">
      <source-position filename="cafe-desktop-item.h" line="65"/>
      <constructor name="new" c:identifier="cafe_desktop_item_new">
        <source-position filename="cafe-desktop-item.h" line="147"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_basename"
                   c:identifier="cafe_desktop_item_new_from_basename"
                   throws="1">
        <source-position filename="cafe-desktop-item.h" line="159"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <parameter name="basename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLoadFlags"
                  c:type="CafeDesktopItemLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_file"
                   c:identifier="cafe_desktop_item_new_from_file"
                   throws="1">
        <source-position filename="cafe-desktop-item.h" line="148"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLoadFlags"
                  c:type="CafeDesktopItemLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_string"
                   c:identifier="cafe_desktop_item_new_from_string"
                   throws="1">
        <source-position filename="cafe-desktop-item.h" line="154"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLoadFlags"
                  c:type="CafeDesktopItemLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_uri"
                   c:identifier="cafe_desktop_item_new_from_uri"
                   throws="1">
        <source-position filename="cafe-desktop-item.h" line="151"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLoadFlags"
                  c:type="CafeDesktopItemLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="attr_exists" c:identifier="cafe_desktop_item_attr_exists">
        <source-position filename="cafe-desktop-item.h" line="232"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_localestring"
              c:identifier="cafe_desktop_item_clear_localestring">
        <source-position filename="cafe-desktop-item.h" line="267"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_section"
              c:identifier="cafe_desktop_item_clear_section">
        <source-position filename="cafe-desktop-item.h" line="303"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="section" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="cafe_desktop_item_copy">
        <source-position filename="cafe-desktop-item.h" line="162"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="drop_uri_list"
              c:identifier="cafe_desktop_item_drop_uri_list"
              throws="1">
        <source-position filename="cafe-desktop-item.h" line="189"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLaunchFlags"
                  c:type="CafeDesktopItemLaunchFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="drop_uri_list_with_env"
              c:identifier="cafe_desktop_item_drop_uri_list_with_env"
              throws="1">
        <source-position filename="cafe-desktop-item.h" line="194"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLaunchFlags"
                  c:type="CafeDesktopItemLaunchFlags"/>
          </parameter>
          <parameter name="envp" transfer-ownership="none">
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </method>
      <method name="exists" c:identifier="cafe_desktop_item_exists">
        <source-position filename="cafe-desktop-item.h" line="200"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attr_locale"
              c:identifier="cafe_desktop_item_get_attr_locale">
        <source-position filename="cafe-desktop-item.h" line="245"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_boolean" c:identifier="cafe_desktop_item_get_boolean">
        <source-position filename="cafe-desktop-item.h" line="285"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_entry_type"
              c:identifier="cafe_desktop_item_get_entry_type">
        <source-position filename="cafe-desktop-item.h" line="202"/>
        <return-value transfer-ownership="none">
          <type name="DesktopItemType" c:type="CafeDesktopItemType"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file_status"
              c:identifier="cafe_desktop_item_get_file_status">
        <source-position filename="cafe-desktop-item.h" line="213"/>
        <return-value transfer-ownership="none">
          <type name="DesktopItemStatus" c:type="CafeDesktopItemStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon" c:identifier="cafe_desktop_item_get_icon">
        <source-position filename="cafe-desktop-item.h" line="219"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="icon_theme" transfer-ownership="none">
            <type name="Ctk.IconTheme" c:type="CtkIconTheme*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_languages"
              c:identifier="cafe_desktop_item_get_languages"
              introspectable="0">
        <source-position filename="cafe-desktop-item.h" line="257"/>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_localestring"
              c:identifier="cafe_desktop_item_get_localestring">
        <source-position filename="cafe-desktop-item.h" line="251"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_localestring_lang"
              c:identifier="cafe_desktop_item_get_localestring_lang">
        <source-position filename="cafe-desktop-item.h" line="253"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="language" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="cafe_desktop_item_get_location">
        <source-position filename="cafe-desktop-item.h" line="208"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_string" c:identifier="cafe_desktop_item_get_string">
        <source-position filename="cafe-desktop-item.h" line="238"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_strings"
              c:identifier="cafe_desktop_item_get_strings"
              introspectable="0">
        <source-position filename="cafe-desktop-item.h" line="275"/>
        <return-value>
          <array c:type="char**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch"
              c:identifier="cafe_desktop_item_launch"
              introspectable="0"
              throws="1">
        <source-position filename="cafe-desktop-item.h" line="171"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLaunchFlags"
                  c:type="CafeDesktopItemLaunchFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch_on_screen"
              c:identifier="cafe_desktop_item_launch_on_screen"
              introspectable="0"
              throws="1">
        <source-position filename="cafe-desktop-item.h" line="181"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLaunchFlags"
                  c:type="CafeDesktopItemLaunchFlags"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch_with_env"
              c:identifier="cafe_desktop_item_launch_with_env"
              introspectable="0"
              throws="1">
        <source-position filename="cafe-desktop-item.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="const CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="file_list" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DesktopItemLaunchFlags"
                  c:type="CafeDesktopItemLaunchFlags"/>
          </parameter>
          <parameter name="envp" transfer-ownership="none">
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="cafe_desktop_item_ref">
        <source-position filename="cafe-desktop-item.h" line="169"/>
        <return-value transfer-ownership="full">
          <type name="DesktopItem" c:type="CafeDesktopItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="cafe_desktop_item_save" throws="1">
        <source-position filename="cafe-desktop-item.h" line="165"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="under" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="force" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_boolean" c:identifier="cafe_desktop_item_set_boolean">
        <source-position filename="cafe-desktop-item.h" line="288"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_entry_type"
              c:identifier="cafe_desktop_item_set_entry_type">
        <source-position filename="cafe-desktop-item.h" line="204"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DesktopItemType" c:type="CafeDesktopItemType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_launch_time"
              c:identifier="cafe_desktop_item_set_launch_time">
        <source-position filename="cafe-desktop-item.h" line="295"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_localestring"
              c:identifier="cafe_desktop_item_set_localestring">
        <source-position filename="cafe-desktop-item.h" line="260"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_localestring_lang"
              c:identifier="cafe_desktop_item_set_localestring_lang">
        <source-position filename="cafe-desktop-item.h" line="263"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="language" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="cafe_desktop_item_set_location">
        <source-position filename="cafe-desktop-item.h" line="209"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location_file"
              c:identifier="cafe_desktop_item_set_location_file">
        <source-position filename="cafe-desktop-item.h" line="211"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="cafe_desktop_item_set_string">
        <source-position filename="cafe-desktop-item.h" line="241"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_strings" c:identifier="cafe_desktop_item_set_strings">
        <source-position filename="cafe-desktop-item.h" line="278"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
          <parameter name="attr" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="strings" transfer-ownership="none">
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="cafe_desktop_item_unref">
        <source-position filename="cafe-desktop-item.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="item" transfer-ownership="none">
            <type name="DesktopItem" c:type="CafeDesktopItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="error_quark"
                c:identifier="cafe_desktop_item_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <function name="find_icon" c:identifier="cafe_desktop_item_find_icon">
        <source-position filename="cafe-desktop-item.h" line="222"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="icon_theme" transfer-ownership="none">
            <type name="Ctk.IconTheme" c:type="CtkIconTheme*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="desired_size" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="DesktopItemError"
                 c:type="CafeDesktopItemError"
                 glib:error-domain="cafe-desktop-item-error-quark">
      <source-position filename="cafe-desktop-item.h" line="139"/>
      <member name="no_filename"
              value="0"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_NO_FILENAME">
      </member>
      <member name="unknown_encoding"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_UNKNOWN_ENCODING">
      </member>
      <member name="cannot_open"
              value="2"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_CANNOT_OPEN">
      </member>
      <member name="no_exec_string"
              value="3"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_NO_EXEC_STRING">
      </member>
      <member name="bad_exec_string"
              value="4"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_BAD_EXEC_STRING">
      </member>
      <member name="no_url"
              value="5"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_NO_URL">
      </member>
      <member name="not_launchable"
              value="6"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_NOT_LAUNCHABLE">
      </member>
      <member name="invalid_type"
              value="7"
              c:identifier="CAFE_DESKTOP_ITEM_ERROR_INVALID_TYPE">
      </member>
    </enumeration>
    <bitfield name="DesktopItemIconFlags" c:type="CafeDesktopItemIconFlags">
      <source-position filename="cafe-desktop-item.h" line="128"/>
      <member name="desktop_item_icon_no_kde"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_ICON_NO_KDE">
      </member>
    </bitfield>
    <bitfield name="DesktopItemLaunchFlags"
              c:type="CafeDesktopItemLaunchFlags">
      <source-position filename="cafe-desktop-item.h" line="123"/>
      <member name="only_one"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_LAUNCH_ONLY_ONE">
      </member>
      <member name="use_current_dir"
              value="2"
              c:identifier="CAFE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR">
      </member>
      <member name="append_uris"
              value="4"
              c:identifier="CAFE_DESKTOP_ITEM_LAUNCH_APPEND_URIS">
      </member>
      <member name="append_paths"
              value="8"
              c:identifier="CAFE_DESKTOP_ITEM_LAUNCH_APPEND_PATHS">
      </member>
      <member name="do_not_reap_child"
              value="16"
              c:identifier="CAFE_DESKTOP_ITEM_LAUNCH_DO_NOT_REAP_CHILD">
      </member>
    </bitfield>
    <bitfield name="DesktopItemLoadFlags" c:type="CafeDesktopItemLoadFlags">
      <source-position filename="cafe-desktop-item.h" line="107"/>
      <member name="only_if_exists"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_LOAD_ONLY_IF_EXISTS">
      </member>
      <member name="no_translations"
              value="2"
              c:identifier="CAFE_DESKTOP_ITEM_LOAD_NO_TRANSLATIONS">
      </member>
    </bitfield>
    <enumeration name="DesktopItemStatus" c:type="CafeDesktopItemStatus">
      <source-position filename="cafe-desktop-item.h" line="60"/>
      <member name="unchanged"
              value="0"
              c:identifier="CAFE_DESKTOP_ITEM_UNCHANGED">
      </member>
      <member name="changed"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_CHANGED">
      </member>
      <member name="disappeared"
              value="2"
              c:identifier="CAFE_DESKTOP_ITEM_DISAPPEARED">
      </member>
    </enumeration>
    <enumeration name="DesktopItemType" c:type="CafeDesktopItemType">
      <source-position filename="cafe-desktop-item.h" line="54"/>
      <member name="null" value="0" c:identifier="CAFE_DESKTOP_ITEM_TYPE_NULL">
      </member>
      <member name="other"
              value="1"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_OTHER">
      </member>
      <member name="application"
              value="2"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_APPLICATION">
      </member>
      <member name="link" value="3" c:identifier="CAFE_DESKTOP_ITEM_TYPE_LINK">
      </member>
      <member name="fsdevice"
              value="4"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_FSDEVICE">
      </member>
      <member name="mime_type"
              value="5"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_MIME_TYPE">
      </member>
      <member name="directory"
              value="6"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_DIRECTORY">
      </member>
      <member name="service"
              value="7"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_SERVICE">
      </member>
      <member name="service_type"
              value="8"
              c:identifier="CAFE_DESKTOP_ITEM_TYPE_SERVICE_TYPE">
      </member>
    </enumeration>
    <class name="DesktopThumbnailFactory"
           c:symbol-prefix="desktop_thumbnail_factory"
           c:type="CafeDesktopThumbnailFactory"
           parent="GObject.Object"
           glib:type-name="CafeDesktopThumbnailFactory"
           glib:get-type="cafe_desktop_thumbnail_factory_get_type"
           glib:type-struct="DesktopThumbnailFactoryClass">
      <source-position filename="cafe-desktop-thumbnail.h" line="63"/>
      <constructor name="new"
                   c:identifier="cafe_desktop_thumbnail_factory_new"
                   version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="636">Creates a new #CafeDesktopThumbnailFactory.

This function must be called on the main thread.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="644">a new #CafeDesktopThumbnailFactory</doc>
          <type name="DesktopThumbnailFactory"
                c:type="CafeDesktopThumbnailFactory*"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="638">The thumbnail size to use</doc>
            <type name="DesktopThumbnailSize"
                  c:type="CafeDesktopThumbnailSize"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="can_thumbnail"
              c:identifier="cafe_desktop_thumbnail_factory_can_thumbnail"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="812">Returns TRUE if this CafeDesktopThumbnail can (at least try) to thumbnail
this file. Thumbnails or files with failed thumbnails won't be thumbnailed.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="824">TRUE if the file can be thumbnailed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="814">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="815">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="816">the mime type of the file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mtime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="817">the mtime of the file</doc>
            <type name="time_t" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_failed_thumbnail"
              c:identifier="cafe_desktop_thumbnail_factory_create_failed_thumbnail"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1249">Creates a failed thumbnail for the file so that we don't try
to re-thumbnail the file later.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1251">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1252">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mtime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1253">the modification time of the file</doc>
            <type name="time_t" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_thumbnail"
              c:identifier="cafe_desktop_thumbnail_factory_generate_thumbnail"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1038">Tries to generate a thumbnail for the specified file. If it succeeds
it returns a pixbuf that can be used as a thumbnail.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1049">thumbnail pixbuf if thumbnailing succeeded, %NULL otherwise.</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1040">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1041">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1042">the mime type of the file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_valid_failed_thumbnail"
              c:identifier="cafe_desktop_thumbnail_factory_has_valid_failed_thumbnail"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="778">Tries to locate an failed thumbnail for the file specified. Writing
and looking for failed thumbnails is important to avoid to try to
thumbnail e.g. broken images several times.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="790">TRUE if there is a failed thumbnail for the file.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="780">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="781">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mtime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="782">the mtime of the file</doc>
            <type name="time_t" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup"
              c:identifier="cafe_desktop_thumbnail_factory_lookup"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="752">Tries to locate an existing thumbnail for the file specified.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="68"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="762">The absolute path of the thumbnail, or %NULL if none exist.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="754">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="755">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="mtime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="756">the mtime of the file</doc>
            <type name="time_t" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_thumbnail"
              c:identifier="cafe_desktop_thumbnail_factory_save_thumbnail"
              version="2.2">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1215">Saves @thumbnail at the right place. If the save fails a
failed thumbnail is written.

Usage of this function is threadsafe.</doc>
        <source-position filename="cafe-desktop-thumbnail.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="factory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1217">a #CafeDesktopThumbnailFactory</doc>
            <type name="DesktopThumbnailFactory"
                  c:type="CafeDesktopThumbnailFactory*"/>
          </instance-parameter>
          <parameter name="thumbnail" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1218">the thumbnail as a pixbuf</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1219">the uri of a file</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="original_mtime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-desktop-thumbnail.c"
                 line="1220">the modification time of the original file</doc>
            <type name="time_t" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DesktopThumbnailFactoryPrivate"
              c:type="CafeDesktopThumbnailFactoryPrivate*"/>
      </field>
    </class>
    <record name="DesktopThumbnailFactoryClass"
            c:type="CafeDesktopThumbnailFactoryClass"
            glib:is-gtype-struct-for="DesktopThumbnailFactory">
      <source-position filename="cafe-desktop-thumbnail.h" line="63"/>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="DesktopThumbnailFactoryPrivate"
            c:type="CafeDesktopThumbnailFactoryPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-desktop-thumbnail.h" line="53"/>
    </record>
    <enumeration name="DesktopThumbnailSize" c:type="CafeDesktopThumbnailSize">
      <source-position filename="cafe-desktop-thumbnail.h" line="43"/>
      <member name="normal"
              value="0"
              c:identifier="CAFE_DESKTOP_THUMBNAIL_SIZE_NORMAL">
      </member>
      <member name="large"
              value="1"
              c:identifier="CAFE_DESKTOP_THUMBNAIL_SIZE_LARGE">
      </member>
    </enumeration>
    <function-macro name="IS_BG" c:identifier="CAFE_IS_BG" introspectable="0">
      <source-position filename="cafe-bg.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BG_CLASS"
                    c:identifier="CAFE_IS_BG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BG_CROSSFADE"
                    c:identifier="CAFE_IS_BG_CROSSFADE"
                    introspectable="0">
      <source-position filename="cafe-bg-crossfade.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BG_CROSSFADE_CLASS"
                    c:identifier="CAFE_IS_BG_CROSSFADE_CLASS"
                    introspectable="0">
      <source-position filename="cafe-bg-crossfade.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_BUTTON"
                    c:identifier="CAFE_IS_COLOR_BUTTON"
                    introspectable="0">
      <source-position filename="cafe-colorbutton.h" line="50"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_BUTTON_CLASS"
                    c:identifier="CAFE_IS_COLOR_BUTTON_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorbutton.h" line="51"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_SELECTION"
                    c:identifier="CAFE_IS_COLOR_SELECTION"
                    introspectable="0">
      <source-position filename="cafe-colorsel.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_SELECTION_CLASS"
                    c:identifier="CAFE_IS_COLOR_SELECTION_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorsel.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_SELECTION_DIALOG"
                    c:identifier="CAFE_IS_COLOR_SELECTION_DIALOG"
                    introspectable="0">
      <source-position filename="cafe-colorseldialog.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_SELECTION_DIALOG_CLASS"
                    c:identifier="CAFE_IS_COLOR_SELECTION_DIALOG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-colorseldialog.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_CONFIG"
                    c:identifier="CAFE_IS_RR_CONFIG"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="105"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_CONFIG_CLASS"
                    c:identifier="CAFE_IS_RR_CONFIG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="107"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_LABELER"
                    c:identifier="CAFE_IS_RR_LABELER"
                    introspectable="0">
      <source-position filename="cafe-rr-labeler.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_LABELER_CLASS"
                    c:identifier="CAFE_IS_RR_LABELER_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-labeler.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_OUTPUT_INFO"
                    c:identifier="CAFE_IS_RR_OUTPUT_INFO"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="55"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_OUTPUT_INFO_CLASS"
                    c:identifier="CAFE_IS_RR_OUTPUT_INFO_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="57"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_SCREEN"
                    c:identifier="CAFE_IS_RR_SCREEN"
                    introspectable="0">
      <source-position filename="cafe-rr.h" line="80"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_RR_SCREEN_CLASS"
                    c:identifier="CAFE_IS_RR_SCREEN_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr.h" line="82"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="RRConfig"
           c:symbol-prefix="rr_config"
           c:type="CafeRRConfig"
           parent="GObject.Object"
           glib:type-name="CafeRRConfig"
           glib:get-type="cafe_rr_config_get_type"
           glib:type-struct="RRConfigClass">
      <source-position filename="cafe-rr-config.h" line="101"/>
      <constructor name="new_current"
                   c:identifier="cafe_rr_config_new_current"
                   throws="1">
        <source-position filename="cafe-rr-config.h" line="112"/>
        <return-value transfer-ownership="full">
          <type name="RRConfig" c:type="CafeRRConfig*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_stored"
                   c:identifier="cafe_rr_config_new_stored"
                   throws="1">
        <source-position filename="cafe-rr-config.h" line="114"/>
        <return-value transfer-ownership="full">
          <type name="RRConfig" c:type="CafeRRConfig*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="apply_from_filename_with_time"
                c:identifier="cafe_rr_config_apply_from_filename_with_time"
                throws="1">
        <source-position filename="cafe-rr-config.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_backup_filename"
                c:identifier="cafe_rr_config_get_backup_filename">
        <source-position filename="cafe-rr-config.h" line="148"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </function>
      <function name="get_intended_filename"
                c:identifier="cafe_rr_config_get_intended_filename">
        <source-position filename="cafe-rr-config.h" line="149"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </function>
      <method name="applicable"
              c:identifier="cafe_rr_config_applicable"
              throws="1">
        <source-position filename="cafe-rr-config.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="apply_with_time"
              c:identifier="cafe_rr_config_apply_with_time"
              throws="1">
        <source-position filename="cafe-rr-config.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="ensure_primary"
              c:identifier="cafe_rr_config_ensure_primary">
        <source-position filename="cafe-rr-config.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equal" c:identifier="cafe_rr_config_equal">
        <source-position filename="cafe-rr-config.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="config1" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="config2" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_clone" c:identifier="cafe_rr_config_get_clone">
        <source-position filename="cafe-rr-config.h" line="144"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-config.c"
               line="1407">whether at least two outputs are at (0, 0) offset and they
have the same width/height.  Those outputs are of course connected and on
(i.e. they have a CRTC assigned).</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_outputs" c:identifier="cafe_rr_config_get_outputs">
        <source-position filename="cafe-rr-config.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-config.c"
               line="1394">the output configuration for this #CafeRRConfig</doc>
          <array c:type="CafeRROutputInfo**">
            <type name="RROutputInfo"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_current"
              c:identifier="cafe_rr_config_load_current"
              throws="1">
        <source-position filename="cafe-rr-config.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_filename"
              c:identifier="cafe_rr_config_load_filename"
              throws="1">
        <source-position filename="cafe-rr-config.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="match" c:identifier="cafe_rr_config_match">
        <source-position filename="cafe-rr-config.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="config1" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="config2" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sanitize" c:identifier="cafe_rr_config_sanitize">
        <source-position filename="cafe-rr-config.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="cafe_rr_config_save" throws="1">
        <source-position filename="cafe-rr-config.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_clone" c:identifier="cafe_rr_config_set_clone">
        <source-position filename="cafe-rr-config.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="configuration" transfer-ownership="none">
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </instance-parameter>
          <parameter name="clone" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="screen"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="RRScreen"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="RRConfigPrivate" c:type="CafeRRConfigPrivate*"/>
      </field>
    </class>
    <record name="RRConfigClass"
            c:type="CafeRRConfigClass"
            glib:is-gtype-struct-for="RRConfig">
      <source-position filename="cafe-rr-config.h" line="101"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="RRConfigPrivate"
            c:type="CafeRRConfigPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-rr-config.h" line="38"/>
    </record>
    <record name="RRCrtc"
            c:type="CafeRRCrtc"
            opaque="1"
            glib:type-name="CafeRRCrtc"
            glib:get-type="cafe_rr_crtc_get_type"
            c:symbol-prefix="rr_crtc">
      <source-position filename="cafe-rr.h" line="36"/>
      <method name="can_drive_output"
              c:identifier="cafe_rr_crtc_can_drive_output">
        <source-position filename="cafe-rr.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_mode"
              c:identifier="cafe_rr_crtc_get_current_mode">
        <source-position filename="cafe-rr.h" line="181"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="1800">the current mode of this crtc</doc>
          <type name="RRMode" c:type="CafeRRMode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1799">a #CafeRRCrtc</doc>
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_rotation"
              c:identifier="cafe_rr_crtc_get_current_rotation">
        <source-position filename="cafe-rr.h" line="185"/>
        <return-value transfer-ownership="none">
          <type name="RRRotation" c:type="CafeRRRotation"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gamma" c:identifier="cafe_rr_crtc_get_gamma">
        <source-position filename="cafe-rr.h" line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="2118">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="2112">a #CafeRRCrtc</doc>
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="red"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="2114">the minimum width</doc>
            <type name="gushort" c:type="unsigned short**"/>
          </parameter>
          <parameter name="green"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="2115">the maximum width</doc>
            <type name="gushort" c:type="unsigned short**"/>
          </parameter>
          <parameter name="blue"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="2116">the minimum height</doc>
            <type name="gushort" c:type="unsigned short**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="cafe_rr_crtc_get_id">
        <source-position filename="cafe-rr.h" line="157"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="cafe_rr_crtc_get_position">
        <source-position filename="cafe-rr.h" line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1840">a #CafeRRCrtc</doc>
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rotations" c:identifier="cafe_rr_crtc_get_rotations">
        <source-position filename="cafe-rr.h" line="186"/>
        <return-value transfer-ownership="none">
          <type name="RRRotation" c:type="CafeRRRotation"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_config"
              c:identifier="cafe_rr_crtc_set_config"
              throws="1">
        <source-position filename="cafe-rr.h" line="160"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="RRRotation" c:type="CafeRRRotation"/>
          </parameter>
          <parameter name="outputs" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput**"/>
          </parameter>
          <parameter name="n_outputs" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_config_with_time"
              c:identifier="cafe_rr_crtc_set_config_with_time"
              throws="1">
        <source-position filename="cafe-rr.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="RRRotation" c:type="CafeRRRotation"/>
          </parameter>
          <parameter name="outputs" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput**"/>
          </parameter>
          <parameter name="n_outputs" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gamma" c:identifier="cafe_rr_crtc_set_gamma">
        <source-position filename="cafe-rr.h" line="195"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="red" transfer-ownership="none">
            <type name="gushort" c:type="unsigned short*"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <type name="gushort" c:type="unsigned short*"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <type name="gushort" c:type="unsigned short*"/>
          </parameter>
        </parameters>
      </method>
      <method name="supports_rotation"
              c:identifier="cafe_rr_crtc_supports_rotation">
        <source-position filename="cafe-rr.h" line="187"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="crtc" transfer-ownership="none">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </instance-parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="RRRotation" c:type="CafeRRRotation"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="RRError"
                 c:type="CafeRRError"
                 glib:error-domain="cafe-rr-error-quark">
      <source-position filename="cafe-rr.h" line="74"/>
      <member name="unknown" value="0" c:identifier="CAFE_RR_ERROR_UNKNOWN">
      </member>
      <member name="no_randr_extension"
              value="1"
              c:identifier="CAFE_RR_ERROR_NO_RANDR_EXTENSION">
      </member>
      <member name="randr_error"
              value="2"
              c:identifier="CAFE_RR_ERROR_RANDR_ERROR">
      </member>
      <member name="bounds_error"
              value="3"
              c:identifier="CAFE_RR_ERROR_BOUNDS_ERROR">
      </member>
      <member name="crtc_assignment"
              value="4"
              c:identifier="CAFE_RR_ERROR_CRTC_ASSIGNMENT">
      </member>
      <member name="no_matching_config"
              value="5"
              c:identifier="CAFE_RR_ERROR_NO_MATCHING_CONFIG">
      </member>
    </enumeration>
    <class name="RRLabeler"
           c:symbol-prefix="rr_labeler"
           c:type="CafeRRLabeler"
           parent="GObject.Object"
           glib:type-name="CafeRRLabeler"
           glib:get-type="cafe_rr_labeler_get_type"
           glib:type-struct="RRLabelerClass">
      <source-position filename="cafe-rr-labeler.h" line="55"/>
      <constructor name="new" c:identifier="cafe_rr_labeler_new">
        <doc xml:space="preserve"
             filename="cafe-rr-labeler.c"
             line="471">Create a GUI element that will display colored labels on each connected monitor.
This is useful when users are required to identify which monitor is which, e.g. for
for configuring multiple monitors.
The labels will be shown by default, use cafe_rr_labeler_hide to hide them.</doc>
        <source-position filename="cafe-rr-labeler.h" line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-rr-labeler.c"
               line="480">A new #CafeRRLabeler</doc>
          <type name="RRLabeler" c:type="CafeRRLabeler*"/>
        </return-value>
        <parameters>
          <parameter name="config" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-labeler.c"
                 line="473">Configuration of the screens to label</doc>
            <type name="RRConfig" c:type="CafeRRConfig*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_rgba_for_output"
              c:identifier="cafe_rr_labeler_get_rgba_for_output">
        <doc xml:space="preserve"
             filename="cafe-rr-labeler.c"
             line="518">Get the color used for the label on a given output (monitor).</doc>
        <source-position filename="cafe-rr-labeler.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="labeler" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-labeler.c"
                 line="520">A #CafeRRLabeler</doc>
            <type name="RRLabeler" c:type="CafeRRLabeler*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-labeler.c"
                 line="521">Output device (i.e. monitor) to query</doc>
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </parameter>
          <parameter name="color_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-labeler.c"
                 line="522">Color of selected monitor.</doc>
            <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hide" c:identifier="cafe_rr_labeler_hide">
        <doc xml:space="preserve"
             filename="cafe-rr-labeler.c"
             line="490">Hide ouput labels.</doc>
        <source-position filename="cafe-rr-labeler.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="labeler" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-labeler.c"
                 line="492">A #CafeRRLabeler</doc>
            <type name="RRLabeler" c:type="CafeRRLabeler*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="config"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="RRConfig"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="RRLabelerPrivate" c:type="CafeRRLabelerPrivate*"/>
      </field>
    </class>
    <record name="RRLabelerClass"
            c:type="CafeRRLabelerClass"
            glib:is-gtype-struct-for="RRLabeler">
      <source-position filename="cafe-rr-labeler.h" line="55"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="RRLabelerPrivate"
            c:type="CafeRRLabelerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-rr-labeler.h" line="44"/>
    </record>
    <record name="RRMode"
            c:type="CafeRRMode"
            opaque="1"
            glib:type-name="CafeRRMode"
            glib:get-type="cafe_rr_mode_get_type"
            c:symbol-prefix="rr_mode">
      <source-position filename="cafe-rr.h" line="37"/>
      <method name="get_freq" c:identifier="cafe_rr_mode_get_freq">
        <source-position filename="cafe-rr.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="cafe_rr_mode_get_height">
        <source-position filename="cafe-rr.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="cafe_rr_mode_get_id">
        <source-position filename="cafe-rr.h" line="151"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="cafe_rr_mode_get_width">
        <source-position filename="cafe-rr.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="RROutput"
            c:type="CafeRROutput"
            opaque="1"
            glib:type-name="CafeRROutput"
            glib:get-type="cafe_rr_output_get_type"
            c:symbol-prefix="rr_output">
      <source-position filename="cafe-rr.h" line="35"/>
      <method name="can_clone" c:identifier="cafe_rr_output_can_clone">
        <source-position filename="cafe-rr.h" line="142"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
          <parameter name="clone" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connector_type"
              c:identifier="cafe_rr_output_get_connector_type">
        <source-position filename="cafe-rr.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_crtc" c:identifier="cafe_rr_output_get_crtc">
        <source-position filename="cafe-rr.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="RRCrtc" c:type="CafeRRCrtc*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1428">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_mode"
              c:identifier="cafe_rr_output_get_current_mode">
        <source-position filename="cafe-rr.h" line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="1495">the current mode of this output</doc>
          <type name="RRMode" c:type="CafeRRMode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1494">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_edid_data" c:identifier="cafe_rr_output_get_edid_data">
        <source-position filename="cafe-rr.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="guint8" c:type="const guint8*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height_mm" c:identifier="cafe_rr_output_get_height_mm">
        <source-position filename="cafe-rr.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="cafe_rr_output_get_id">
        <source-position filename="cafe-rr.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_primary"
              c:identifier="cafe_rr_output_get_is_primary">
        <source-position filename="cafe-rr.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="cafe_rr_output_get_name">
        <source-position filename="cafe-rr.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="cafe_rr_output_get_position">
        <source-position filename="cafe-rr.h" line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1512">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_possible_crtcs"
              c:identifier="cafe_rr_output_get_possible_crtcs">
        <source-position filename="cafe-rr.h" line="134"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRRCrtc**">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1441">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_preferred_mode"
              c:identifier="cafe_rr_output_get_preferred_mode">
        <source-position filename="cafe-rr.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="RRMode" c:type="CafeRRMode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1552">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size_inches"
              c:identifier="cafe_rr_output_get_size_inches">
        <source-position filename="cafe-rr.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width_mm" c:identifier="cafe_rr_output_get_width_mm">
        <source-position filename="cafe-rr.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="outout" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_connected" c:identifier="cafe_rr_output_is_connected">
        <source-position filename="cafe-rr.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_laptop" c:identifier="cafe_rr_output_is_laptop">
        <source-position filename="cafe-rr.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_modes" c:identifier="cafe_rr_output_list_modes">
        <source-position filename="cafe-rr.h" line="144"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRRMode**">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="1567">a #CafeRROutput</doc>
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="supports_mode" c:identifier="cafe_rr_output_supports_mode">
        <source-position filename="cafe-rr.h" line="146"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="RROutputInfo"
           c:symbol-prefix="rr_output_info"
           c:type="CafeRROutputInfo"
           parent="GObject.Object"
           glib:type-name="CafeRROutputInfo"
           glib:get-type="cafe_rr_output_info_get_type"
           glib:type-struct="RROutputInfoClass">
      <source-position filename="cafe-rr-config.h" line="51"/>
      <method name="get_aspect_ratio"
              c:identifier="cafe_rr_output_info_get_aspect_ratio">
        <source-position filename="cafe-rr-config.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="cafe_rr_output_info_get_display_name">
        <source-position filename="cafe-rr-config.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-output-info.c"
               line="217">the display name of this output</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_geometry"
              c:identifier="cafe_rr_output_info_get_geometry">
        <source-position filename="cafe-rr-config.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="97">a #CafeRROutputInfo</doc>
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="cafe_rr_output_info_get_name">
        <source-position filename="cafe-rr-config.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-output-info.c"
               line="67">the output name</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_preferred_height"
              c:identifier="cafe_rr_output_info_get_preferred_height">
        <source-position filename="cafe-rr-config.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_preferred_width"
              c:identifier="cafe_rr_output_info_get_preferred_width">
        <source-position filename="cafe-rr-config.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_primary"
              c:identifier="cafe_rr_output_info_get_primary">
        <source-position filename="cafe-rr-config.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_product"
              c:identifier="cafe_rr_output_info_get_product">
        <source-position filename="cafe-rr-config.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_refresh_rate"
              c:identifier="cafe_rr_output_info_get_refresh_rate">
        <source-position filename="cafe-rr-config.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rotation"
              c:identifier="cafe_rr_output_info_get_rotation">
        <source-position filename="cafe-rr-config.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="RRRotation" c:type="CafeRRRotation"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_serial" c:identifier="cafe_rr_output_info_get_serial">
        <source-position filename="cafe-rr-config.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vendor" c:identifier="cafe_rr_output_info_get_vendor">
        <source-position filename="cafe-rr-config.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="179">a #CafeRROutputInfo</doc>
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="vendor"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <array zero-terminated="0" c:type="gchar*" fixed-size="4">
              <type name="utf8" c:type="gchar"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="is_active" c:identifier="cafe_rr_output_info_is_active">
        <source-position filename="cafe-rr-config.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-output-info.c"
               line="79">whether there is a CRTC assigned to this output (i.e. a signal is being sent to it)</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_connected"
              c:identifier="cafe_rr_output_info_is_connected">
        <source-position filename="cafe-rr-config.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr-output-info.c"
               line="168">whether the output is physically connected to a monitor</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active" c:identifier="cafe_rr_output_info_set_active">
        <source-position filename="cafe-rr-config.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="active" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_geometry"
              c:identifier="cafe_rr_output_info_set_geometry">
        <doc xml:space="preserve"
             filename="cafe-rr-output-info.c"
             line="117">Set the geometry for the monitor connected to the specified output.</doc>
        <source-position filename="cafe-rr-config.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="119">a #CafeRROutputInfo</doc>
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="120">x offset for monitor</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="121">y offset for monitor</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="122">monitor width</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr-output-info.c"
                 line="123">monitor height</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_primary"
              c:identifier="cafe_rr_output_info_set_primary">
        <source-position filename="cafe-rr-config.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="primary" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_refresh_rate"
              c:identifier="cafe_rr_output_info_set_refresh_rate">
        <source-position filename="cafe-rr-config.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="rate" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rotation"
              c:identifier="cafe_rr_output_info_set_rotation">
        <source-position filename="cafe-rr-config.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="RROutputInfo" c:type="CafeRROutputInfo*"/>
          </instance-parameter>
          <parameter name="rotation" transfer-ownership="none">
            <type name="RRRotation" c:type="CafeRRRotation"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="RROutputInfoPrivate" c:type="CafeRROutputInfoPrivate*"/>
      </field>
    </class>
    <record name="RROutputInfoClass"
            c:type="CafeRROutputInfoClass"
            glib:is-gtype-struct-for="RROutputInfo">
      <source-position filename="cafe-rr-config.h" line="51"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="RROutputInfoPrivate"
            c:type="CafeRROutputInfoPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-rr-config.h" line="37"/>
    </record>
    <bitfield name="RRRotation" c:type="CafeRRRotation">
      <source-position filename="cafe-rr.h" line="59"/>
      <member name="rotation_0" value="1" c:identifier="CAFE_RR_ROTATION_0">
      </member>
      <member name="rotation_90" value="2" c:identifier="CAFE_RR_ROTATION_90">
      </member>
      <member name="rotation_180"
              value="4"
              c:identifier="CAFE_RR_ROTATION_180">
      </member>
      <member name="rotation_270"
              value="8"
              c:identifier="CAFE_RR_ROTATION_270">
      </member>
      <member name="reflect_x" value="16" c:identifier="CAFE_RR_REFLECT_X">
      </member>
      <member name="reflect_y" value="32" c:identifier="CAFE_RR_REFLECT_Y">
      </member>
    </bitfield>
    <class name="RRScreen"
           c:symbol-prefix="rr_screen"
           c:type="CafeRRScreen"
           parent="GObject.Object"
           glib:type-name="CafeRRScreen"
           glib:get-type="cafe_rr_screen_get_type"
           glib:type-struct="RRScreenClass">
      <source-position filename="cafe-rr.h" line="49"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="cafe_rr_screen_new" throws="1">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="823">Creates a new #CafeRRScreen instance</doc>
        <source-position filename="cafe-rr.h" line="95"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="830">a new #CafeRRScreen instance or NULL if screen could not be created,
for instance if the driver does not support Xrandr 1.2</doc>
          <type name="RRScreen" c:type="CafeRRScreen*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="825">the #CdkScreen on which to operate</doc>
            <type name="Cdk.Screen" c:type="CdkScreen*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_crtc_by_id"
              c:identifier="cafe_rr_screen_get_crtc_by_id">
        <source-position filename="cafe-rr.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="1080">the CRTC identified by @id</doc>
          <type name="RRCrtc" c:type="CafeRRCrtc*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_output_by_id"
              c:identifier="cafe_rr_screen_get_output_by_id">
        <source-position filename="cafe-rr.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="1106">the output identified by @id</doc>
          <type name="RROutput" c:type="CafeRROutput*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_output_by_name"
              c:identifier="cafe_rr_screen_get_output_by_name">
        <source-position filename="cafe-rr.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="1404">the output identified by @name</doc>
          <type name="RROutput" c:type="CafeRROutput*"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ranges" c:identifier="cafe_rr_screen_get_ranges">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="861">Get the ranges of the screen</doc>
        <source-position filename="cafe-rr.h" line="114"/>
        <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="cafe-rr.c"
                 line="863">a #CafeRRScreen</doc>
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="min_width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="864">the minimum width</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="max_width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="865">the maximum width</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="min_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="866">the minimum height</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="max_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="867">the maximum height</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timestamps"
              c:identifier="cafe_rr_screen_get_timestamps">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="897">Queries the two timestamps that the X RANDR extension maintains.  The X
server will prevent change requests for stale configurations, those whose
timestamp is not equal to that of the latest request for configuration.  The
X server will also prevent change requests that have an older timestamp to
the latest change request.</doc>
        <source-position filename="cafe-rr.h" line="119"/>
        <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="cafe-rr.c"
                 line="899">a #CafeRRScreen</doc>
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="change_timestamp_ret"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="900">Location in which to store the timestamp at which the RANDR configuration was last changed</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
          <parameter name="config_timestamp_ret"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="901">Location in which to store the timestamp at which the RANDR configuration was last obtained</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_clone_modes"
              c:identifier="cafe_rr_screen_list_clone_modes">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="1029">List available XRandR clone modes</doc>
        <source-position filename="cafe-rr.h" line="100"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRRMode**">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_crtcs" c:identifier="cafe_rr_screen_list_crtcs">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="1045">List all CRTCs</doc>
        <source-position filename="cafe-rr.h" line="98"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRRCrtc**">
            <type name="RRCrtc" c:type="CafeRRCrtc*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_modes" c:identifier="cafe_rr_screen_list_modes">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="1013">List available XRandR modes</doc>
        <source-position filename="cafe-rr.h" line="99"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRRMode**">
            <type name="RRMode" c:type="CafeRRMode*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_outputs" c:identifier="cafe_rr_screen_list_outputs">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="1061">List all outputs</doc>
        <source-position filename="cafe-rr.h" line="97"/>
        <return-value transfer-ownership="none">
          <array c:type="CafeRROutput**">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="refresh" c:identifier="cafe_rr_screen_refresh" throws="1">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="982">Refreshes the screen configuration, and calls the screen's callback if it
exists and if the screen's configuration changed.</doc>
        <source-position filename="cafe-rr.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-rr.c"
               line="990">TRUE if the screen's configuration changed; otherwise, the
function returns FALSE and a NULL error if the configuration didn't change,
or FALSE and a non-NULL error if there was an error while refreshing the
configuration.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="cafe-rr.c"
                 line="984">a #CafeRRScreen</doc>
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_primary_output"
              c:identifier="cafe_rr_screen_set_primary_output">
        <source-position filename="cafe-rr.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <type name="RROutput" c:type="CafeRROutput*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size" c:identifier="cafe_rr_screen_set_size">
        <source-position filename="cafe-rr.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screen" transfer-ownership="none">
            <type name="RRScreen" c:type="CafeRRScreen*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mm_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="mm_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="cdk-screen"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Cdk.Screen"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="RRScreenPrivate" c:type="CafeRRScreenPrivate*"/>
      </field>
      <glib:signal name="changed" when="first" no-recurse="1" no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="RRScreenClass"
            c:type="CafeRRScreenClass"
            glib:is-gtype-struct-for="RRScreen">
      <source-position filename="cafe-rr.h" line="49"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <source-position filename="cafe-rr.h" line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="RRScreenPrivate"
            c:type="CafeRRScreenPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="cafe-rr.h" line="34"/>
    </record>
    <function-macro name="RR_CONFIG"
                    c:identifier="CAFE_RR_CONFIG"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="104"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_CONFIG_CLASS"
                    c:identifier="CAFE_RR_CONFIG_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="106"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_CONFIG_GET_CLASS"
                    c:identifier="CAFE_RR_CONFIG_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="108"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="RR_CONNECTOR_TYPE_PANEL"
              value="Panel"
              c:type="CAFE_RR_CONNECTOR_TYPE_PANEL">
      <source-position filename="cafe-rr.h" line="76"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="RR_LABELER"
                    c:identifier="CAFE_RR_LABELER"
                    introspectable="0">
      <source-position filename="cafe-rr-labeler.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_LABELER_CLASS"
                    c:identifier="CAFE_RR_LABELER_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-labeler.h" line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_LABELER_GET_CLASS"
                    c:identifier="CAFE_RR_LABELER_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-labeler.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_OUTPUT_INFO"
                    c:identifier="CAFE_RR_OUTPUT_INFO"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="54"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_OUTPUT_INFO_CLASS"
                    c:identifier="CAFE_RR_OUTPUT_INFO_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="56"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_OUTPUT_INFO_GET_CLASS"
                    c:identifier="CAFE_RR_OUTPUT_INFO_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr-config.h" line="58"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_SCREEN"
                    c:identifier="CAFE_RR_SCREEN"
                    introspectable="0">
      <source-position filename="cafe-rr.h" line="79"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_SCREEN_CLASS"
                    c:identifier="CAFE_RR_SCREEN_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr.h" line="81"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="RR_SCREEN_GET_CLASS"
                    c:identifier="CAFE_RR_SCREEN_GET_CLASS"
                    introspectable="0">
      <source-position filename="cafe-rr.h" line="83"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function name="cdk_spawn_command_line_on_screen"
              c:identifier="cafe_cdk_spawn_command_line_on_screen"
              version="1.7.1"
              throws="1">
      <doc xml:space="preserve"
           filename="cafe-desktop-utils.c"
           line="180">This is a replacement for cdk_spawn_command_line_on_screen, deprecated
in CDK 2.24 and removed in CDK 3.0.

cdk_spawn_command_line_on_screen is like g_spawn_command_line_async(),
except the child process is spawned in such an environment that on
calling cdk_display_open() it would be returned a CdkDisplay with
screen as the default screen.

This is useful for applications which wish to launch an application
on a specific screen.</doc>
      <source-position filename="cafe-desktop-utils.h" line="44"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-desktop-utils.c"
             line="197">TRUE on success, FALSE if error is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-utils.c"
               line="182">a CdkScreen</doc>
          <type name="Cdk.Screen" c:type="CdkScreen*"/>
        </parameter>
        <parameter name="command" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-utils.c"
               line="183">a command line</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="dconf_list_subdirs"
              c:identifier="cafe_dconf_list_subdirs"
              version="1.7.1"
              introspectable="0">
      <doc xml:space="preserve"
           filename="cafe-dconf.c"
           line="91">Returns the list of subdirectories of the given dconf directory.</doc>
      <source-position filename="cafe-dconf.h" line="41"/>
      <return-value>
        <doc xml:space="preserve"
             filename="cafe-dconf.c"
             line="99">the list of subdirectories.</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="dir" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-dconf.c"
               line="93">the dconf directory.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="remove_trailing_slash" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-dconf.c"
               line="94">whether to remove the trailing slash from
paths.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="dconf_recursive_reset"
              c:identifier="cafe_dconf_recursive_reset"
              version="1.7.1"
              throws="1">
      <doc xml:space="preserve"
           filename="cafe-dconf.c"
           line="68">Allow to reset a dconf path.</doc>
      <source-position filename="cafe-dconf.h" line="38"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="dir" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-dconf.c"
               line="70">the dconf directory to reset.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="dconf_sync" c:identifier="cafe_dconf_sync" version="1.7.1">
      <doc xml:space="preserve"
           filename="cafe-dconf.c"
           line="135">Ensure dconf daemon syncs the written values.</doc>
      <source-position filename="cafe-dconf.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="dconf_write_sync"
              c:identifier="cafe_dconf_write_sync"
              version="1.7.1"
              throws="1">
      <doc xml:space="preserve"
           filename="cafe-dconf.c"
           line="43">Allow to write a value to dconf.</doc>
      <source-position filename="cafe-dconf.h" line="34"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-dconf.c"
               line="45">the key to write.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-dconf.c"
               line="46">the value to write.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_ctk_style_get_dark_color"
              c:identifier="cafe_desktop_ctk_style_get_dark_color">
      <source-position filename="cafe-desktop-utils.h" line="52"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="style" transfer-ownership="none">
          <type name="Ctk.StyleContext" c:type="CtkStyleContext*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="Ctk.StateFlags" c:type="CtkStateFlags"/>
        </parameter>
        <parameter name="color" transfer-ownership="none">
          <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_ctk_style_get_light_color"
              c:identifier="cafe_desktop_ctk_style_get_light_color">
      <source-position filename="cafe-desktop-utils.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="style" transfer-ownership="none">
          <type name="Ctk.StyleContext" c:type="CtkStyleContext*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="Ctk.StateFlags" c:type="CtkStateFlags"/>
        </parameter>
        <parameter name="color" transfer-ownership="none">
          <type name="Cdk.RGBA" c:type="CdkRGBA*"/>
        </parameter>
      </parameters>
    </function>
    <function-macro name="desktop_item_clear_attr"
                    c:identifier="cafe_desktop_item_clear_attr"
                    introspectable="0">
      <source-position filename="cafe-desktop-item.h" line="301"/>
      <parameters>
        <parameter name="item">
        </parameter>
        <parameter name="attr">
        </parameter>
      </parameters>
    </function-macro>
    <function name="desktop_item_error_quark"
              c:identifier="cafe_desktop_item_error_quark"
              moved-to="DesktopItem.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="desktop_item_find_icon"
              c:identifier="cafe_desktop_item_find_icon"
              moved-to="DesktopItem.find_icon">
      <source-position filename="cafe-desktop-item.h" line="222"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="icon_theme" transfer-ownership="none">
          <type name="Ctk.IconTheme" c:type="CtkIconTheme*"/>
        </parameter>
        <parameter name="icon" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="desired_size" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_prepend_terminal_to_vector"
              c:identifier="cafe_desktop_prepend_terminal_to_vector">
      <doc xml:space="preserve"
           filename="cafe-desktop-utils.c"
           line="54">Prepends a terminal (either the one configured as default in the user's
CAFE setup, or one of the common xterm emulators) to the passed in vector,
modifying it in the process.  The vector should be allocated with #g_malloc,
as this will #g_free the original vector.  Also all elements must have been
allocated separately.  That is the standard glib/CAFE way of doing vectors
however.  If the integer that @argc points to is negative, the size will
first be computed.  Also note that passing in pointers to a vector that is
empty, will just create a new vector for you.</doc>
      <source-position filename="cafe-desktop-utils.h" line="41"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="argc" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-utils.c"
               line="56">a pointer to the vector size</doc>
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-utils.c"
               line="57">a pointer to the vector</doc>
          <type name="utf8" c:type="char***"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_thumbnail_has_uri"
              c:identifier="cafe_desktop_thumbnail_has_uri"
              version="2.2">
      <doc xml:space="preserve"
           filename="cafe-desktop-thumbnail.c"
           line="1296">Returns whether the thumbnail has the correct uri embedded in the
Thumb::URI option in the png.</doc>
      <source-position filename="cafe-desktop-thumbnail.h" line="92"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1304">TRUE if the thumbnail is for @uri</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pixbuf" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1298">an loaded thumbnail pixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1299">a uri</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_thumbnail_is_valid"
              c:identifier="cafe_desktop_thumbnail_is_valid"
              version="2.2">
      <doc xml:space="preserve"
           filename="cafe-desktop-thumbnail.c"
           line="1318">Returns whether the thumbnail has the correct uri and mtime embedded in the
png options.</doc>
      <source-position filename="cafe-desktop-thumbnail.h" line="94"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1327">TRUE if the thumbnail has the right @uri and @mtime</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pixbuf" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1320">an loaded thumbnail #GdkPixbuf</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1321">a uri</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="mtime" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1322">the mtime</doc>
          <type name="time_t" c:type="time_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="desktop_thumbnail_path_for_uri"
              c:identifier="cafe_desktop_thumbnail_path_for_uri"
              version="2.2">
      <doc xml:space="preserve"
           filename="cafe-desktop-thumbnail.c"
           line="1278">Returns the filename that a thumbnail of size @size for @uri would have.</doc>
      <source-position filename="cafe-desktop-thumbnail.h" line="97"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-desktop-thumbnail.c"
             line="1285">an absolute filename</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1280">an uri</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-desktop-thumbnail.c"
               line="1281">a thumbnail size</doc>
          <type name="DesktopThumbnailSize" c:type="CafeDesktopThumbnailSize"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_all_locales"
              c:identifier="cafe_get_all_locales"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="1234">Gets all locales.</doc>
      <source-position filename="cafe-languages.h" line="38"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="1239">
  a newly allocated %NULL-terminated string array containing the
  all locales. Free with g_strfreev().</doc>
        <array c:type="char**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="get_country_from_code"
              c:identifier="cafe_get_country_from_code"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="1294">Gets the country name for @code. If @locale is provided the
returned string is translated accordingly.</doc>
      <source-position filename="cafe-languages.h" line="48"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="1302">the country name. Caller takes
ownership.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1296">an ISO 3166 code string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="translation"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1297">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_country_from_locale"
              c:identifier="cafe_get_country_from_locale"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="1153">Gets the country description for @locale. If @translation is
provided the returned string is translated accordingly.</doc>
      <source-position filename="cafe-languages.h" line="36"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="1161">the country description. Caller
takes ownership.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="locale" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1155">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="translation"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1156">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_language_from_code"
              c:identifier="cafe_get_language_from_code"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="1270">Gets the language name for @code. If @locale is provided the
returned string is translated accordingly.</doc>
      <source-position filename="cafe-languages.h" line="46"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="1278">the language name. Caller takes
ownership.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1272">an ISO 639 code string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="translation"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1273">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_language_from_locale"
              c:identifier="cafe_get_language_from_locale"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="1068">Gets the language description for @locale. If @translation is
provided the returned string is translated accordingly.</doc>
      <source-position filename="cafe-languages.h" line="34"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="1076">the language description. Caller
takes ownership.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="locale" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1070">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="translation"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="1071">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gsettings_append_strv"
              c:identifier="cafe_gsettings_append_strv">
      <source-position filename="cafe-gsettings.h" line="38"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="settings" transfer-ownership="none">
          <type name="Gio.Settings" c:type="GSettings*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gsettings_is_valid_keyname"
              c:identifier="cafe_gsettings_is_valid_keyname"
              throws="1">
      <source-position filename="cafe-gsettings.h" line="35"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gsettings_remove_all_from_strv"
              c:identifier="cafe_gsettings_remove_all_from_strv">
      <source-position filename="cafe-gsettings.h" line="42"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="settings" transfer-ownership="none">
          <type name="Gio.Settings" c:type="GSettings*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gsettings_schema_exists"
              c:identifier="cafe_gsettings_schema_exists"
              version="1.7.1">
      <doc xml:space="preserve"
           filename="cafe-gsettings.c"
           line="27">Check if a given schema is installed in GSettings.</doc>
      <source-position filename="cafe-gsettings.h" line="33"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-gsettings.c"
             line="33">TRUE if schema exists, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="schema" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-gsettings.c"
               line="29">schema to check.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gsettings_strv_to_gslist"
              c:identifier="cafe_gsettings_strv_to_gslist"
              introspectable="0">
      <source-position filename="cafe-gsettings.h" line="46"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <type name="utf8" c:type="const gchar* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="language_has_translations"
              c:identifier="cafe_language_has_translations"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="360">Returns %TRUE if there are translations for language @code.</doc>
      <source-position filename="cafe-languages.h" line="45"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="366">%TRUE if there are translations for language @code.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="362">an ISO 639 code string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="normalize_locale"
              c:identifier="cafe_normalize_locale"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="247">Gets the normalized locale string in the form
[language[_country][.codeset][@modifier]] for @name.</doc>
      <source-position filename="cafe-languages.h" line="44"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="254">normalized locale string. Caller
takes ownership.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="locale" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="249">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_locale"
              c:identifier="cafe_parse_locale"
              version="1.22">
      <doc xml:space="preserve"
           filename="cafe-languages.c"
           line="101">Extracts the various components of a locale string of the form
[language[_country][.codeset][@modifier]]. See
http://en.wikipedia.org/wiki/Locale.</doc>
      <source-position filename="cafe-languages.h" line="39"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-languages.c"
             line="117">%TRUE if parsing was successful.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="locale" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="103">a locale string</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="language_codep"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="104">location to
store the language code, or %NULL</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
        <parameter name="country_codep"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="106">location to
store the country code, or %NULL</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
        <parameter name="codesetp"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="108">location to
store the codeset, or %NULL</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
        <parameter name="modifierp"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="cafe-languages.c"
               line="110">location to
store the modifier, or %NULL</doc>
          <type name="utf8" c:type="char**"/>
        </parameter>
      </parameters>
    </function>
    <function name="rr_error_quark" c:identifier="cafe_rr_error_quark">
      <doc xml:space="preserve"
           filename="cafe-rr.c"
           line="179">Returns the #GQuark that will be used for #GError values returned by the
CafeRR API.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="cafe-rr.c"
             line="185">a #GQuark used to identify errors coming from the CafeRR API.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
