<?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:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="Clutter" version="1.0"/>
  <include name="Cogl" version="1.0"/>
  <include name="GL" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="2.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="2.0"/>
  <include name="Json" version="1.0"/>
  <include name="Pango" version="1.0"/>
  <include name="PangoCairo" version="1.0"/>
  <include name="PangoFT2" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="fontconfig" version="2.0"/>
  <include name="freetype2" version="2.0"/>
  <include name="xfixes" version="4.0"/>
  <include name="xlib" version="2.0"/>
  <package name="clutter-1.0"/>
  <package name="gtk+-2.0"/>
  <namespace name="Meta"
             version="2.31"
             shared-library=""
             c:identifier-prefixes="Meta"
             c:symbol-prefixes="meta">
    <enumeration name="ActionTitlebar" c:type="MetaActionTitlebar">
      <member name="toggle_shade"
              value="0"
              c:identifier="META_ACTION_TITLEBAR_TOGGLE_SHADE"/>
      <member name="toggle_maximize"
              value="1"
              c:identifier="META_ACTION_TITLEBAR_TOGGLE_MAXIMIZE"/>
      <member name="toggle_maximize_horizontally"
              value="2"
              c:identifier="META_ACTION_TITLEBAR_TOGGLE_MAXIMIZE_HORIZONTALLY"/>
      <member name="toggle_maximize_vertically"
              value="3"
              c:identifier="META_ACTION_TITLEBAR_TOGGLE_MAXIMIZE_VERTICALLY"/>
      <member name="minimize"
              value="4"
              c:identifier="META_ACTION_TITLEBAR_MINIMIZE"/>
      <member name="none" value="5" c:identifier="META_ACTION_TITLEBAR_NONE"/>
      <member name="lower"
              value="6"
              c:identifier="META_ACTION_TITLEBAR_LOWER"/>
      <member name="menu" value="7" c:identifier="META_ACTION_TITLEBAR_MENU"/>
      <member name="last" value="8" c:identifier="META_ACTION_TITLEBAR_LAST"/>
    </enumeration>
    <record name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec">
      <field name="type" writable="1">
        <type name="GradientType" c:type="MetaGradientType"/>
      </field>
      <field name="alphas" writable="1">
        <type name="guint" c:type="unsigned*"/>
      </field>
      <field name="n_alphas" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <method name="free" c:identifier="meta_alpha_gradient_spec_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="Atom" c:type="MetaAtom">
      <member name="first" value="0" c:identifier="META_ATOM_FIRST"/>
      <member name="wm_protocols"
              value="1"
              c:identifier="META_ATOM_WM_PROTOCOLS"/>
      <member name="wm_take_focus"
              value="2"
              c:identifier="META_ATOM_WM_TAKE_FOCUS"/>
      <member name="wm_delete_window"
              value="3"
              c:identifier="META_ATOM_WM_DELETE_WINDOW"/>
      <member name="wm_state" value="4" c:identifier="META_ATOM_WM_STATE"/>
      <member name="_motif_wm_hints"
              value="5"
              c:identifier="META_ATOM__MOTIF_WM_HINTS"/>
      <member name="wm_change_state"
              value="6"
              c:identifier="META_ATOM_WM_CHANGE_STATE"/>
      <member name="sm_client_id"
              value="7"
              c:identifier="META_ATOM_SM_CLIENT_ID"/>
      <member name="wm_client_leader"
              value="8"
              c:identifier="META_ATOM_WM_CLIENT_LEADER"/>
      <member name="wm_window_role"
              value="9"
              c:identifier="META_ATOM_WM_WINDOW_ROLE"/>
      <member name="utf8_string"
              value="10"
              c:identifier="META_ATOM_UTF8_STRING"/>
      <member name="wm_icon_size"
              value="11"
              c:identifier="META_ATOM_WM_ICON_SIZE"/>
      <member name="_kwm_win_icon"
              value="12"
              c:identifier="META_ATOM__KWM_WIN_ICON"/>
      <member name="_mutter_restart_message"
              value="13"
              c:identifier="META_ATOM__MUTTER_RESTART_MESSAGE"/>
      <member name="_mutter_reload_theme_message"
              value="14"
              c:identifier="META_ATOM__MUTTER_RELOAD_THEME_MESSAGE"/>
      <member name="_mutter_set_keybindings_message"
              value="15"
              c:identifier="META_ATOM__MUTTER_SET_KEYBINDINGS_MESSAGE"/>
      <member name="_mutter_toggle_verbose"
              value="16"
              c:identifier="META_ATOM__MUTTER_TOGGLE_VERBOSE"/>
      <member name="_mutter_hints"
              value="17"
              c:identifier="META_ATOM__MUTTER_HINTS"/>
      <member name="_gnome_wm_keybindings"
              value="18"
              c:identifier="META_ATOM__GNOME_WM_KEYBINDINGS"/>
      <member name="_gnome_panel_action"
              value="19"
              c:identifier="META_ATOM__GNOME_PANEL_ACTION"/>
      <member name="_gnome_panel_action_main_menu"
              value="20"
              c:identifier="META_ATOM__GNOME_PANEL_ACTION_MAIN_MENU"/>
      <member name="_gnome_panel_action_run_dialog"
              value="21"
              c:identifier="META_ATOM__GNOME_PANEL_ACTION_RUN_DIALOG"/>
      <member name="_mutter_sentinel"
              value="22"
              c:identifier="META_ATOM__MUTTER_SENTINEL"/>
      <member name="_mutter_version"
              value="23"
              c:identifier="META_ATOM__MUTTER_VERSION"/>
      <member name="wm_client_machine"
              value="24"
              c:identifier="META_ATOM_WM_CLIENT_MACHINE"/>
      <member name="manager" value="25" c:identifier="META_ATOM_MANAGER"/>
      <member name="targets" value="26" c:identifier="META_ATOM_TARGETS"/>
      <member name="multiple" value="27" c:identifier="META_ATOM_MULTIPLE"/>
      <member name="timestamp" value="28" c:identifier="META_ATOM_TIMESTAMP"/>
      <member name="version" value="29" c:identifier="META_ATOM_VERSION"/>
      <member name="atom_pair" value="30" c:identifier="META_ATOM_ATOM_PAIR"/>
      <member name="_net_wm_sync_request"
              value="31"
              c:identifier="META_ATOM__NET_WM_SYNC_REQUEST"/>
      <member name="_net_wm_sync_request_counter"
              value="32"
              c:identifier="META_ATOM__NET_WM_SYNC_REQUEST_COUNTER"/>
      <member name="_net_wm_visible_name"
              value="33"
              c:identifier="META_ATOM__NET_WM_VISIBLE_NAME"/>
      <member name="_net_wm_visible_icon_name"
              value="34"
              c:identifier="META_ATOM__NET_WM_VISIBLE_ICON_NAME"/>
      <member name="_net_supporting_wm_check"
              value="35"
              c:identifier="META_ATOM__NET_SUPPORTING_WM_CHECK"/>
      <member name="_net_supported"
              value="36"
              c:identifier="META_ATOM__NET_SUPPORTED"/>
      <member name="_net_wm_name"
              value="37"
              c:identifier="META_ATOM__NET_WM_NAME"/>
      <member name="_net_close_window"
              value="38"
              c:identifier="META_ATOM__NET_CLOSE_WINDOW"/>
      <member name="_net_wm_state"
              value="39"
              c:identifier="META_ATOM__NET_WM_STATE"/>
      <member name="_net_wm_state_shaded"
              value="40"
              c:identifier="META_ATOM__NET_WM_STATE_SHADED"/>
      <member name="_net_wm_state_maximized_horz"
              value="41"
              c:identifier="META_ATOM__NET_WM_STATE_MAXIMIZED_HORZ"/>
      <member name="_net_wm_state_maximized_vert"
              value="42"
              c:identifier="META_ATOM__NET_WM_STATE_MAXIMIZED_VERT"/>
      <member name="_net_wm_desktop"
              value="43"
              c:identifier="META_ATOM__NET_WM_DESKTOP"/>
      <member name="_net_number_of_desktops"
              value="44"
              c:identifier="META_ATOM__NET_NUMBER_OF_DESKTOPS"/>
      <member name="_net_current_desktop"
              value="45"
              c:identifier="META_ATOM__NET_CURRENT_DESKTOP"/>
      <member name="_net_wm_window_type"
              value="46"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE"/>
      <member name="_net_wm_window_type_desktop"
              value="47"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_DESKTOP"/>
      <member name="_net_wm_window_type_dock"
              value="48"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_DOCK"/>
      <member name="_net_wm_window_type_toolbar"
              value="49"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_TOOLBAR"/>
      <member name="_net_wm_window_type_menu"
              value="50"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_MENU"/>
      <member name="_net_wm_window_type_utility"
              value="51"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_UTILITY"/>
      <member name="_net_wm_window_type_splash"
              value="52"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_SPLASH"/>
      <member name="_net_wm_window_type_dialog"
              value="53"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_DIALOG"/>
      <member name="_net_wm_window_type_dropdown_menu"
              value="54"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_DROPDOWN_MENU"/>
      <member name="_net_wm_window_type_popup_menu"
              value="55"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_POPUP_MENU"/>
      <member name="_net_wm_window_type_tooltip"
              value="56"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_TOOLTIP"/>
      <member name="_net_wm_window_type_notification"
              value="57"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_NOTIFICATION"/>
      <member name="_net_wm_window_type_combo"
              value="58"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_COMBO"/>
      <member name="_net_wm_window_type_dnd"
              value="59"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_DND"/>
      <member name="_net_wm_window_type_normal"
              value="60"
              c:identifier="META_ATOM__NET_WM_WINDOW_TYPE_NORMAL"/>
      <member name="_net_wm_state_modal"
              value="61"
              c:identifier="META_ATOM__NET_WM_STATE_MODAL"/>
      <member name="_net_client_list"
              value="62"
              c:identifier="META_ATOM__NET_CLIENT_LIST"/>
      <member name="_net_client_list_stacking"
              value="63"
              c:identifier="META_ATOM__NET_CLIENT_LIST_STACKING"/>
      <member name="_net_wm_state_skip_taskbar"
              value="64"
              c:identifier="META_ATOM__NET_WM_STATE_SKIP_TASKBAR"/>
      <member name="_net_wm_state_skip_pager"
              value="65"
              c:identifier="META_ATOM__NET_WM_STATE_SKIP_PAGER"/>
      <member name="_net_wm_icon_name"
              value="66"
              c:identifier="META_ATOM__NET_WM_ICON_NAME"/>
      <member name="_net_wm_icon"
              value="67"
              c:identifier="META_ATOM__NET_WM_ICON"/>
      <member name="_net_wm_icon_geometry"
              value="68"
              c:identifier="META_ATOM__NET_WM_ICON_GEOMETRY"/>
      <member name="_net_wm_moveresize"
              value="69"
              c:identifier="META_ATOM__NET_WM_MOVERESIZE"/>
      <member name="_net_active_window"
              value="70"
              c:identifier="META_ATOM__NET_ACTIVE_WINDOW"/>
      <member name="_net_wm_strut"
              value="71"
              c:identifier="META_ATOM__NET_WM_STRUT"/>
      <member name="_net_wm_state_hidden"
              value="72"
              c:identifier="META_ATOM__NET_WM_STATE_HIDDEN"/>
      <member name="_net_wm_state_fullscreen"
              value="73"
              c:identifier="META_ATOM__NET_WM_STATE_FULLSCREEN"/>
      <member name="_net_wm_ping"
              value="74"
              c:identifier="META_ATOM__NET_WM_PING"/>
      <member name="_net_wm_pid"
              value="75"
              c:identifier="META_ATOM__NET_WM_PID"/>
      <member name="_net_workarea"
              value="76"
              c:identifier="META_ATOM__NET_WORKAREA"/>
      <member name="_net_showing_desktop"
              value="77"
              c:identifier="META_ATOM__NET_SHOWING_DESKTOP"/>
      <member name="_net_desktop_layout"
              value="78"
              c:identifier="META_ATOM__NET_DESKTOP_LAYOUT"/>
      <member name="_net_desktop_names"
              value="79"
              c:identifier="META_ATOM__NET_DESKTOP_NAMES"/>
      <member name="_net_wm_allowed_actions"
              value="80"
              c:identifier="META_ATOM__NET_WM_ALLOWED_ACTIONS"/>
      <member name="_net_wm_action_move"
              value="81"
              c:identifier="META_ATOM__NET_WM_ACTION_MOVE"/>
      <member name="_net_wm_action_resize"
              value="82"
              c:identifier="META_ATOM__NET_WM_ACTION_RESIZE"/>
      <member name="_net_wm_action_shade"
              value="83"
              c:identifier="META_ATOM__NET_WM_ACTION_SHADE"/>
      <member name="_net_wm_action_stick"
              value="84"
              c:identifier="META_ATOM__NET_WM_ACTION_STICK"/>
      <member name="_net_wm_action_maximize_horz"
              value="85"
              c:identifier="META_ATOM__NET_WM_ACTION_MAXIMIZE_HORZ"/>
      <member name="_net_wm_action_maximize_vert"
              value="86"
              c:identifier="META_ATOM__NET_WM_ACTION_MAXIMIZE_VERT"/>
      <member name="_net_wm_action_change_desktop"
              value="87"
              c:identifier="META_ATOM__NET_WM_ACTION_CHANGE_DESKTOP"/>
      <member name="_net_wm_action_close"
              value="88"
              c:identifier="META_ATOM__NET_WM_ACTION_CLOSE"/>
      <member name="_net_wm_state_above"
              value="89"
              c:identifier="META_ATOM__NET_WM_STATE_ABOVE"/>
      <member name="_net_wm_state_below"
              value="90"
              c:identifier="META_ATOM__NET_WM_STATE_BELOW"/>
      <member name="_net_startup_id"
              value="91"
              c:identifier="META_ATOM__NET_STARTUP_ID"/>
      <member name="_net_wm_strut_partial"
              value="92"
              c:identifier="META_ATOM__NET_WM_STRUT_PARTIAL"/>
      <member name="_net_wm_action_fullscreen"
              value="93"
              c:identifier="META_ATOM__NET_WM_ACTION_FULLSCREEN"/>
      <member name="_net_wm_action_minimize"
              value="94"
              c:identifier="META_ATOM__NET_WM_ACTION_MINIMIZE"/>
      <member name="_net_frame_extents"
              value="95"
              c:identifier="META_ATOM__NET_FRAME_EXTENTS"/>
      <member name="_net_request_frame_extents"
              value="96"
              c:identifier="META_ATOM__NET_REQUEST_FRAME_EXTENTS"/>
      <member name="_net_wm_user_time"
              value="97"
              c:identifier="META_ATOM__NET_WM_USER_TIME"/>
      <member name="_net_wm_state_demands_attention"
              value="98"
              c:identifier="META_ATOM__NET_WM_STATE_DEMANDS_ATTENTION"/>
      <member name="_net_moveresize_window"
              value="99"
              c:identifier="META_ATOM__NET_MOVERESIZE_WINDOW"/>
      <member name="_net_desktop_geometry"
              value="100"
              c:identifier="META_ATOM__NET_DESKTOP_GEOMETRY"/>
      <member name="_net_desktop_viewport"
              value="101"
              c:identifier="META_ATOM__NET_DESKTOP_VIEWPORT"/>
      <member name="_net_wm_user_time_window"
              value="102"
              c:identifier="META_ATOM__NET_WM_USER_TIME_WINDOW"/>
      <member name="_net_wm_action_above"
              value="103"
              c:identifier="META_ATOM__NET_WM_ACTION_ABOVE"/>
      <member name="_net_wm_action_below"
              value="104"
              c:identifier="META_ATOM__NET_WM_ACTION_BELOW"/>
      <member name="_net_wm_state_sticky"
              value="105"
              c:identifier="META_ATOM__NET_WM_STATE_STICKY"/>
      <member name="_net_wm_fullscreen_monitors"
              value="106"
              c:identifier="META_ATOM__NET_WM_FULLSCREEN_MONITORS"/>
    </enumeration>
    <enumeration name="ButtonFunction" c:type="MetaButtonFunction">
      <member name="menu" value="0" c:identifier="META_BUTTON_FUNCTION_MENU"/>
      <member name="minimize"
              value="1"
              c:identifier="META_BUTTON_FUNCTION_MINIMIZE"/>
      <member name="maximize"
              value="2"
              c:identifier="META_BUTTON_FUNCTION_MAXIMIZE"/>
      <member name="close"
              value="3"
              c:identifier="META_BUTTON_FUNCTION_CLOSE"/>
      <member name="shade"
              value="4"
              c:identifier="META_BUTTON_FUNCTION_SHADE"/>
      <member name="above"
              value="5"
              c:identifier="META_BUTTON_FUNCTION_ABOVE"/>
      <member name="stick"
              value="6"
              c:identifier="META_BUTTON_FUNCTION_STICK"/>
      <member name="unshade"
              value="7"
              c:identifier="META_BUTTON_FUNCTION_UNSHADE"/>
      <member name="unabove"
              value="8"
              c:identifier="META_BUTTON_FUNCTION_UNABOVE"/>
      <member name="unstick"
              value="9"
              c:identifier="META_BUTTON_FUNCTION_UNSTICK"/>
      <member name="last" value="10" c:identifier="META_BUTTON_FUNCTION_LAST"/>
    </enumeration>
    <record name="ButtonLayout" c:type="MetaButtonLayout">
      <field name="left_buttons" writable="1">
        <array zero-terminated="0" c:type="MetaButtonFunction">
          <type name="ButtonFunction" c:type="MetaButtonFunction"/>
        </array>
      </field>
      <field name="left_buttons_has_spacer" writable="1">
        <array zero-terminated="0" c:type="gboolean">
          <type name="gboolean" c:type="gboolean"/>
        </array>
      </field>
      <field name="right_buttons" writable="1">
        <array zero-terminated="0" c:type="MetaButtonFunction">
          <type name="ButtonFunction" c:type="MetaButtonFunction"/>
        </array>
      </field>
      <field name="right_buttons_has_spacer" writable="1">
        <array zero-terminated="0" c:type="gboolean">
          <type name="gboolean" c:type="gboolean"/>
        </array>
      </field>
    </record>
    <enumeration name="ButtonSizing" c:type="MetaButtonSizing">
      <member name="aspect"
              value="0"
              c:identifier="META_BUTTON_SIZING_ASPECT"/>
      <member name="fixed" value="1" c:identifier="META_BUTTON_SIZING_FIXED"/>
      <member name="last" value="2" c:identifier="META_BUTTON_SIZING_LAST"/>
    </enumeration>
    <record name="ButtonSpace" c:type="MetaButtonSpace">
      <field name="visible" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="clickable" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
    </record>
    <enumeration name="ButtonState" c:type="MetaButtonState">
      <member name="normal" value="0" c:identifier="META_BUTTON_STATE_NORMAL"/>
      <member name="pressed"
              value="1"
              c:identifier="META_BUTTON_STATE_PRESSED"/>
      <member name="prelight"
              value="2"
              c:identifier="META_BUTTON_STATE_PRELIGHT"/>
      <member name="last" value="3" c:identifier="META_BUTTON_STATE_LAST"/>
    </enumeration>
    <enumeration name="ButtonType" c:type="MetaButtonType">
      <member name="left_left_background"
              value="0"
              c:identifier="META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND"/>
      <member name="left_middle_background"
              value="1"
              c:identifier="META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND"/>
      <member name="left_right_background"
              value="2"
              c:identifier="META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND"/>
      <member name="right_left_background"
              value="3"
              c:identifier="META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND"/>
      <member name="right_middle_background"
              value="4"
              c:identifier="META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND"/>
      <member name="right_right_background"
              value="5"
              c:identifier="META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND"/>
      <member name="close" value="6" c:identifier="META_BUTTON_TYPE_CLOSE"/>
      <member name="maximize"
              value="7"
              c:identifier="META_BUTTON_TYPE_MAXIMIZE"/>
      <member name="minimize"
              value="8"
              c:identifier="META_BUTTON_TYPE_MINIMIZE"/>
      <member name="menu" value="9" c:identifier="META_BUTTON_TYPE_MENU"/>
      <member name="shade" value="10" c:identifier="META_BUTTON_TYPE_SHADE"/>
      <member name="above" value="11" c:identifier="META_BUTTON_TYPE_ABOVE"/>
      <member name="stick" value="12" c:identifier="META_BUTTON_TYPE_STICK"/>
      <member name="unshade"
              value="13"
              c:identifier="META_BUTTON_TYPE_UNSHADE"/>
      <member name="unabove"
              value="14"
              c:identifier="META_BUTTON_TYPE_UNABOVE"/>
      <member name="unstick"
              value="15"
              c:identifier="META_BUTTON_TYPE_UNSTICK"/>
      <member name="last" value="16" c:identifier="META_BUTTON_TYPE_LAST"/>
    </enumeration>
    <record name="ColorSpec" c:type="MetaColorSpec">
      <field name="type" writable="1">
        <type name="ColorSpecType" c:type="MetaColorSpecType"/>
      </field>
      <union name="data" c:type="data">
        <record name="basic" c:type="basic">
          <field name="color" writable="1">
            <type name="Gdk.Color" c:type="GdkColor"/>
          </field>
        </record>
        <record name="gtk" c:type="gtk">
          <field name="component" writable="1">
            <type name="GtkColorComponent" c:type="MetaGtkColorComponent"/>
          </field>
          <field name="state" writable="1">
            <type name="Gtk.StateType" c:type="GtkStateType"/>
          </field>
        </record>
        <record name="blend" c:type="blend">
          <field name="foreground" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="background" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="alpha" writable="1">
            <type name="gdouble" c:type="double"/>
          </field>
          <field name="color" writable="1">
            <type name="Gdk.Color" c:type="GdkColor"/>
          </field>
        </record>
        <record name="shade" c:type="shade">
          <field name="base" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="factor" writable="1">
            <type name="gdouble" c:type="double"/>
          </field>
          <field name="color" writable="1">
            <type name="Gdk.Color" c:type="GdkColor"/>
          </field>
        </record>
      </union>
      <method name="free" c:identifier="meta_color_spec_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="render" c:identifier="meta_color_spec_render">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="color" transfer-ownership="none">
            <type name="Gdk.Color" c:type="GdkColor*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ColorSpecType" c:type="MetaColorSpecType">
      <member name="basic" value="0" c:identifier="META_COLOR_SPEC_BASIC"/>
      <member name="gtk" value="1" c:identifier="META_COLOR_SPEC_GTK"/>
      <member name="blend" value="2" c:identifier="META_COLOR_SPEC_BLEND"/>
      <member name="shade" value="3" c:identifier="META_COLOR_SPEC_SHADE"/>
    </enumeration>
    <enumeration name="CompEffect" c:type="MetaCompEffect">
      <doc xml:whitespace="preserve">Indicates the appropriate effect to show the user for
meta_compositor_show_window() and meta_compositor_hide_window()</doc>
      <member name="create" value="0" c:identifier="META_COMP_EFFECT_CREATE"/>
      <member name="unminimize"
              value="1"
              c:identifier="META_COMP_EFFECT_UNMINIMIZE"/>
      <member name="destroy"
              value="2"
              c:identifier="META_COMP_EFFECT_DESTROY"/>
      <member name="minimize"
              value="3"
              c:identifier="META_COMP_EFFECT_MINIMIZE"/>
      <member name="none" value="4" c:identifier="META_COMP_EFFECT_NONE"/>
    </enumeration>
    <enumeration name="CompWindowType" c:type="MetaCompWindowType">
      <member name="normal" value="0" c:identifier="META_COMP_WINDOW_NORMAL"/>
      <member name="desktop"
              value="1"
              c:identifier="META_COMP_WINDOW_DESKTOP"/>
      <member name="dock" value="2" c:identifier="META_COMP_WINDOW_DOCK"/>
      <member name="dialog" value="3" c:identifier="META_COMP_WINDOW_DIALOG"/>
      <member name="modal_dialog"
              value="4"
              c:identifier="META_COMP_WINDOW_MODAL_DIALOG"/>
      <member name="toolbar"
              value="5"
              c:identifier="META_COMP_WINDOW_TOOLBAR"/>
      <member name="menu" value="6" c:identifier="META_COMP_WINDOW_MENU"/>
      <member name="utility"
              value="7"
              c:identifier="META_COMP_WINDOW_UTILITY"/>
      <member name="splashscreen"
              value="8"
              c:identifier="META_COMP_WINDOW_SPLASHSCREEN"/>
      <member name="dropdown_menu"
              value="9"
              c:identifier="META_COMP_WINDOW_DROPDOWN_MENU"/>
      <member name="popup_menu"
              value="10"
              c:identifier="META_COMP_WINDOW_POPUP_MENU"/>
      <member name="tooltip"
              value="11"
              c:identifier="META_COMP_WINDOW_TOOLTIP"/>
      <member name="notification"
              value="12"
              c:identifier="META_COMP_WINDOW_NOTIFICATION"/>
      <member name="combo" value="13" c:identifier="META_COMP_WINDOW_COMBO"/>
      <member name="dnd" value="14" c:identifier="META_COMP_WINDOW_DND"/>
      <member name="override_other"
              value="15"
              c:identifier="META_COMP_WINDOW_OVERRIDE_OTHER"/>
    </enumeration>
    <record name="Compositor" c:type="MetaCompositor" disguised="1">
      <method name="add_window" c:identifier="meta_compositor_add_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy" c:identifier="meta_compositor_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="hide_window" c:identifier="meta_compositor_hide_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="effect" transfer-ownership="none">
            <type name="CompEffect" c:type="MetaCompEffect"/>
          </parameter>
        </parameters>
      </method>
      <method name="manage_screen"
              c:identifier="meta_compositor_manage_screen">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="maximize_window"
              c:identifier="meta_compositor_maximize_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="old_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="new_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="process_event"
              c:identifier="meta_compositor_process_event"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <type c:type="XEvent*"/>
          </parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_window"
              c:identifier="meta_compositor_remove_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_updates" c:identifier="meta_compositor_set_updates">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="updates" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_window" c:identifier="meta_compositor_show_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="effect" transfer-ownership="none">
            <type name="CompEffect" c:type="MetaCompEffect"/>
          </parameter>
        </parameters>
      </method>
      <method name="switch_workspace"
              c:identifier="meta_compositor_switch_workspace">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
          <parameter name="to" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <type name="MotionDirection" c:type="MetaMotionDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync_screen_size"
              c:identifier="meta_compositor_sync_screen_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync_stack" c:identifier="meta_compositor_sync_stack">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="stack" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="sync_window_geometry"
              c:identifier="meta_compositor_sync_window_geometry">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmanage_screen"
              c:identifier="meta_compositor_unmanage_screen">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmaximize_window"
              c:identifier="meta_compositor_unmaximize_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="old_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="new_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_workspace_geometry"
              c:identifier="meta_compositor_update_workspace_geometry">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="window_mapped"
              c:identifier="meta_compositor_window_mapped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="window_unmapped"
              c:identifier="meta_compositor_window_unmapped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="Cursor" c:type="MetaCursor">
      <member name="default" value="0" c:identifier="META_CURSOR_DEFAULT"/>
      <member name="north_resize"
              value="1"
              c:identifier="META_CURSOR_NORTH_RESIZE"/>
      <member name="south_resize"
              value="2"
              c:identifier="META_CURSOR_SOUTH_RESIZE"/>
      <member name="west_resize"
              value="3"
              c:identifier="META_CURSOR_WEST_RESIZE"/>
      <member name="east_resize"
              value="4"
              c:identifier="META_CURSOR_EAST_RESIZE"/>
      <member name="se_resize" value="5" c:identifier="META_CURSOR_SE_RESIZE"/>
      <member name="sw_resize" value="6" c:identifier="META_CURSOR_SW_RESIZE"/>
      <member name="ne_resize" value="7" c:identifier="META_CURSOR_NE_RESIZE"/>
      <member name="nw_resize" value="8" c:identifier="META_CURSOR_NW_RESIZE"/>
      <member name="move_or_resize_window"
              value="9"
              c:identifier="META_CURSOR_MOVE_OR_RESIZE_WINDOW"/>
      <member name="busy" value="10" c:identifier="META_CURSOR_BUSY"/>
    </enumeration>
    <constant name="DEFAULT_ICON_NAME" value="window">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <bitfield name="DebugTopic" c:type="MetaDebugTopic">
      <member name="focus" value="1" c:identifier="META_DEBUG_FOCUS"/>
      <member name="workarea" value="2" c:identifier="META_DEBUG_WORKAREA"/>
      <member name="stack" value="4" c:identifier="META_DEBUG_STACK"/>
      <member name="themes" value="8" c:identifier="META_DEBUG_THEMES"/>
      <member name="sm" value="16" c:identifier="META_DEBUG_SM"/>
      <member name="events" value="32" c:identifier="META_DEBUG_EVENTS"/>
      <member name="window_state"
              value="64"
              c:identifier="META_DEBUG_WINDOW_STATE"/>
      <member name="window_ops"
              value="128"
              c:identifier="META_DEBUG_WINDOW_OPS"/>
      <member name="geometry" value="256" c:identifier="META_DEBUG_GEOMETRY"/>
      <member name="placement"
              value="512"
              c:identifier="META_DEBUG_PLACEMENT"/>
      <member name="ping" value="1024" c:identifier="META_DEBUG_PING"/>
      <member name="xinerama" value="2048" c:identifier="META_DEBUG_XINERAMA"/>
      <member name="keybindings"
              value="4096"
              c:identifier="META_DEBUG_KEYBINDINGS"/>
      <member name="sync" value="8192" c:identifier="META_DEBUG_SYNC"/>
      <member name="errors" value="16384" c:identifier="META_DEBUG_ERRORS"/>
      <member name="startup" value="32768" c:identifier="META_DEBUG_STARTUP"/>
      <member name="prefs" value="65536" c:identifier="META_DEBUG_PREFS"/>
      <member name="groups" value="131072" c:identifier="META_DEBUG_GROUPS"/>
      <member name="resizing"
              value="262144"
              c:identifier="META_DEBUG_RESIZING"/>
      <member name="shapes" value="524288" c:identifier="META_DEBUG_SHAPES"/>
      <member name="compositor"
              value="1048576"
              c:identifier="META_DEBUG_COMPOSITOR"/>
      <member name="edge_resistance"
              value="2097152"
              c:identifier="META_DEBUG_EDGE_RESISTANCE"/>
    </bitfield>
    <bitfield name="Direction" c:type="MetaDirection">
      <member name="left" value="1" c:identifier="META_DIRECTION_LEFT"/>
      <member name="right" value="2" c:identifier="META_DIRECTION_RIGHT"/>
      <member name="top" value="4" c:identifier="META_DIRECTION_TOP"/>
      <member name="bottom" value="8" c:identifier="META_DIRECTION_BOTTOM"/>
      <member name="up" value="4" c:identifier="META_DIRECTION_UP"/>
      <member name="down" value="8" c:identifier="META_DIRECTION_DOWN"/>
      <member name="horizontal"
              value="3"
              c:identifier="META_DIRECTION_HORIZONTAL"/>
      <member name="vertical"
              value="12"
              c:identifier="META_DIRECTION_VERTICAL"/>
    </bitfield>
    <class name="Display"
           c:symbol-prefix="display"
           c:type="MetaDisplay"
           parent="GObject.Object"
           glib:type-name="MetaDisplay"
           glib:get-type="meta_display_get_type"
           glib:type-struct="DisplayClass">
      <method name="begin_grab_op" c:identifier="meta_display_begin_grab_op">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="op" transfer-ownership="none">
            <type name="GrabOp" c:type="MetaGrabOp"/>
          </parameter>
          <parameter name="pointer_already_grabbed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="frame_action" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="modmask" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="root_x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="root_y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="end_grab_op" c:identifier="meta_display_end_grab_op">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_the_no_focus_window"
              c:identifier="meta_display_focus_the_no_focus_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_atom"
              c:identifier="meta_display_get_atom"
              introspectable="0">
        <return-value>
          <type name="xlib.Atom" c:type="Atom"/>
        </return-value>
        <parameters>
          <parameter name="meta_atom" transfer-ownership="none">
            <type name="Atom" c:type="MetaAtom"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_compositor"
              c:identifier="meta_display_get_compositor"
              introspectable="0">
        <return-value>
          <type name="Compositor" c:type="MetaCompositor*"/>
        </return-value>
      </method>
      <method name="get_compositor_version"
              c:identifier="meta_display_get_compositor_version">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="major" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="minor" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_time"
              c:identifier="meta_display_get_current_time">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_current_time_roundtrip"
              c:identifier="meta_display_get_current_time_roundtrip">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_damage_event_base"
              c:identifier="meta_display_get_damage_event_base">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_focus_window"
              c:identifier="meta_display_get_focus_window">
        <doc xml:whitespace="preserve">Get the window that, according to events received from X server,
currently has the input focus. We may have already sent a request
to the X server to move the focus window elsewhere. (The
expected_focus_window records where we've last set the input
focus.)</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current focus window</doc>
          <type name="Window" c:type="MetaWindow*"/>
        </return-value>
      </method>
      <method name="get_grab_op" c:identifier="meta_display_get_grab_op">
        <doc xml:whitespace="preserve">Gets the current grab operation, if any.
Mutter doesn't currently have a grab. %META_GRAB_OP_COMPOSITOR will
be returned if a compositor-plugin modal operation is in effect
(See mutter_begin_modal_for_plugin())</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current grab operation, or %META_GRAB_OP_NONE if</doc>
          <type name="GrabOp" c:type="MetaGrabOp"/>
        </return-value>
      </method>
      <method name="get_keybinding_action"
              c:identifier="meta_display_get_keybinding_action">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The action that should be taken for the given key, or %META_KEYBINDING_ACTION_NONE.</doc>
          <type name="KeyBindingAction" c:type="MetaKeyBindingAction"/>
        </return-value>
        <parameters>
          <parameter name="keysym" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key symbol</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="keycode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Raw keycode</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="mask" transfer-ownership="none">
            <doc xml:whitespace="preserve">Event mask</doc>
            <type name="gulong" c:type="unsigned long"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_last_user_time"
              c:identifier="meta_display_get_last_user_time">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Timestamp of the last user interaction event with a window</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_leader_window"
              c:identifier="meta_display_get_leader_window">
        <doc xml:whitespace="preserve">Returns the window manager's leader window (as defined by the
_NET_SUPPORTING_WM_CHECK mechanism of EWMH). For use by plugins that wish
to attach additional custom properties to this window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">xid of the leader window.</doc>
          <type name="xlib.Window" c:type="Window"/>
        </return-value>
      </method>
      <method name="get_screens"
              c:identifier="meta_display_get_screens"
              introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_shape_event_base"
              c:identifier="meta_display_get_shape_event_base">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_tab_current"
              c:identifier="meta_display_get_tab_current"
              introspectable="0">
        <return-value>
          <type name="Window" c:type="MetaWindow*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TabList" c:type="MetaTabList"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tab_list"
              c:identifier="meta_display_get_tab_list"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TabList" c:type="MetaTabList"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tab_next"
              c:identifier="meta_display_get_tab_next"
              introspectable="0">
        <return-value>
          <type name="Window" c:type="MetaWindow*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TabList" c:type="MetaTabList"/>
          </parameter>
          <parameter name="screen" transfer-ownership="none">
            <type name="Screen" c:type="MetaScreen*"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="backward" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_xdisplay"
              c:identifier="meta_display_get_xdisplay"
              introspectable="0">
        <return-value>
          <type name="xlib.Display" c:type="Display*"/>
        </return-value>
      </method>
      <method name="has_shape" c:identifier="meta_display_has_shape">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="lookup_group"
              c:identifier="meta_display_lookup_group"
              introspectable="0">
        <return-value>
          <type name="Group" c:type="MetaGroup*"/>
        </return-value>
        <parameters>
          <parameter name="group_leader" transfer-ownership="none">
            <type name="xlib.Window" c:type="Window"/>
          </parameter>
        </parameters>
      </method>
      <method name="screen_for_root"
              c:identifier="meta_display_screen_for_root">
        <doc xml:whitespace="preserve">Return the #MetaScreen corresponding to a specified X root window ID.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the screen for the specified root window ID, or %NULL</doc>
          <type name="Screen" c:type="MetaScreen*"/>
        </return-value>
        <parameters>
          <parameter name="xroot" transfer-ownership="none">
            <type name="xlib.Window" c:type="Window"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_focus_window"
              c:identifier="meta_display_set_input_focus_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="focus_frame" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort_windows_by_stacking"
              c:identifier="meta_display_sort_windows_by_stacking">
        <doc xml:whitespace="preserve">Sorts a set of windows according to their current stacking order. If windows
from multiple screens are present in the set of input windows, then all the
windows on screen 0 are sorted below all the windows on screen 1, and so forth.
Since the stacking order of override-redirect windows isn't controlled by
Metacity, if override-redirect windows are in the input, the result may not
correspond to the actual stacking order in the X server.
An example of using this would be to sort the list of transient dialogs for a
window into their current stacking order.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">Input windows sorted by stacking order, from lowest to highest</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="windows" transfer-ownership="none">
            <doc xml:whitespace="preserve">Set of windows</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Window"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="xserver_time_is_before"
              c:identifier="meta_display_xserver_time_is_before">
        <doc xml:whitespace="preserve">Xserver time can wraparound, thus comparing two timestamps needs to take
this into account. If no wraparound has occurred, this is equivalent to
time1 &lt; time2
Otherwise, we need to account for the fact that wraparound can occur
and the fact that a timestamp of 0 must be special-cased since it
means "older than anything else".
Note that this is NOT an equivalent for time1 &lt;= time2; if that's what
you need then you'll need to swap the order of the arguments and negate
the result.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="time1" transfer-ownership="none">
            <doc xml:whitespace="preserve">An event timestamp</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="time2" transfer-ownership="none">
            <doc xml:whitespace="preserve">An event timestamp</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="xwindow_is_a_no_focus_window"
              c:identifier="meta_display_xwindow_is_a_no_focus_window">
        <doc xml:whitespace="preserve">Returns %TRUE iff window is one of mutter's internal "no focus" windows
(there is one per screen) which will have the focus when there is no
actual client window focused.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="xwindow" transfer-ownership="none">
            <doc xml:whitespace="preserve">An X11 window</doc>
            <type name="xlib.Window" c:type="Window"/>
          </parameter>
        </parameters>
      </method>
      <property name="focus-window" transfer-ownership="none">
        <type name="Window"/>
      </property>
      <glib:signal name="overlay-key">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="window-created">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-demands-attention">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-marked-urgent">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DisplayClass"
            c:type="MetaDisplayClass"
            disguised="1"
            glib:is-gtype-struct-for="Display">
    </record>
    <record name="DrawInfo" c:type="MetaDrawInfo">
      <field name="mini_icon" writable="1">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
      <field name="icon" writable="1">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
      <field name="title_layout" writable="1">
        <type name="Pango.Layout" c:type="PangoLayout*"/>
      </field>
      <field name="title_layout_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="title_layout_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="fgeom" writable="1">
        <type name="FrameGeometry" c:type="MetaFrameGeometry*"/>
      </field>
    </record>
    <record name="DrawOp" c:type="MetaDrawOp">
      <field name="type" writable="1">
        <type name="DrawType" c:type="MetaDrawType"/>
      </field>
      <union name="data" c:type="data">
        <record name="line" c:type="line">
          <field name="color_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="dash_on_length" writable="1">
            <type name="gint" c:type="int"/>
          </field>
          <field name="dash_off_length" writable="1">
            <type name="gint" c:type="int"/>
          </field>
          <field name="width" writable="1">
            <type name="gint" c:type="int"/>
          </field>
          <field name="x1" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y1" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="x2" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y2" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="rectangle" c:type="rectangle">
          <field name="color_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="filled" writable="1">
            <type name="gboolean" c:type="gboolean"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="arc" c:type="arc">
          <field name="color_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="filled" writable="1">
            <type name="gboolean" c:type="gboolean"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="start_angle" writable="1">
            <type name="gdouble" c:type="double"/>
          </field>
          <field name="extent_angle" writable="1">
            <type name="gdouble" c:type="double"/>
          </field>
        </record>
        <record name="clip" c:type="clip">
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="tint" c:type="tint">
          <field name="color_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="alpha_spec" writable="1">
            <type name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="gradient" c:type="gradient">
          <field name="gradient_spec" writable="1">
            <type name="GradientSpec" c:type="MetaGradientSpec*"/>
          </field>
          <field name="alpha_spec" writable="1">
            <type name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="image" c:type="image">
          <field name="colorize_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="alpha_spec" writable="1">
            <type name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec*"/>
          </field>
          <field name="pixbuf" writable="1">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="colorize_cache_pixel" writable="1">
            <type name="guint32" c:type="guint32"/>
          </field>
          <field name="colorize_cache_pixbuf" writable="1">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </field>
          <field name="fill_type" writable="1">
            <type name="ImageFillType" c:type="MetaImageFillType"/>
          </field>
          <field name="vertical_stripes" writable="1" bits="1">
            <type name="guint" c:type="unsigned"/>
          </field>
          <field name="horizontal_stripes" writable="1" bits="1">
            <type name="guint" c:type="unsigned"/>
          </field>
        </record>
        <record name="gtk_arrow" c:type="gtk_arrow">
          <field name="state" writable="1">
            <type name="Gtk.StateType" c:type="GtkStateType"/>
          </field>
          <field name="shadow" writable="1">
            <type name="Gtk.ShadowType" c:type="GtkShadowType"/>
          </field>
          <field name="arrow" writable="1">
            <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
          </field>
          <field name="filled" writable="1">
            <type name="gboolean" c:type="gboolean"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="gtk_box" c:type="gtk_box">
          <field name="state" writable="1">
            <type name="Gtk.StateType" c:type="GtkStateType"/>
          </field>
          <field name="shadow" writable="1">
            <type name="Gtk.ShadowType" c:type="GtkShadowType"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="gtk_vline" c:type="gtk_vline">
          <field name="state" writable="1">
            <type name="Gtk.StateType" c:type="GtkStateType"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y1" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y2" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="icon" c:type="icon">
          <field name="alpha_spec" writable="1">
            <type name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="fill_type" writable="1">
            <type name="ImageFillType" c:type="MetaImageFillType"/>
          </field>
        </record>
        <record name="title" c:type="title">
          <field name="color_spec" writable="1">
            <type name="ColorSpec" c:type="MetaColorSpec*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="ellipsize_width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="op_list" c:type="op_list">
          <field name="op_list" writable="1">
            <type name="DrawOpList" c:type="MetaDrawOpList*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
        <record name="tile" c:type="tile">
          <field name="op_list" writable="1">
            <type name="DrawOpList" c:type="MetaDrawOpList*"/>
          </field>
          <field name="x" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="y" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="tile_xoffset" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="tile_yoffset" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="tile_width" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
          <field name="tile_height" introspectable="0" writable="1">
            <type c:type="MetaDrawSpec*"/>
          </field>
        </record>
      </union>
      <method name="draw" c:identifier="meta_draw_op_draw">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <type name="DrawInfo" c:type="MetaDrawInfo*"/>
          </parameter>
          <parameter name="logical_region" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_with_style"
              c:identifier="meta_draw_op_draw_with_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_gtk" transfer-ownership="none">
            <type name="Gtk.Style" c:type="GtkStyle*"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <type name="DrawInfo" c:type="MetaDrawInfo*"/>
          </parameter>
          <parameter name="logical_region" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="meta_draw_op_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="DrawOpList" c:type="MetaDrawOpList">
      <field name="refcount" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="ops" writable="1">
        <type name="DrawOp" c:type="MetaDrawOp**"/>
      </field>
      <field name="n_ops" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="n_allocated" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <method name="append" c:identifier="meta_draw_op_list_append">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="op" transfer-ownership="none">
            <type name="DrawOp" c:type="MetaDrawOp*"/>
          </parameter>
        </parameters>
      </method>
      <method name="contains" c:identifier="meta_draw_op_list_contains">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="DrawOpList" c:type="MetaDrawOpList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw" c:identifier="meta_draw_op_list_draw">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <type name="DrawInfo" c:type="MetaDrawInfo*"/>
          </parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_with_style"
              c:identifier="meta_draw_op_list_draw_with_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_gtk" transfer-ownership="none">
            <type name="Gtk.Style" c:type="GtkStyle*"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <type name="DrawInfo" c:type="MetaDrawInfo*"/>
          </parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="meta_draw_op_list_ref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="meta_draw_op_list_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="validate"
              c:identifier="meta_draw_op_list_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="DrawType" c:type="MetaDrawType">
      <member name="line" value="0" c:identifier="META_DRAW_LINE"/>
      <member name="rectangle" value="1" c:identifier="META_DRAW_RECTANGLE"/>
      <member name="arc" value="2" c:identifier="META_DRAW_ARC"/>
      <member name="clip" value="3" c:identifier="META_DRAW_CLIP"/>
      <member name="tint" value="4" c:identifier="META_DRAW_TINT"/>
      <member name="gradient" value="5" c:identifier="META_DRAW_GRADIENT"/>
      <member name="image" value="6" c:identifier="META_DRAW_IMAGE"/>
      <member name="gtk_arrow" value="7" c:identifier="META_DRAW_GTK_ARROW"/>
      <member name="gtk_box" value="8" c:identifier="META_DRAW_GTK_BOX"/>
      <member name="gtk_vline" value="9" c:identifier="META_DRAW_GTK_VLINE"/>
      <member name="icon" value="10" c:identifier="META_DRAW_ICON"/>
      <member name="title" value="11" c:identifier="META_DRAW_TITLE"/>
      <member name="op_list" value="12" c:identifier="META_DRAW_OP_LIST"/>
      <member name="tile" value="13" c:identifier="META_DRAW_TILE"/>
    </enumeration>
    <record name="Edge" c:type="MetaEdge">
      <field name="rect" writable="1">
        <type name="Rectangle" c:type="MetaRectangle"/>
      </field>
      <field name="side_type" writable="1">
        <type name="Side" c:type="MetaSide"/>
      </field>
      <field name="edge_type" writable="1">
        <type name="EdgeType" c:type="MetaEdgeType"/>
      </field>
    </record>
    <enumeration name="EdgeType" c:type="MetaEdgeType">
      <member name="window" value="0" c:identifier="META_EDGE_WINDOW"/>
      <member name="monitor" value="1" c:identifier="META_EDGE_MONITOR"/>
      <member name="screen" value="2" c:identifier="META_EDGE_SCREEN"/>
    </enumeration>
    <enumeration name="ExitCode" c:type="MetaExitCode">
      <member name="success" value="0" c:identifier="META_EXIT_SUCCESS"/>
      <member name="error" value="1" c:identifier="META_EXIT_ERROR"/>
    </enumeration>
    <enumeration name="FocusMode" c:type="MetaFocusMode">
      <member name="click" value="0" c:identifier="META_FOCUS_MODE_CLICK"/>
      <member name="sloppy" value="1" c:identifier="META_FOCUS_MODE_SLOPPY"/>
      <member name="mouse" value="2" c:identifier="META_FOCUS_MODE_MOUSE"/>
    </enumeration>
    <enumeration name="FocusNewWindows" c:type="MetaFocusNewWindows">
      <member name="smart"
              value="0"
              c:identifier="META_FOCUS_NEW_WINDOWS_SMART"/>
      <member name="strict"
              value="1"
              c:identifier="META_FOCUS_NEW_WINDOWS_STRICT"/>
    </enumeration>
    <record name="Frame" c:type="MetaFrame" disguised="1">
    </record>
    <bitfield name="FrameFlags" c:type="MetaFrameFlags">
      <member name="allows_delete"
              value="1"
              c:identifier="META_FRAME_ALLOWS_DELETE"/>
      <member name="allows_menu"
              value="2"
              c:identifier="META_FRAME_ALLOWS_MENU"/>
      <member name="allows_minimize"
              value="4"
              c:identifier="META_FRAME_ALLOWS_MINIMIZE"/>
      <member name="allows_maximize"
              value="8"
              c:identifier="META_FRAME_ALLOWS_MAXIMIZE"/>
      <member name="allows_vertical_resize"
              value="16"
              c:identifier="META_FRAME_ALLOWS_VERTICAL_RESIZE"/>
      <member name="allows_horizontal_resize"
              value="32"
              c:identifier="META_FRAME_ALLOWS_HORIZONTAL_RESIZE"/>
      <member name="has_focus" value="64" c:identifier="META_FRAME_HAS_FOCUS"/>
      <member name="shaded" value="128" c:identifier="META_FRAME_SHADED"/>
      <member name="stuck" value="256" c:identifier="META_FRAME_STUCK"/>
      <member name="maximized"
              value="512"
              c:identifier="META_FRAME_MAXIMIZED"/>
      <member name="allows_shade"
              value="1024"
              c:identifier="META_FRAME_ALLOWS_SHADE"/>
      <member name="allows_move"
              value="2048"
              c:identifier="META_FRAME_ALLOWS_MOVE"/>
      <member name="fullscreen"
              value="4096"
              c:identifier="META_FRAME_FULLSCREEN"/>
      <member name="is_flashing"
              value="8192"
              c:identifier="META_FRAME_IS_FLASHING"/>
      <member name="above" value="16384" c:identifier="META_FRAME_ABOVE"/>
    </bitfield>
    <enumeration name="FrameFocus" c:type="MetaFrameFocus">
      <member name="no" value="0" c:identifier="META_FRAME_FOCUS_NO"/>
      <member name="yes" value="1" c:identifier="META_FRAME_FOCUS_YES"/>
      <member name="last" value="2" c:identifier="META_FRAME_FOCUS_LAST"/>
    </enumeration>
    <record name="FrameGeometry" c:type="MetaFrameGeometry">
      <field name="left_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="right_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="top_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="bottom_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="title_rect" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="left_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="right_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="top_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="bottom_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="close_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="max_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="min_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="menu_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="shade_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="above_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="stick_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="unshade_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="unabove_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="unstick_rect" writable="1">
        <type name="ButtonSpace" c:type="MetaButtonSpace"/>
      </field>
      <field name="left_left_background" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="left_middle_backgrounds" writable="1">
        <array zero-terminated="0" c:type="GdkRectangle" fixed-size="8">
          <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
        </array>
      </field>
      <field name="left_right_background" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="right_left_background" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="right_middle_backgrounds" writable="1">
        <array zero-terminated="0" c:type="GdkRectangle" fixed-size="8">
          <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
        </array>
      </field>
      <field name="right_right_background" writable="1">
        <type name="Gdk.Rectangle" c:type="GdkRectangle"/>
      </field>
      <field name="top_left_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="top_right_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="bottom_left_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="bottom_right_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <record name="FrameLayout" c:type="MetaFrameLayout">
      <field name="refcount" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="left_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="right_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="bottom_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="title_border" writable="1">
        <type name="Gtk.Border" c:type="GtkBorder"/>
      </field>
      <field name="title_vertical_pad" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="right_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="left_titlebar_edge" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="button_sizing" writable="1">
        <type name="ButtonSizing" c:type="MetaButtonSizing"/>
      </field>
      <field name="button_aspect" writable="1">
        <type name="gdouble" c:type="double"/>
      </field>
      <field name="button_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="button_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="button_border" writable="1">
        <type name="Gtk.Border" c:type="GtkBorder"/>
      </field>
      <field name="title_scale" writable="1">
        <type name="gdouble" c:type="double"/>
      </field>
      <field name="has_title" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="hide_buttons" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="top_left_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="top_right_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="bottom_left_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="bottom_right_corner_rounded_radius" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="calc_geometry"
              c:identifier="meta_frame_layout_calc_geometry">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_layout" transfer-ownership="none">
            <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
          </parameter>
          <parameter name="fgeom" transfer-ownership="none">
            <type name="FrameGeometry" c:type="MetaFrameGeometry*"/>
          </parameter>
          <parameter name="theme" transfer-ownership="none">
            <type name="Theme" c:type="MetaTheme*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="meta_frame_layout_copy"
              introspectable="0">
        <return-value>
          <type name="FrameLayout" c:type="MetaFrameLayout*"/>
        </return-value>
      </method>
      <method name="get_borders" c:identifier="meta_frame_layout_get_borders">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="top_height" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="bottom_height" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="left_width" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="right_width" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="meta_frame_layout_ref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="meta_frame_layout_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="validate"
              c:identifier="meta_frame_layout_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="FramePiece" c:type="MetaFramePiece">
      <member name="entire_background"
              value="0"
              c:identifier="META_FRAME_PIECE_ENTIRE_BACKGROUND"/>
      <member name="titlebar"
              value="1"
              c:identifier="META_FRAME_PIECE_TITLEBAR"/>
      <member name="titlebar_middle"
              value="2"
              c:identifier="META_FRAME_PIECE_TITLEBAR_MIDDLE"/>
      <member name="left_titlebar_edge"
              value="3"
              c:identifier="META_FRAME_PIECE_LEFT_TITLEBAR_EDGE"/>
      <member name="right_titlebar_edge"
              value="4"
              c:identifier="META_FRAME_PIECE_RIGHT_TITLEBAR_EDGE"/>
      <member name="top_titlebar_edge"
              value="5"
              c:identifier="META_FRAME_PIECE_TOP_TITLEBAR_EDGE"/>
      <member name="bottom_titlebar_edge"
              value="6"
              c:identifier="META_FRAME_PIECE_BOTTOM_TITLEBAR_EDGE"/>
      <member name="title" value="7" c:identifier="META_FRAME_PIECE_TITLE"/>
      <member name="left_edge"
              value="8"
              c:identifier="META_FRAME_PIECE_LEFT_EDGE"/>
      <member name="right_edge"
              value="9"
              c:identifier="META_FRAME_PIECE_RIGHT_EDGE"/>
      <member name="bottom_edge"
              value="10"
              c:identifier="META_FRAME_PIECE_BOTTOM_EDGE"/>
      <member name="overlay"
              value="11"
              c:identifier="META_FRAME_PIECE_OVERLAY"/>
      <member name="last" value="12" c:identifier="META_FRAME_PIECE_LAST"/>
    </enumeration>
    <enumeration name="FrameResize" c:type="MetaFrameResize">
      <member name="none" value="0" c:identifier="META_FRAME_RESIZE_NONE"/>
      <member name="vertical"
              value="1"
              c:identifier="META_FRAME_RESIZE_VERTICAL"/>
      <member name="horizontal"
              value="2"
              c:identifier="META_FRAME_RESIZE_HORIZONTAL"/>
      <member name="both" value="3" c:identifier="META_FRAME_RESIZE_BOTH"/>
      <member name="last" value="4" c:identifier="META_FRAME_RESIZE_LAST"/>
    </enumeration>
    <enumeration name="FrameState" c:type="MetaFrameState">
      <member name="normal" value="0" c:identifier="META_FRAME_STATE_NORMAL"/>
      <member name="maximized"
              value="1"
              c:identifier="META_FRAME_STATE_MAXIMIZED"/>
      <member name="shaded" value="2" c:identifier="META_FRAME_STATE_SHADED"/>
      <member name="maximized_and_shaded"
              value="3"
              c:identifier="META_FRAME_STATE_MAXIMIZED_AND_SHADED"/>
      <member name="last" value="4" c:identifier="META_FRAME_STATE_LAST"/>
    </enumeration>
    <record name="FrameStyle" c:type="MetaFrameStyle">
      <field name="refcount" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="parent" writable="1">
        <type name="FrameStyle" c:type="MetaFrameStyle*"/>
      </field>
      <field name="buttons" writable="1">
        <array zero-terminated="0" c:type="MetaDrawOpList">
          <type name="DrawOpList" c:type="MetaDrawOpList*"/>
        </array>
      </field>
      <field name="pieces" writable="1">
        <array zero-terminated="0" c:type="MetaDrawOpList">
          <type name="DrawOpList" c:type="MetaDrawOpList*"/>
        </array>
      </field>
      <field name="layout" writable="1">
        <type name="FrameLayout" c:type="MetaFrameLayout*"/>
      </field>
      <field name="window_background_color" writable="1">
        <type name="ColorSpec" c:type="MetaColorSpec*"/>
      </field>
      <field name="window_background_alpha" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <method name="draw" c:identifier="meta_frame_style_draw">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="x_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="fgeom" transfer-ownership="none">
            <type name="FrameGeometry" c:type="MetaFrameGeometry*"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="title_layout" transfer-ownership="none">
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_states" transfer-ownership="none">
            <type name="ButtonState" c:type="MetaButtonState"/>
          </parameter>
          <parameter name="mini_icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_with_style"
              c:identifier="meta_frame_style_draw_with_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_gtk" transfer-ownership="none">
            <type name="Gtk.Style" c:type="GtkStyle*"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="x_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="fgeom" transfer-ownership="none">
            <type name="FrameGeometry" c:type="MetaFrameGeometry*"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="title_layout" transfer-ownership="none">
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_states" transfer-ownership="none">
            <type name="ButtonState" c:type="MetaButtonState"/>
          </parameter>
          <parameter name="mini_icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="new"
              c:identifier="meta_frame_style_new"
              introspectable="0">
        <return-value>
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="meta_frame_style_ref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="meta_frame_style_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="validate"
              c:identifier="meta_frame_style_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="current_theme_version" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="FrameStyleSet" c:type="MetaFrameStyleSet">
      <field name="refcount" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="parent" writable="1">
        <type name="FrameStyleSet" c:type="MetaFrameStyleSet*"/>
      </field>
      <field name="normal_styles" writable="1">
        <array zero-terminated="0" c:type="MetaFrameStyle">
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </array>
      </field>
      <field name="maximized_styles" writable="1">
        <array zero-terminated="0" c:type="MetaFrameStyle">
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </array>
      </field>
      <field name="shaded_styles" writable="1">
        <array zero-terminated="0" c:type="MetaFrameStyle">
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </array>
      </field>
      <field name="maximized_and_shaded_styles" writable="1">
        <array zero-terminated="0" c:type="MetaFrameStyle">
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </array>
      </field>
      <method name="new"
              c:identifier="meta_frame_style_set_new"
              introspectable="0">
        <return-value>
          <type name="FrameStyleSet" c:type="MetaFrameStyleSet*"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="meta_frame_style_set_ref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="meta_frame_style_set_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="validate"
              c:identifier="meta_frame_style_set_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="FrameType" c:type="MetaFrameType">
      <member name="normal" value="0" c:identifier="META_FRAME_TYPE_NORMAL"/>
      <member name="dialog" value="1" c:identifier="META_FRAME_TYPE_DIALOG"/>
      <member name="modal_dialog"
              value="2"
              c:identifier="META_FRAME_TYPE_MODAL_DIALOG"/>
      <member name="utility" value="3" c:identifier="META_FRAME_TYPE_UTILITY"/>
      <member name="menu" value="4" c:identifier="META_FRAME_TYPE_MENU"/>
      <member name="border" value="5" c:identifier="META_FRAME_TYPE_BORDER"/>
      <member name="last" value="6" c:identifier="META_FRAME_TYPE_LAST"/>
    </enumeration>
    <enumeration name="GrabOp" c:type="MetaGrabOp">
      <member name="none" value="0" c:identifier="META_GRAB_OP_NONE"/>
      <member name="moving" value="1" c:identifier="META_GRAB_OP_MOVING"/>
      <member name="resizing_se"
              value="2"
              c:identifier="META_GRAB_OP_RESIZING_SE"/>
      <member name="resizing_s"
              value="3"
              c:identifier="META_GRAB_OP_RESIZING_S"/>
      <member name="resizing_sw"
              value="4"
              c:identifier="META_GRAB_OP_RESIZING_SW"/>
      <member name="resizing_n"
              value="5"
              c:identifier="META_GRAB_OP_RESIZING_N"/>
      <member name="resizing_ne"
              value="6"
              c:identifier="META_GRAB_OP_RESIZING_NE"/>
      <member name="resizing_nw"
              value="7"
              c:identifier="META_GRAB_OP_RESIZING_NW"/>
      <member name="resizing_w"
              value="8"
              c:identifier="META_GRAB_OP_RESIZING_W"/>
      <member name="resizing_e"
              value="9"
              c:identifier="META_GRAB_OP_RESIZING_E"/>
      <member name="keyboard_moving"
              value="10"
              c:identifier="META_GRAB_OP_KEYBOARD_MOVING"/>
      <member name="keyboard_resizing_unknown"
              value="11"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN"/>
      <member name="keyboard_resizing_s"
              value="12"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_S"/>
      <member name="keyboard_resizing_n"
              value="13"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_N"/>
      <member name="keyboard_resizing_w"
              value="14"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_W"/>
      <member name="keyboard_resizing_e"
              value="15"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_E"/>
      <member name="keyboard_resizing_se"
              value="16"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_SE"/>
      <member name="keyboard_resizing_ne"
              value="17"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_NE"/>
      <member name="keyboard_resizing_sw"
              value="18"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_SW"/>
      <member name="keyboard_resizing_nw"
              value="19"
              c:identifier="META_GRAB_OP_KEYBOARD_RESIZING_NW"/>
      <member name="keyboard_tabbing_normal"
              value="20"
              c:identifier="META_GRAB_OP_KEYBOARD_TABBING_NORMAL"/>
      <member name="keyboard_tabbing_dock"
              value="21"
              c:identifier="META_GRAB_OP_KEYBOARD_TABBING_DOCK"/>
      <member name="keyboard_escaping_normal"
              value="22"
              c:identifier="META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL"/>
      <member name="keyboard_escaping_dock"
              value="23"
              c:identifier="META_GRAB_OP_KEYBOARD_ESCAPING_DOCK"/>
      <member name="keyboard_escaping_group"
              value="24"
              c:identifier="META_GRAB_OP_KEYBOARD_ESCAPING_GROUP"/>
      <member name="keyboard_tabbing_group"
              value="25"
              c:identifier="META_GRAB_OP_KEYBOARD_TABBING_GROUP"/>
      <member name="keyboard_workspace_switching"
              value="26"
              c:identifier="META_GRAB_OP_KEYBOARD_WORKSPACE_SWITCHING"/>
      <member name="clicking_minimize"
              value="27"
              c:identifier="META_GRAB_OP_CLICKING_MINIMIZE"/>
      <member name="clicking_maximize"
              value="28"
              c:identifier="META_GRAB_OP_CLICKING_MAXIMIZE"/>
      <member name="clicking_unmaximize"
              value="29"
              c:identifier="META_GRAB_OP_CLICKING_UNMAXIMIZE"/>
      <member name="clicking_delete"
              value="30"
              c:identifier="META_GRAB_OP_CLICKING_DELETE"/>
      <member name="clicking_menu"
              value="31"
              c:identifier="META_GRAB_OP_CLICKING_MENU"/>
      <member name="clicking_shade"
              value="32"
              c:identifier="META_GRAB_OP_CLICKING_SHADE"/>
      <member name="clicking_unshade"
              value="33"
              c:identifier="META_GRAB_OP_CLICKING_UNSHADE"/>
      <member name="clicking_above"
              value="34"
              c:identifier="META_GRAB_OP_CLICKING_ABOVE"/>
      <member name="clicking_unabove"
              value="35"
              c:identifier="META_GRAB_OP_CLICKING_UNABOVE"/>
      <member name="clicking_stick"
              value="36"
              c:identifier="META_GRAB_OP_CLICKING_STICK"/>
      <member name="clicking_unstick"
              value="37"
              c:identifier="META_GRAB_OP_CLICKING_UNSTICK"/>
      <member name="compositor"
              value="38"
              c:identifier="META_GRAB_OP_COMPOSITOR"/>
    </enumeration>
    <record name="GradientSpec" c:type="MetaGradientSpec">
      <field name="type" writable="1">
        <type name="GradientType" c:type="MetaGradientType"/>
      </field>
      <field name="color_specs" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <method name="free" c:identifier="meta_gradient_spec_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="render"
              c:identifier="meta_gradient_spec_render"
              introspectable="0">
        <return-value>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </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="validate"
              c:identifier="meta_gradient_spec_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="GradientType" c:type="MetaGradientType">
      <member name="vertical" value="0" c:identifier="META_GRADIENT_VERTICAL"/>
      <member name="horizontal"
              value="1"
              c:identifier="META_GRADIENT_HORIZONTAL"/>
      <member name="diagonal" value="2" c:identifier="META_GRADIENT_DIAGONAL"/>
      <member name="last" value="3" c:identifier="META_GRADIENT_LAST"/>
    </enumeration>
    <record name="Group" c:type="MetaGroup" disguised="1">
      <method name="get_size" c:identifier="meta_group_get_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_startup_id" c:identifier="meta_group_get_startup_id">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="list_windows"
              c:identifier="meta_group_list_windows"
              introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="property_notify"
              c:identifier="meta_group_property_notify"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <type c:type="XEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_layers" c:identifier="meta_group_update_layers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="GtkColorComponent" c:type="MetaGtkColorComponent">
      <member name="fg" value="0" c:identifier="META_GTK_COLOR_FG"/>
      <member name="bg" value="1" c:identifier="META_GTK_COLOR_BG"/>
      <member name="light" value="2" c:identifier="META_GTK_COLOR_LIGHT"/>
      <member name="dark" value="3" c:identifier="META_GTK_COLOR_DARK"/>
      <member name="mid" value="4" c:identifier="META_GTK_COLOR_MID"/>
      <member name="text" value="5" c:identifier="META_GTK_COLOR_TEXT"/>
      <member name="base" value="6" c:identifier="META_GTK_COLOR_BASE"/>
      <member name="text_aa" value="7" c:identifier="META_GTK_COLOR_TEXT_AA"/>
      <member name="last" value="8" c:identifier="META_GTK_COLOR_LAST"/>
    </enumeration>
    <constant name="ICON_HEIGHT" value="32">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ICON_WIDTH" value="32">
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="ImageFillType" c:type="MetaImageFillType">
      <member name="scale" value="0" c:identifier="META_IMAGE_FILL_SCALE"/>
      <member name="tile" value="1" c:identifier="META_IMAGE_FILL_TILE"/>
    </enumeration>
    <record name="KeyBinding" c:type="MetaKeyBinding">
      <field name="name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="keysym" writable="1">
        <type name="xlib.KeySym" c:type="KeySym"/>
      </field>
      <field name="keycode" writable="1">
        <type name="xlib.KeyCode" c:type="KeyCode"/>
      </field>
      <field name="mask" writable="1">
        <type name="guint" c:type="unsigned"/>
      </field>
      <field name="modifiers" writable="1">
        <type name="VirtualModifier" c:type="MetaVirtualModifier"/>
      </field>
      <field name="handler" writable="1">
        <type name="KeyHandler" c:type="MetaKeyHandler*"/>
      </field>
    </record>
    <enumeration name="KeyBindingAction" c:type="MetaKeyBindingAction">
      <member name="none"
              value="-1"
              c:identifier="META_KEYBINDING_ACTION_NONE"/>
      <member name="workspace_1"
              value="0"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_1"/>
      <member name="workspace_2"
              value="1"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_2"/>
      <member name="workspace_3"
              value="2"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_3"/>
      <member name="workspace_4"
              value="3"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_4"/>
      <member name="workspace_5"
              value="4"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_5"/>
      <member name="workspace_6"
              value="5"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_6"/>
      <member name="workspace_7"
              value="6"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_7"/>
      <member name="workspace_8"
              value="7"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_8"/>
      <member name="workspace_9"
              value="8"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_9"/>
      <member name="workspace_10"
              value="9"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_10"/>
      <member name="workspace_11"
              value="10"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_11"/>
      <member name="workspace_12"
              value="11"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_12"/>
      <member name="workspace_left"
              value="12"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_LEFT"/>
      <member name="workspace_right"
              value="13"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_RIGHT"/>
      <member name="workspace_up"
              value="14"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_UP"/>
      <member name="workspace_down"
              value="15"
              c:identifier="META_KEYBINDING_ACTION_WORKSPACE_DOWN"/>
      <member name="switch_group"
              value="16"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_GROUP"/>
      <member name="switch_group_backward"
              value="17"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD"/>
      <member name="switch_windows"
              value="18"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_WINDOWS"/>
      <member name="switch_windows_backward"
              value="19"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD"/>
      <member name="switch_panels"
              value="20"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_PANELS"/>
      <member name="switch_panels_backward"
              value="21"
              c:identifier="META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD"/>
      <member name="cycle_group"
              value="22"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_GROUP"/>
      <member name="cycle_group_backward"
              value="23"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD"/>
      <member name="cycle_windows"
              value="24"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_WINDOWS"/>
      <member name="cycle_windows_backward"
              value="25"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD"/>
      <member name="cycle_panels"
              value="26"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_PANELS"/>
      <member name="cycle_panels_backward"
              value="27"
              c:identifier="META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD"/>
      <member name="show_desktop"
              value="28"
              c:identifier="META_KEYBINDING_ACTION_SHOW_DESKTOP"/>
      <member name="panel_main_menu"
              value="29"
              c:identifier="META_KEYBINDING_ACTION_PANEL_MAIN_MENU"/>
      <member name="panel_run_dialog"
              value="30"
              c:identifier="META_KEYBINDING_ACTION_PANEL_RUN_DIALOG"/>
      <member name="command_1"
              value="31"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_1"/>
      <member name="command_2"
              value="32"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_2"/>
      <member name="command_3"
              value="33"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_3"/>
      <member name="command_4"
              value="34"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_4"/>
      <member name="command_5"
              value="35"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_5"/>
      <member name="command_6"
              value="36"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_6"/>
      <member name="command_7"
              value="37"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_7"/>
      <member name="command_8"
              value="38"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_8"/>
      <member name="command_9"
              value="39"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_9"/>
      <member name="command_10"
              value="40"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_10"/>
      <member name="command_11"
              value="41"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_11"/>
      <member name="command_12"
              value="42"
              c:identifier="META_KEYBINDING_ACTION_COMMAND_12"/>
    </enumeration>
    <record name="KeyCombo" c:type="MetaKeyCombo">
      <field name="keysym" writable="1">
        <type name="guint" c:type="unsigned"/>
      </field>
      <field name="keycode" writable="1">
        <type name="guint" c:type="unsigned"/>
      </field>
      <field name="modifiers" writable="1">
        <type name="VirtualModifier" c:type="MetaVirtualModifier"/>
      </field>
    </record>
    <record name="KeyHandler" c:type="MetaKeyHandler">
      <field name="name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="func" introspectable="0" writable="1">
        <type name="KeyHandlerFunc" c:type="MetaKeyHandlerFunc"/>
      </field>
      <field name="default_func" introspectable="0" writable="1">
        <type name="KeyHandlerFunc" c:type="MetaKeyHandlerFunc"/>
      </field>
      <field name="data" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="flags" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="user_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="user_data_free_func" writable="1">
        <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
      </field>
    </record>
    <callback name="KeyHandlerFunc"
              c:type="MetaKeyHandlerFunc"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
        <parameter name="screen" transfer-ownership="none">
          <type name="Screen" c:type="MetaScreen*"/>
        </parameter>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="MetaWindow*"/>
        </parameter>
        <parameter name="event" transfer-ownership="none">
          <type c:type="XEvent*"/>
        </parameter>
        <parameter name="binding" transfer-ownership="none">
          <type name="KeyBinding" c:type="MetaKeyBinding*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="5">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="KeyPref" c:type="MetaKeyPref">
      <field name="name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="default_keybinding" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="bindings" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="add_shift" writable="1" bits="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="per_window" writable="1" bits="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <enumeration name="LaterType" c:type="MetaLaterType">
      <member name="resize" value="0" c:identifier="META_LATER_RESIZE"/>
      <member name="before_redraw"
              value="1"
              c:identifier="META_LATER_BEFORE_REDRAW"/>
      <member name="idle" value="2" c:identifier="META_LATER_IDLE"/>
    </enumeration>
    <constant name="MINI_ICON_HEIGHT" value="16">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINI_ICON_WIDTH" value="16">
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="MaximizeFlags" c:type="MetaMaximizeFlags">
      <member name="horizontal"
              value="1"
              c:identifier="META_MAXIMIZE_HORIZONTAL"/>
      <member name="vertical" value="2" c:identifier="META_MAXIMIZE_VERTICAL"/>
    </bitfield>
    <enumeration name="MenuIconType" c:type="MetaMenuIconType">
      <member name="close" value="0" c:identifier="META_MENU_ICON_TYPE_CLOSE"/>
      <member name="maximize"
              value="1"
              c:identifier="META_MENU_ICON_TYPE_MAXIMIZE"/>
      <member name="unmaximize"
              value="2"
              c:identifier="META_MENU_ICON_TYPE_UNMAXIMIZE"/>
      <member name="minimize"
              value="3"
              c:identifier="META_MENU_ICON_TYPE_MINIMIZE"/>
      <member name="last" value="4" c:identifier="META_MENU_ICON_TYPE_LAST"/>
    </enumeration>
    <bitfield name="MenuOp" c:type="MetaMenuOp">
      <member name="none" value="0" c:identifier="META_MENU_OP_NONE"/>
      <member name="delete" value="1" c:identifier="META_MENU_OP_DELETE"/>
      <member name="minimize" value="2" c:identifier="META_MENU_OP_MINIMIZE"/>
      <member name="unmaximize"
              value="4"
              c:identifier="META_MENU_OP_UNMAXIMIZE"/>
      <member name="maximize" value="8" c:identifier="META_MENU_OP_MAXIMIZE"/>
      <member name="unshade" value="16" c:identifier="META_MENU_OP_UNSHADE"/>
      <member name="shade" value="32" c:identifier="META_MENU_OP_SHADE"/>
      <member name="unstick" value="64" c:identifier="META_MENU_OP_UNSTICK"/>
      <member name="stick" value="128" c:identifier="META_MENU_OP_STICK"/>
      <member name="workspaces"
              value="256"
              c:identifier="META_MENU_OP_WORKSPACES"/>
      <member name="move" value="512" c:identifier="META_MENU_OP_MOVE"/>
      <member name="resize" value="1024" c:identifier="META_MENU_OP_RESIZE"/>
      <member name="above" value="2048" c:identifier="META_MENU_OP_ABOVE"/>
      <member name="unabove" value="4096" c:identifier="META_MENU_OP_UNABOVE"/>
      <member name="move_left"
              value="8192"
              c:identifier="META_MENU_OP_MOVE_LEFT"/>
      <member name="move_right"
              value="16384"
              c:identifier="META_MENU_OP_MOVE_RIGHT"/>
      <member name="move_up"
              value="32768"
              c:identifier="META_MENU_OP_MOVE_UP"/>
      <member name="move_down"
              value="65536"
              c:identifier="META_MENU_OP_MOVE_DOWN"/>
      <member name="recover"
              value="131072"
              c:identifier="META_MENU_OP_RECOVER"/>
    </bitfield>
    <bitfield name="ModalOptions" c:type="MetaModalOptions">
      <doc xml:whitespace="preserve">Options that can be provided when calling mutter_plugin_begin_modal().</doc>
      <member name="pointer_already_grabbed"
              value="1"
              c:identifier="META_MODAL_POINTER_ALREADY_GRABBED"/>
      <member name="keyboard_already_grabbed"
              value="2"
              c:identifier="META_MODAL_KEYBOARD_ALREADY_GRABBED"/>
    </bitfield>
    <enumeration name="MotionDirection" c:type="MetaMotionDirection">
      <member name="up" value="-1" c:identifier="META_MOTION_UP"/>
      <member name="down" value="-2" c:identifier="META_MOTION_DOWN"/>
      <member name="left" value="-3" c:identifier="META_MOTION_LEFT"/>
      <member name="right" value="-4" c:identifier="META_MOTION_RIGHT"/>
      <member name="up_left" value="-5" c:identifier="META_MOTION_UP_LEFT"/>
      <member name="up_right" value="-6" c:identifier="META_MOTION_UP_RIGHT"/>
      <member name="down_left"
              value="-7"
              c:identifier="META_MOTION_DOWN_LEFT"/>
      <member name="down_right"
              value="-8"
              c:identifier="META_MOTION_DOWN_RIGHT"/>
    </enumeration>
    <constant name="PRIORITY_BEFORE_REDRAW" value="40">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_PREFS_NOTIFY" value="10">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_REDRAW" value="50">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_RESIZE" value="15">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="PositionExprEnv" c:type="MetaPositionExprEnv">
      <field name="rect" writable="1">
        <type name="Rectangle" c:type="MetaRectangle"/>
      </field>
      <field name="object_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="object_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="left_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="right_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="top_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="bottom_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="title_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="title_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="frame_x_center" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="frame_y_center" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="mini_icon_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="mini_icon_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="icon_width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="icon_height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="theme" writable="1">
        <type name="Theme" c:type="MetaTheme*"/>
      </field>
    </record>
    <enumeration name="Preference" c:type="MetaPreference">
      <member name="mouse_button_mods"
              value="0"
              c:identifier="META_PREF_MOUSE_BUTTON_MODS"/>
      <member name="focus_mode" value="1" c:identifier="META_PREF_FOCUS_MODE"/>
      <member name="focus_new_windows"
              value="2"
              c:identifier="META_PREF_FOCUS_NEW_WINDOWS"/>
      <member name="raise_on_click"
              value="3"
              c:identifier="META_PREF_RAISE_ON_CLICK"/>
      <member name="action_double_click_titlebar"
              value="4"
              c:identifier="META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR"/>
      <member name="action_middle_click_titlebar"
              value="5"
              c:identifier="META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR"/>
      <member name="action_right_click_titlebar"
              value="6"
              c:identifier="META_PREF_ACTION_RIGHT_CLICK_TITLEBAR"/>
      <member name="auto_raise" value="7" c:identifier="META_PREF_AUTO_RAISE"/>
      <member name="auto_raise_delay"
              value="8"
              c:identifier="META_PREF_AUTO_RAISE_DELAY"/>
      <member name="theme" value="9" c:identifier="META_PREF_THEME"/>
      <member name="titlebar_font"
              value="10"
              c:identifier="META_PREF_TITLEBAR_FONT"/>
      <member name="num_workspaces"
              value="11"
              c:identifier="META_PREF_NUM_WORKSPACES"/>
      <member name="application_based"
              value="12"
              c:identifier="META_PREF_APPLICATION_BASED"/>
      <member name="keybindings"
              value="13"
              c:identifier="META_PREF_KEYBINDINGS"/>
      <member name="disable_workarounds"
              value="14"
              c:identifier="META_PREF_DISABLE_WORKAROUNDS"/>
      <member name="commands" value="15" c:identifier="META_PREF_COMMANDS"/>
      <member name="terminal_command"
              value="16"
              c:identifier="META_PREF_TERMINAL_COMMAND"/>
      <member name="button_layout"
              value="17"
              c:identifier="META_PREF_BUTTON_LAYOUT"/>
      <member name="workspace_names"
              value="18"
              c:identifier="META_PREF_WORKSPACE_NAMES"/>
      <member name="visual_bell"
              value="19"
              c:identifier="META_PREF_VISUAL_BELL"/>
      <member name="audible_bell"
              value="20"
              c:identifier="META_PREF_AUDIBLE_BELL"/>
      <member name="visual_bell_type"
              value="21"
              c:identifier="META_PREF_VISUAL_BELL_TYPE"/>
      <member name="gnome_accessibility"
              value="22"
              c:identifier="META_PREF_GNOME_ACCESSIBILITY"/>
      <member name="gnome_animations"
              value="23"
              c:identifier="META_PREF_GNOME_ANIMATIONS"/>
      <member name="cursor_theme"
              value="24"
              c:identifier="META_PREF_CURSOR_THEME"/>
      <member name="cursor_size"
              value="25"
              c:identifier="META_PREF_CURSOR_SIZE"/>
      <member name="compositing_manager"
              value="26"
              c:identifier="META_PREF_COMPOSITING_MANAGER"/>
      <member name="resize_with_right_button"
              value="27"
              c:identifier="META_PREF_RESIZE_WITH_RIGHT_BUTTON"/>
      <member name="force_fullscreen"
              value="28"
              c:identifier="META_PREF_FORCE_FULLSCREEN"/>
      <member name="clutter_plugins"
              value="29"
              c:identifier="META_PREF_CLUTTER_PLUGINS"/>
      <member name="live_hidden_windows"
              value="30"
              c:identifier="META_PREF_LIVE_HIDDEN_WINDOWS"/>
      <member name="no_tab_popup"
              value="31"
              c:identifier="META_PREF_NO_TAB_POPUP"/>
    </enumeration>
    <callback name="PrefsChangedFunc" c:type="MetaPrefsChangedFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pref" transfer-ownership="none">
          <type name="Preference" c:type="MetaPreference"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Rectangle" c:type="MetaRectangle">
      <field name="x" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="y" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="width" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="height" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <method name="area" c:identifier="meta_rectangle_area">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="contains_rect" c:identifier="meta_rectangle_contains_rect">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="inner_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="could_fit_rect"
              c:identifier="meta_rectangle_could_fit_rect">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="inner_rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="edge_aligns" c:identifier="meta_rectangle_edge_aligns">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="edge" transfer-ownership="none">
            <type name="Edge" c:type="MetaEdge*"/>
          </parameter>
        </parameters>
      </method>
      <method name="equal" c:identifier="meta_rectangle_equal">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="src2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="expand_to_avoiding_struts"
              c:identifier="meta_rectangle_expand_to_avoiding_struts">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="expand_to" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <type name="Direction" c:type="MetaDirection"/>
          </parameter>
          <parameter name="all_struts" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="find_onscreen_edges"
              c:identifier="meta_rectangle_find_onscreen_edges"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="all_struts" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_minimal_spanning_set_for_region"
              c:identifier="meta_rectangle_get_minimal_spanning_set_for_region"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="all_struts" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="horiz_overlap" c:identifier="meta_rectangle_horiz_overlap">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="rect2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="intersect" c:identifier="meta_rectangle_intersect">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="src2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="overlap" c:identifier="meta_rectangle_overlap">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="rect2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="resize_with_gravity"
              c:identifier="meta_rectangle_resize_with_gravity">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="gravity" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="new_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="new_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="meta_rectangle_to_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="output" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="union" c:identifier="meta_rectangle_union">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rect2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="vert_overlap" c:identifier="meta_rectangle_vert_overlap">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="rect2" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ResizePopup" c:type="MetaResizePopup" disguised="1">
    </record>
    <class name="Screen"
           c:symbol-prefix="screen"
           c:type="MetaScreen"
           parent="GObject.Object"
           glib:type-name="MetaScreen"
           glib:get-type="meta_screen_get_type"
           glib:type-struct="ScreenClass">
      <function name="for_x_screen" c:identifier="meta_screen_for_x_screen">
        <doc xml:whitespace="preserve">Gets the #MetaScreen corresponding to an X screen structure.
%NULL if Metacity is not managing the screen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #MetaScreen for the X screen</doc>
          <type name="Screen" c:type="MetaScreen*"/>
        </return-value>
        <parameters>
          <parameter name="xscreen" transfer-ownership="none">
            <doc xml:whitespace="preserve">an X screen structure.</doc>
            <type name="xlib.Screen" c:type="Screen*"/>
          </parameter>
        </parameters>
      </function>
      <method name="append_new_workspace"
              c:identifier="meta_screen_append_new_workspace">
        <doc xml:whitespace="preserve">Append a new workspace to the screen and (optionally) switch to that
screen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the newly appended workspace.</doc>
          <type name="Workspace" c:type="MetaWorkspace*"/>
        </return-value>
        <parameters>
          <parameter name="activate" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the workspace should be switched to after creation</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:whitespace="preserve">if switching to a new workspace, timestamp to be used when focusing a window on the new workspace. (Doesn't hurt to pass a valid timestamp when available even if not switching workspaces.)</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_workspace"
              c:identifier="meta_screen_get_active_workspace">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The current workspace</doc>
          <type name="Workspace" c:type="MetaWorkspace*"/>
        </return-value>
      </method>
      <method name="get_active_workspace_index"
              c:identifier="meta_screen_get_active_workspace_index">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_compositor_data"
              c:identifier="meta_screen_get_compositor_data"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="get_display" c:identifier="meta_screen_get_display">
        <doc xml:whitespace="preserve">Retrieve the display associated with screen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Display</doc>
          <type name="Display" c:type="MetaDisplay*"/>
        </return-value>
      </method>
      <method name="get_monitor_geometry"
              c:identifier="meta_screen_get_monitor_geometry">
        <doc xml:whitespace="preserve">Stores the location and size of the indicated monitor in @geometry.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="monitor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the monitor number</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="geometry"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">location to store the monitor geometry</doc>
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_monitors" c:identifier="meta_screen_get_n_monitors">
        <doc xml:whitespace="preserve">Gets the number of monitors that are joined together to form @screen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of monitors</doc>
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_n_workspaces"
              c:identifier="meta_screen_get_n_workspaces">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_screen_number"
              c:identifier="meta_screen_get_screen_number">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_size" c:identifier="meta_screen_get_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <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_startup_sequences"
              c:identifier="meta_screen_get_startup_sequences">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Currently active #SnStartupSequence items</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_workspace_by_index"
              c:identifier="meta_screen_get_workspace_by_index">
        <doc xml:whitespace="preserve">Gets the workspace object for one of a screen's workspaces given the workspace
index. It's valid to call this function with an out-of-range index and it
will robustly return %NULL.
if the index is out of range.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the workspace object with specified index, or %NULL</doc>
          <type name="Workspace" c:type="MetaWorkspace*"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <doc xml:whitespace="preserve">index of one of the screen's workspaces</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_workspaces"
              c:identifier="meta_screen_get_workspaces"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_xroot"
              c:identifier="meta_screen_get_xroot"
              introspectable="0">
        <return-value>
          <type name="xlib.Window" c:type="Window"/>
        </return-value>
      </method>
      <method name="grab_all_keys" c:identifier="meta_screen_grab_all_keys">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_workspace"
              c:identifier="meta_screen_remove_workspace">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cm_selection"
              c:identifier="meta_screen_set_cm_selection">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_compositor_data"
              c:identifier="meta_screen_set_compositor_data">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="ungrab_all_keys"
              c:identifier="meta_screen_ungrab_all_keys">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="unset_cm_selection"
              c:identifier="meta_screen_unset_cm_selection">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="keyboard-grabbed" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="n-workspaces" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <glib:signal name="restacked">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="startup-sequence-changed">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="toggle-recording">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="workareas-changed">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="workspace-added">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-removed">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="workspace-switched" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ScreenClass"
            c:type="MetaScreenClass"
            disguised="1"
            glib:is-gtype-struct-for="Screen">
    </record>
    <enumeration name="Side" c:type="MetaSide">
      <member name="left" value="1" c:identifier="META_SIDE_LEFT"/>
      <member name="right" value="2" c:identifier="META_SIDE_RIGHT"/>
      <member name="top" value="4" c:identifier="META_SIDE_TOP"/>
      <member name="bottom" value="8" c:identifier="META_SIDE_BOTTOM"/>
    </enumeration>
    <enumeration name="StackLayer" c:type="MetaStackLayer">
      <member name="desktop" value="0" c:identifier="META_LAYER_DESKTOP"/>
      <member name="bottom" value="1" c:identifier="META_LAYER_BOTTOM"/>
      <member name="normal" value="2" c:identifier="META_LAYER_NORMAL"/>
      <member name="top" value="4" c:identifier="META_LAYER_TOP"/>
      <member name="dock" value="4" c:identifier="META_LAYER_DOCK"/>
      <member name="fullscreen"
              value="5"
              c:identifier="META_LAYER_FULLSCREEN"/>
      <member name="focused_window"
              value="6"
              c:identifier="META_LAYER_FOCUSED_WINDOW"/>
      <member name="override_redirect"
              value="7"
              c:identifier="META_LAYER_OVERRIDE_REDIRECT"/>
      <member name="last" value="8" c:identifier="META_LAYER_LAST"/>
    </enumeration>
    <record name="Strut" c:type="MetaStrut">
      <field name="rect" writable="1">
        <type name="Rectangle" c:type="MetaRectangle"/>
      </field>
      <field name="side" writable="1">
        <type name="Side" c:type="MetaSide"/>
      </field>
    </record>
    <constant name="THEME_COLOR_CONSTANTS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_DEGREES_IN_ARCS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_FRAME_BACKGROUNDS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_HIDDEN_BUTTONS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_IMAGES_FROM_ICON_THEMES" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_SHADE_STICK_ABOVE_BUTTONS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_UBIQUITOUS_CONSTANTS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_UNRESIZABLE_SHADED_STYLES" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="THEME_VARIED_ROUND_CORNERS" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="TabList" c:type="MetaTabList">
      <member name="normal" value="0" c:identifier="META_TAB_LIST_NORMAL"/>
      <member name="docks" value="1" c:identifier="META_TAB_LIST_DOCKS"/>
      <member name="group" value="2" c:identifier="META_TAB_LIST_GROUP"/>
    </enumeration>
    <enumeration name="TabShowType" c:type="MetaTabShowType">
      <member name="icon" value="0" c:identifier="META_TAB_SHOW_ICON"/>
      <member name="instantly"
              value="1"
              c:identifier="META_TAB_SHOW_INSTANTLY"/>
    </enumeration>
    <record name="Theme" c:type="MetaTheme">
      <field name="name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="dirname" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="filename" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="readable_name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="author" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="copyright" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="date" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="format_version" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="integer_constants" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="float_constants" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="color_constants" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="images_by_filename" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="layouts_by_name" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="draw_op_lists_by_name" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="styles_by_name" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="style_sets_by_name" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="style_sets_by_type" writable="1">
        <array zero-terminated="0" c:type="MetaFrameStyleSet">
          <type name="FrameStyleSet" c:type="MetaFrameStyleSet*"/>
        </array>
      </field>
      <field name="quark_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_object_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_object_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_left_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_right_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_top_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_bottom_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_mini_icon_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_mini_icon_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_icon_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_icon_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_title_width" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_title_height" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_frame_x_center" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="quark_frame_y_center" writable="1">
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <method name="calc_geometry" c:identifier="meta_theme_calc_geometry">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_layout" transfer-ownership="none">
            <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
          </parameter>
          <parameter name="fgeom" transfer-ownership="none">
            <type name="FrameGeometry" c:type="MetaFrameGeometry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="define_color_constant"
              c:identifier="meta_theme_define_color_constant"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="define_float_constant"
              c:identifier="meta_theme_define_float_constant"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="define_int_constant"
              c:identifier="meta_theme_define_int_constant"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_frame" c:identifier="meta_theme_draw_frame">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="x_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="title_layout" transfer-ownership="none">
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_layout" transfer-ownership="none">
            <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
          </parameter>
          <parameter name="button_states" transfer-ownership="none">
            <type name="ButtonState" c:type="MetaButtonState"/>
          </parameter>
          <parameter name="mini_icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_frame_by_name"
              c:identifier="meta_theme_draw_frame_by_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="x_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="style_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="title_layout" transfer-ownership="none">
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_layout" transfer-ownership="none">
            <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
          </parameter>
          <parameter name="button_states" transfer-ownership="none">
            <type name="ButtonState" c:type="MetaButtonState"/>
          </parameter>
          <parameter name="mini_icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_frame_with_style"
              c:identifier="meta_theme_draw_frame_with_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style_gtk" transfer-ownership="none">
            <type name="Gtk.Style" c:type="GtkStyle*"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="drawable" transfer-ownership="none">
            <type name="Gdk.Drawable" c:type="GdkDrawable*"/>
          </parameter>
          <parameter name="clip" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
          <parameter name="x_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y_offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="client_width" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="client_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="title_layout" transfer-ownership="none">
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="button_layout" transfer-ownership="none">
            <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
          </parameter>
          <parameter name="button_states" transfer-ownership="none">
            <type name="ButtonState" c:type="MetaButtonState"/>
          </parameter>
          <parameter name="mini_icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="meta_theme_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_frame_borders"
              c:identifier="meta_theme_get_frame_borders">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="text_height" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
          <parameter name="top_height" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="bottom_height" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="left_width" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="right_width" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_frame_style"
              c:identifier="meta_theme_get_frame_style"
              introspectable="0">
        <return-value>
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_title_scale" c:identifier="meta_theme_get_title_scale">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="FrameType" c:type="MetaFrameType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="FrameFlags" c:type="MetaFrameFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_draw_op_list"
              c:identifier="meta_theme_insert_draw_op_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="op_list" transfer-ownership="none">
            <type name="DrawOpList" c:type="MetaDrawOpList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_layout" c:identifier="meta_theme_insert_layout">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="layout" transfer-ownership="none">
            <type name="FrameLayout" c:type="MetaFrameLayout*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_style" c:identifier="meta_theme_insert_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="style" transfer-ownership="none">
            <type name="FrameStyle" c:type="MetaFrameStyle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_style_set"
              c:identifier="meta_theme_insert_style_set">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="style_set" transfer-ownership="none">
            <type name="FrameStyleSet" c:type="MetaFrameStyleSet*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_image"
              c:identifier="meta_theme_load_image"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="size_of_theme_icons" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_color_constant"
              c:identifier="meta_theme_lookup_color_constant">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_draw_op_list"
              c:identifier="meta_theme_lookup_draw_op_list"
              introspectable="0">
        <return-value>
          <type name="DrawOpList" c:type="MetaDrawOpList*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_float_constant"
              c:identifier="meta_theme_lookup_float_constant">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_int_constant"
              c:identifier="meta_theme_lookup_int_constant">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_layout"
              c:identifier="meta_theme_lookup_layout"
              introspectable="0">
        <return-value>
          <type name="FrameLayout" c:type="MetaFrameLayout*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_style"
              c:identifier="meta_theme_lookup_style"
              introspectable="0">
        <return-value>
          <type name="FrameStyle" c:type="MetaFrameStyle*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_style_set"
              c:identifier="meta_theme_lookup_style_set"
              introspectable="0">
        <return-value>
          <type name="FrameStyleSet" c:type="MetaFrameStyleSet*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_constants"
              c:identifier="meta_theme_replace_constants"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tokens" transfer-ownership="none">
            <type c:type="PosToken*"/>
          </parameter>
          <parameter name="n_tokens" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate" c:identifier="meta_theme_validate" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="ThemeError" c:type="MetaThemeError">
      <member name="frame_geometry"
              value="0"
              c:identifier="META_THEME_ERROR_FRAME_GEOMETRY"/>
      <member name="bad_character"
              value="1"
              c:identifier="META_THEME_ERROR_BAD_CHARACTER"/>
      <member name="bad_parens"
              value="2"
              c:identifier="META_THEME_ERROR_BAD_PARENS"/>
      <member name="unknown_variable"
              value="3"
              c:identifier="META_THEME_ERROR_UNKNOWN_VARIABLE"/>
      <member name="divide_by_zero"
              value="4"
              c:identifier="META_THEME_ERROR_DIVIDE_BY_ZERO"/>
      <member name="mod_on_float"
              value="5"
              c:identifier="META_THEME_ERROR_MOD_ON_FLOAT"/>
      <member name="failed" value="6" c:identifier="META_THEME_ERROR_FAILED"/>
    </enumeration>
    <bitfield name="VirtualModifier" c:type="MetaVirtualModifier">
      <member name="shift_mask"
              value="32"
              c:identifier="META_VIRTUAL_SHIFT_MASK"/>
      <member name="control_mask"
              value="64"
              c:identifier="META_VIRTUAL_CONTROL_MASK"/>
      <member name="alt_mask"
              value="128"
              c:identifier="META_VIRTUAL_ALT_MASK"/>
      <member name="meta_mask"
              value="256"
              c:identifier="META_VIRTUAL_META_MASK"/>
      <member name="super_mask"
              value="512"
              c:identifier="META_VIRTUAL_SUPER_MASK"/>
      <member name="hyper_mask"
              value="1024"
              c:identifier="META_VIRTUAL_HYPER_MASK"/>
      <member name="mod2_mask"
              value="2048"
              c:identifier="META_VIRTUAL_MOD2_MASK"/>
      <member name="mod3_mask"
              value="4096"
              c:identifier="META_VIRTUAL_MOD3_MASK"/>
      <member name="mod4_mask"
              value="8192"
              c:identifier="META_VIRTUAL_MOD4_MASK"/>
      <member name="mod5_mask"
              value="16384"
              c:identifier="META_VIRTUAL_MOD5_MASK"/>
    </bitfield>
    <enumeration name="VisualBellType" c:type="MetaVisualBellType">
      <member name="invalid"
              value="0"
              c:identifier="META_VISUAL_BELL_INVALID"/>
      <member name="fullscreen_flash"
              value="1"
              c:identifier="META_VISUAL_BELL_FULLSCREEN_FLASH"/>
      <member name="frame_flash"
              value="2"
              c:identifier="META_VISUAL_BELL_FRAME_FLASH"/>
    </enumeration>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="MetaWindow"
           parent="GObject.Object"
           glib:type-name="MetaWindow"
           glib:get-type="meta_window_get_type"
           glib:type-struct="WindowClass">
      <method name="activate" c:identifier="meta_window_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="current_time" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="activate_with_workspace"
              c:identifier="meta_window_activate_with_workspace">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="current_time" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="MetaWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_workspace_by_index"
              c:identifier="meta_window_change_workspace_by_index">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="space_index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="append" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="compute_group" c:identifier="meta_window_compute_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="configure_notify"
              c:identifier="meta_window_configure_notify"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <type c:type="XConfigureEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete" c:identifier="meta_window_delete">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_root_ancestor"
              c:identifier="meta_window_find_root_ancestor"
              introspectable="0">
        <return-value>
          <type name="Window" c:type="MetaWindow*"/>
        </return-value>
      </method>
      <method name="foreach_ancestor"
              c:identifier="meta_window_foreach_ancestor">
        <doc xml:whitespace="preserve">If @window is transient, call @func with the window for which it's transient,
repeatedly until either we find a non-transient window, or @func returns %FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:whitespace="preserve">Called for each window which is a transient parent of @window</doc>
            <type name="WindowForeachFunc" c:type="MetaWindowForeachFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_transient"
              c:identifier="meta_window_foreach_transient">
        <doc xml:whitespace="preserve">Call @func for every window which is either transient for @window, or is
a transient of a window which is in turn transient for @window.
The order of window enumeration is not defined.
Iteration will stop if @func at any point returns %FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:whitespace="preserve">Called for each window which is a transient of @window (transitively)</doc>
            <type name="WindowForeachFunc" c:type="MetaWindowForeachFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_client_machine"
              c:identifier="meta_window_get_client_machine">
        <doc xml:whitespace="preserve">Returns name of the client machine from which this windows was created,
if known (obtained from the WM_CLIENT_MACHINE property).
owned by the window manager and should not be freed or modified by the
caller.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the machine name, or NULL; the string is</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_compositor_private"
              c:identifier="meta_window_get_compositor_private">
        <doc xml:whitespace="preserve">Gets the compositor's wrapper object for @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the wrapper object.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
      </method>
      <method name="get_description"
              c:identifier="meta_window_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_display"
              c:identifier="meta_window_get_display"
              introspectable="0">
        <return-value>
          <type name="Display" c:type="MetaDisplay*"/>
        </return-value>
      </method>
      <method name="get_frame"
              c:identifier="meta_window_get_frame"
              introspectable="0">
        <return-value>
          <type name="Frame" c:type="MetaFrame*"/>
        </return-value>
      </method>
      <method name="get_group"
              c:identifier="meta_window_get_group"
              introspectable="0">
        <return-value>
          <type name="Group" c:type="MetaGroup*"/>
        </return-value>
      </method>
      <method name="get_icon_geometry"
              c:identifier="meta_window_get_icon_geometry">
        <doc xml:whitespace="preserve">Gets the location of the icon corresponding to the window. The location
will be provided set by the task bar or other user interface element
displaying the icon, and is relative to the root window. This currently
retrieves the icon geometry from the X server as a round trip on every
call.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the icon geometry was succesfully retrieved.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:whitespace="preserve">rectangle into which to store the returned geometry.</doc>
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layer" c:identifier="meta_window_get_layer">
        <return-value transfer-ownership="none">
          <type name="StackLayer" c:type="MetaStackLayer"/>
        </return-value>
      </method>
      <method name="get_mutter_hints"
              c:identifier="meta_window_get_mutter_hints">
        <doc xml:whitespace="preserve">Gets the current value of the _MUTTER_HINTS property.
The purpose of the hints is to allow fine-tuning of the Window Manager and
Compositor behaviour on per-window basis, and is intended primarily for
hints that are plugin-specific.
The property is a list of colon-separated key=value pairs. The key names for
any plugin-specific hints must be suitably namespaced to allow for shared
use; 'mutter-' key prefix is reserved for internal use, and must not be used
by plugins.
are set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the _MUTTER_HINTS string, or %NULL if no hints</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_outer_rect" c:identifier="meta_window_get_outer_rect">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rect" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pid" c:identifier="meta_window_get_pid">
        <doc xml:whitespace="preserve">Returns pid of the process that created this window, if known (obtained from
the _NET_WM_PID property).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the pid, or -1 if not known.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="get_rect"
              c:identifier="meta_window_get_rect"
              introspectable="0">
        <return-value>
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </return-value>
      </method>
      <method name="get_role" c:identifier="meta_window_get_role">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_screen" c:identifier="meta_window_get_screen">
        <doc xml:whitespace="preserve">Gets the #MetaScreen that the window is on.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #MetaScreen for the window</doc>
          <type name="Screen" c:type="MetaScreen*"/>
        </return-value>
      </method>
      <method name="get_stable_sequence"
              c:identifier="meta_window_get_stable_sequence">
        <doc xml:whitespace="preserve">The stable sequence number is a monotonicially increasing
unique integer assigned to each #MetaWindow upon creation.
This number can be useful for sorting windows in a stable
fashion.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Internal sequence number for this window</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_startup_id" c:identifier="meta_window_get_startup_id">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_title" c:identifier="meta_window_get_title">
        <doc xml:whitespace="preserve">Returns the current title of the window.</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_transient_for"
              c:identifier="meta_window_get_transient_for">
        <doc xml:whitespace="preserve">Returns the #MetaWindow for the window that is pointed to by the
WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint()
or XSetTransientForHint()). Metacity keeps transient windows above their
parents. A typical usage of this hint is for a dialog that wants to stay
above its associated window.
%NULL if the WM_TRANSIENT_FOR hint is unset or does not point to a toplevel
window that Metacity knows about.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the window this window is transient for, or</doc>
          <type name="Window" c:type="MetaWindow*"/>
        </return-value>
      </method>
      <method name="get_transient_for_as_xid"
              c:identifier="meta_window_get_transient_for_as_xid">
        <doc xml:whitespace="preserve">Returns the XID of the window that is pointed to by the
WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint()
or XSetTransientForHint()). Metacity keeps transient windows above their
parents. A typical usage of this hint is for a dialog that wants to stay
above its associated window.
None if the WM_TRANSIENT_FOR hint is unset.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the window this window is transient for, or</doc>
          <type name="xlib.Window" c:type="Window"/>
        </return-value>
      </method>
      <method name="get_user_time" c:identifier="meta_window_get_user_time">
        <doc xml:whitespace="preserve">The user time represents a timestamp for the last time the user
interacted with this window.  Note this property is only available
for non-override-redirect windows.
The property is set by Mutter initially upon window creation,
and updated thereafter on input events (key and button presses) seen by Mutter,
client updates to the _NET_WM_USER_TIME property (if later than the current time)
and when focusing the window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The last time the user interacted with this window.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_window_type"
              c:identifier="meta_window_get_window_type">
        <return-value transfer-ownership="none">
          <type name="WindowType" c:type="MetaWindowType"/>
        </return-value>
      </method>
      <method name="get_window_type_atom"
              c:identifier="meta_window_get_window_type_atom"
              introspectable="0">
        <return-value>
          <type name="xlib.Atom" c:type="Atom"/>
        </return-value>
      </method>
      <method name="get_wm_class" c:identifier="meta_window_get_wm_class">
        <doc xml:whitespace="preserve">Return the current value of the name part of WM_CLASS X property.</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_wm_class_instance"
              c:identifier="meta_window_get_wm_class_instance">
        <doc xml:whitespace="preserve">Return the current value of the instance part of WM_CLASS X property.</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_workspace" c:identifier="meta_window_get_workspace">
        <doc xml:whitespace="preserve">Gets the #MetaWorkspace that the window is currently displayed on.
If the window is on all workspaces, returns the currently active
workspace.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #MetaWorkspace for the window</doc>
          <type name="Workspace" c:type="MetaWorkspace*"/>
        </return-value>
      </method>
      <method name="get_xwindow"
              c:identifier="meta_window_get_xwindow"
              introspectable="0">
        <return-value>
          <type name="xlib.Window" c:type="Window"/>
        </return-value>
      </method>
      <method name="group_leader_changed"
              c:identifier="meta_window_group_leader_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="has_focus" c:identifier="meta_window_has_focus">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_ancestor_of_transient"
              c:identifier="meta_window_is_ancestor_of_transient">
        <doc xml:whitespace="preserve">The function determines whether @window is an ancestor of @transient; it does
so by traversing the @transient's ancestors until it either locates @window
or reaches an ancestor that is not transient.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if window is an ancestor of transient.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="transient" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #MetaWindow</doc>
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_hidden" c:identifier="meta_window_is_hidden">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_mapped" c:identifier="meta_window_is_mapped">
        <doc xml:whitespace="preserve">Determines whether the X window for the MetaWindow is mapped.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_modal" c:identifier="meta_window_is_modal">
        <doc xml:whitespace="preserve">Queries whether the window is in a modal state as described by the
_NET_WM_STATE protocol.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the window is in modal state.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_on_all_workspaces"
              c:identifier="meta_window_is_on_all_workspaces">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_override_redirect"
              c:identifier="meta_window_is_override_redirect">
        <doc xml:whitespace="preserve">Returns if this window isn't managed by mutter; it will
control its own positioning and mutter won't draw decorations
among other things.  In X terminology this is "override redirect".</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_shaded" c:identifier="meta_window_is_shaded">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_skip_taskbar"
              c:identifier="meta_window_is_skip_taskbar">
        <doc xml:whitespace="preserve">Gets whether this window should be ignored by task lists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the skip bar hint is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="lower" c:identifier="meta_window_lower">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="maximize" c:identifier="meta_window_maximize">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="directions" transfer-ownership="none">
            <type name="MaximizeFlags" c:type="MetaMaximizeFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="minimize" c:identifier="meta_window_minimize">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="raise" c:identifier="meta_window_raise">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_compositor_private"
              c:identifier="meta_window_set_compositor_private">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="priv" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_demands_attention"
              c:identifier="meta_window_set_demands_attention">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="showing_on_its_workspace"
              c:identifier="meta_window_showing_on_its_workspace">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="shutdown_group" c:identifier="meta_window_shutdown_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="toplevel_is_mapped"
              c:identifier="meta_window_toplevel_is_mapped">
        <doc xml:whitespace="preserve">Determines whether the toplevel X window for the MetaWindow is
mapped. (The frame window is mapped even without the client window
when a window is shaded.)</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the toplevel is mapped.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="unmaximize" c:identifier="meta_window_unmaximize">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="directions" transfer-ownership="none">
            <type name="MaximizeFlags" c:type="MetaMaximizeFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="unminimize" c:identifier="meta_window_unminimize">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unset_demands_attention"
              c:identifier="meta_window_unset_demands_attention">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="decorated" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="demands-attention" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="fullscreen" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="icon" transfer-ownership="none">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="maximized-horizontally" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="maximized-vertically" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="mini-icon" transfer-ownership="none">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="mutter-hints" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="title" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="urgent" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="user-time" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="window-type"
                introspectable="0"
                transfer-ownership="none">
        <type/>
      </property>
      <glib:signal name="focus">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="raised">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="unmanaged">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="workspace-changed">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WindowClass"
            c:type="MetaWindowClass"
            disguised="1"
            glib:is-gtype-struct-for="Window">
    </record>
    <callback name="WindowForeachFunc" c:type="MetaWindowForeachFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="MetaWindow*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="WindowMenu" c:type="MetaWindowMenu" disguised="1">
    </record>
    <callback name="WindowMenuFunc" c:type="MetaWindowMenuFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="WindowMenu" c:type="MetaWindowMenu*"/>
        </parameter>
        <parameter name="xdisplay" transfer-ownership="none">
          <type name="xlib.Display" c:type="Display*"/>
        </parameter>
        <parameter name="client_xwindow" transfer-ownership="none">
          <type name="xlib.Window" c:type="Window"/>
        </parameter>
        <parameter name="timestamp" transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </parameter>
        <parameter name="op" transfer-ownership="none">
          <type name="MenuOp" c:type="MetaMenuOp"/>
        </parameter>
        <parameter name="workspace" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="WindowType" c:type="MetaWindowType">
      <member name="normal" value="0" c:identifier="META_WINDOW_NORMAL"/>
      <member name="desktop" value="1" c:identifier="META_WINDOW_DESKTOP"/>
      <member name="dock" value="2" c:identifier="META_WINDOW_DOCK"/>
      <member name="dialog" value="3" c:identifier="META_WINDOW_DIALOG"/>
      <member name="modal_dialog"
              value="4"
              c:identifier="META_WINDOW_MODAL_DIALOG"/>
      <member name="toolbar" value="5" c:identifier="META_WINDOW_TOOLBAR"/>
      <member name="menu" value="6" c:identifier="META_WINDOW_MENU"/>
      <member name="utility" value="7" c:identifier="META_WINDOW_UTILITY"/>
      <member name="splashscreen"
              value="8"
              c:identifier="META_WINDOW_SPLASHSCREEN"/>
      <member name="dropdown_menu"
              value="9"
              c:identifier="META_WINDOW_DROPDOWN_MENU"/>
      <member name="popup_menu"
              value="10"
              c:identifier="META_WINDOW_POPUP_MENU"/>
      <member name="tooltip" value="11" c:identifier="META_WINDOW_TOOLTIP"/>
      <member name="notification"
              value="12"
              c:identifier="META_WINDOW_NOTIFICATION"/>
      <member name="combo" value="13" c:identifier="META_WINDOW_COMBO"/>
      <member name="dnd" value="14" c:identifier="META_WINDOW_DND"/>
      <member name="override_other"
              value="15"
              c:identifier="META_WINDOW_OVERRIDE_OTHER"/>
    </enumeration>
    <class name="Workspace"
           c:symbol-prefix="workspace"
           c:type="MetaWorkspace"
           parent="GObject.Object"
           glib:type-name="MetaWorkspace"
           glib:get-type="meta_workspace_get_type"
           glib:type-struct="WorkspaceClass">
      <method name="activate" c:identifier="meta_workspace_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="activate_with_focus"
              c:identifier="meta_workspace_activate_with_focus">
        <doc xml:whitespace="preserve">Switches to @workspace and possibly activates the window @focus_this.
The window @focus_this is activated by calling meta_window_activate()
which will unminimize it and transient parents, raise it and give it
the focus.
If a window is currently being moved by the user, it will be
moved to @workspace.
The advantage of calling this function instead of meta_workspace_activate()
followed by meta_window_activate() is that it happens as a unit, so
no other window gets focused first before @focus_this.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="focus_this" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #MetaWindow to be focused, or %NULL</doc>
            <type name="Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:whitespace="preserve">timestamp for @focus_this</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_screen" c:identifier="meta_workspace_get_screen">
        <doc xml:whitespace="preserve">Gets the #MetaScreen that the workspace is part of.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #MetaScreen for the workspace</doc>
          <type name="Screen" c:type="MetaScreen*"/>
        </return-value>
      </method>
      <method name="get_work_area_all_monitors"
              c:identifier="meta_workspace_get_work_area_all_monitors">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="area" transfer-ownership="none">
            <type name="Rectangle" c:type="MetaRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="index" c:identifier="meta_workspace_index">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
      </method>
      <method name="list_windows" c:identifier="meta_workspace_list_windows">
        <doc xml:whitespace="preserve">Gets windows contained on the workspace, including workspace-&gt;windows
and also sticky windows. Override-redirect windows are not included.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">the list of windows.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
      </method>
      <method name="set_builtin_struts"
              c:identifier="meta_workspace_set_builtin_struts"
              introspectable="0">
        <doc xml:whitespace="preserve">Sets a list of struts that will be used in addition to the struts
of the windows in the workspace when computing the work area of
the workspace.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="struts" transfer-ownership="none">
            <doc xml:whitespace="preserve">list of #MetaStrut</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type c:type="Strut"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="update_window_hints"
              c:identifier="meta_workspace_update_window_hints">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="n-windows" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <glib:signal name="window-added">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="window-removed">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Window"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WorkspaceClass"
            c:type="MetaWorkspaceClass"
            disguised="1"
            glib:is-gtype-struct-for="Workspace">
    </record>
    <record name="_DrawSpec" c:type="_MetaDrawSpec">
      <field name="value" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="tokens" introspectable="0" writable="1">
        <type c:type="PosToken*"/>
      </field>
      <field name="n_tokens" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="constant" writable="1" bits="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <function name="alpha_gradient_spec_new"
              c:identifier="meta_alpha_gradient_spec_new"
              introspectable="0">
      <return-value>
        <type name="AlphaGradientSpec" c:type="MetaAlphaGradientSpec*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
        <parameter name="n_alphas" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="bug" c:identifier="meta_bug" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="button_state_from_string"
              c:identifier="meta_button_state_from_string">
      <return-value transfer-ownership="none">
        <type name="ButtonState" c:type="MetaButtonState"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="button_state_to_string"
              c:identifier="meta_button_state_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="ButtonState" c:type="MetaButtonState"/>
        </parameter>
      </parameters>
    </function>
    <function name="button_type_from_string"
              c:identifier="meta_button_type_from_string">
      <return-value transfer-ownership="none">
        <type name="ButtonType" c:type="MetaButtonType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="theme" transfer-ownership="none">
          <type name="Theme" c:type="MetaTheme*"/>
        </parameter>
      </parameters>
    </function>
    <function name="button_type_to_string"
              c:identifier="meta_button_type_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="ButtonType" c:type="MetaButtonType"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_component_from_string"
              c:identifier="meta_color_component_from_string">
      <return-value transfer-ownership="none">
        <type name="GtkColorComponent" c:type="MetaGtkColorComponent"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_component_to_string"
              c:identifier="meta_color_component_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="component" transfer-ownership="none">
          <type name="GtkColorComponent" c:type="MetaGtkColorComponent"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_spec_new"
              c:identifier="meta_color_spec_new"
              introspectable="0">
      <return-value>
        <type name="ColorSpec" c:type="MetaColorSpec*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="ColorSpecType" c:type="MetaColorSpecType"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_spec_new_from_string"
              c:identifier="meta_color_spec_new_from_string"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="ColorSpec" c:type="MetaColorSpec*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_spec_new_gtk"
              c:identifier="meta_color_spec_new_gtk"
              introspectable="0">
      <return-value>
        <type name="ColorSpec" c:type="MetaColorSpec*"/>
      </return-value>
      <parameters>
        <parameter name="component" transfer-ownership="none">
          <type name="GtkColorComponent" c:type="MetaGtkColorComponent"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="Gtk.StateType" c:type="GtkStateType"/>
        </parameter>
      </parameters>
    </function>
    <function name="compositor_new"
              c:identifier="meta_compositor_new"
              introspectable="0">
      <return-value>
        <type name="Compositor" c:type="MetaCompositor*"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_spew_real"
              c:identifier="meta_debug_spew_real"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="draw_op_list_new"
              c:identifier="meta_draw_op_list_new"
              introspectable="0">
      <return-value>
        <type name="DrawOpList" c:type="MetaDrawOpList*"/>
      </return-value>
      <parameters>
        <parameter name="n_preallocs" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_op_new"
              c:identifier="meta_draw_op_new"
              introspectable="0">
      <return-value>
        <type name="DrawOp" c:type="MetaDrawOp*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="DrawType" c:type="MetaDrawType"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_spec_free"
              c:identifier="meta_draw_spec_free"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="spec" transfer-ownership="none">
          <type c:type="MetaDrawSpec*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_spec_new"
              c:identifier="meta_draw_spec_new"
              introspectable="0"
              throws="1">
      <return-value>
        <type c:type="MetaDrawSpec*"/>
      </return-value>
      <parameters>
        <parameter name="theme" transfer-ownership="none">
          <type name="Theme" c:type="MetaTheme*"/>
        </parameter>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_trap_pop" c:identifier="meta_error_trap_pop">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
        <parameter name="last_request_was_roundtrip" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_trap_pop_with_return"
              c:identifier="meta_error_trap_pop_with_return">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
        <parameter name="last_request_was_roundtrip" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_trap_push" c:identifier="meta_error_trap_push">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_trap_push_with_return"
              c:identifier="meta_error_trap_push_with_return">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
      </parameters>
    </function>
    <function name="errors_init" c:identifier="meta_errors_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="exit" c:identifier="meta_exit">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="code" transfer-ownership="none">
          <type name="ExitCode" c:type="MetaExitCode"/>
        </parameter>
      </parameters>
    </function>
    <function name="fatal" c:identifier="meta_fatal" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="frame_focus_from_string"
              c:identifier="meta_frame_focus_from_string">
      <return-value transfer-ownership="none">
        <type name="FrameFocus" c:type="MetaFrameFocus"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_focus_to_string"
              c:identifier="meta_frame_focus_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="focus" transfer-ownership="none">
          <type name="FrameFocus" c:type="MetaFrameFocus"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_layout_new"
              c:identifier="meta_frame_layout_new"
              introspectable="0">
      <return-value>
        <type name="FrameLayout" c:type="MetaFrameLayout*"/>
      </return-value>
    </function>
    <function name="frame_piece_from_string"
              c:identifier="meta_frame_piece_from_string">
      <return-value transfer-ownership="none">
        <type name="FramePiece" c:type="MetaFramePiece"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_piece_to_string"
              c:identifier="meta_frame_piece_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="piece" transfer-ownership="none">
          <type name="FramePiece" c:type="MetaFramePiece"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_resize_from_string"
              c:identifier="meta_frame_resize_from_string">
      <return-value transfer-ownership="none">
        <type name="FrameResize" c:type="MetaFrameResize"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_resize_to_string"
              c:identifier="meta_frame_resize_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="resize" transfer-ownership="none">
          <type name="FrameResize" c:type="MetaFrameResize"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_state_from_string"
              c:identifier="meta_frame_state_from_string">
      <return-value transfer-ownership="none">
        <type name="FrameState" c:type="MetaFrameState"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_state_to_string"
              c:identifier="meta_frame_state_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="FrameState" c:type="MetaFrameState"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_type_from_string"
              c:identifier="meta_frame_type_from_string">
      <return-value transfer-ownership="none">
        <type name="FrameType" c:type="MetaFrameType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="frame_type_to_string"
              c:identifier="meta_frame_type_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="FrameType" c:type="MetaFrameType"/>
        </parameter>
      </parameters>
    </function>
    <function name="free_gslist_and_elements"
              c:identifier="meta_free_gslist_and_elements">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list_to_deep_free" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="g_utf8_strndup" c:identifier="meta_g_utf8_strndup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_replace_current_wm"
              c:identifier="meta_get_replace_current_wm">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="gradient_add_alpha" c:identifier="meta_gradient_add_alpha">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pixbuf" transfer-ownership="none">
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="alphas" transfer-ownership="none">
          <type name="guint8" c:type="guchar*"/>
        </parameter>
        <parameter name="n_alphas" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_create_interwoven"
              c:identifier="meta_gradient_create_interwoven"
              introspectable="0">
      <return-value>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <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="colors1" transfer-ownership="none">
          <type name="Gdk.Color" c:type="GdkColor"/>
        </parameter>
        <parameter name="thickness1" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="colors2" transfer-ownership="none">
          <type name="Gdk.Color" c:type="GdkColor"/>
        </parameter>
        <parameter name="thickness2" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_create_multi"
              c:identifier="meta_gradient_create_multi"
              introspectable="0">
      <return-value>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <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="colors" transfer-ownership="none">
          <type name="Gdk.Color" c:type="GdkColor*"/>
        </parameter>
        <parameter name="n_colors" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="style" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_create_simple"
              c:identifier="meta_gradient_create_simple"
              introspectable="0">
      <return-value>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <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="from" transfer-ownership="none">
          <type name="Gdk.Color" c:type="GdkColor*"/>
        </parameter>
        <parameter name="to" transfer-ownership="none">
          <type name="Gdk.Color" c:type="GdkColor*"/>
        </parameter>
        <parameter name="style" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_spec_new"
              c:identifier="meta_gradient_spec_new"
              introspectable="0">
      <return-value>
        <type name="GradientSpec" c:type="MetaGradientSpec*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_type_from_string"
              c:identifier="meta_gradient_type_from_string">
      <return-value transfer-ownership="none">
        <type name="GradientType" c:type="MetaGradientType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gradient_type_to_string"
              c:identifier="meta_gradient_type_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="GradientType" c:type="MetaGradientType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gravity_to_string" c:identifier="meta_gravity_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="gravity" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_arrow_from_string"
              c:identifier="meta_gtk_arrow_from_string">
      <return-value transfer-ownership="none">
        <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_arrow_to_string"
              c:identifier="meta_gtk_arrow_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="arrow" transfer-ownership="none">
          <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_shadow_from_string"
              c:identifier="meta_gtk_shadow_from_string">
      <return-value transfer-ownership="none">
        <type name="Gtk.ShadowType" c:type="GtkShadowType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_shadow_to_string"
              c:identifier="meta_gtk_shadow_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="shadow" transfer-ownership="none">
          <type name="Gtk.ShadowType" c:type="GtkShadowType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_state_from_string"
              c:identifier="meta_gtk_state_from_string">
      <return-value transfer-ownership="none">
        <type name="Gtk.StateType" c:type="GtkStateType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_state_to_string"
              c:identifier="meta_gtk_state_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <type name="Gtk.StateType" c:type="GtkStateType"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_widget_get_font_desc"
              c:identifier="meta_gtk_widget_get_font_desc">
      <return-value transfer-ownership="full">
        <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="scale" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="override" transfer-ownership="none">
          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_fill_type_from_string"
              c:identifier="meta_image_fill_type_from_string">
      <return-value transfer-ownership="none">
        <type name="ImageFillType" c:type="MetaImageFillType"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_fill_type_to_string"
              c:identifier="meta_image_fill_type_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="fill_type" transfer-ownership="none">
          <type name="ImageFillType" c:type="MetaImageFillType"/>
        </parameter>
      </parameters>
    </function>
    <function name="is_debugging" c:identifier="meta_is_debugging">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="is_syncing" c:identifier="meta_is_syncing">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="is_verbose" c:identifier="meta_is_verbose">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="keybindings_set_custom_handler"
              c:identifier="meta_keybindings_set_custom_handler"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="handler"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <type name="KeyHandlerFunc" c:type="MetaKeyHandlerFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="free_data" transfer-ownership="none" scope="async">
          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="keybindings_switch_window"
              c:identifier="meta_keybindings_switch_window"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <type name="Display" c:type="MetaDisplay*"/>
        </parameter>
        <parameter name="screen" transfer-ownership="none">
          <type name="Screen" c:type="MetaScreen*"/>
        </parameter>
        <parameter name="event_window" transfer-ownership="none">
          <type name="Window" c:type="MetaWindow*"/>
        </parameter>
        <parameter name="event" transfer-ownership="none">
          <type c:type="XEvent*"/>
        </parameter>
        <parameter name="binding" transfer-ownership="none">
          <type name="KeyBinding" c:type="MetaKeyBinding*"/>
        </parameter>
      </parameters>
    </function>
    <function name="later_add" c:identifier="meta_later_add">
      <doc xml:whitespace="preserve">Sets up a callback  to be called at some later time. @when determines the
particular later occasion at which it is called. This is much like g_idle_add(),
except that the functions interact properly with clutter event handling.
If a "later" function is added from a clutter event handler, and is supposed
to be run before the stage is redrawn, it will be run before that redraw
of the stage, not the next one.
to cancel the callback and prevent it from being run.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">an integer ID (guaranteed to be non-zero) that can be used</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="when" transfer-ownership="none">
          <doc xml:whitespace="preserve">enumeration value determining the phase at which to run the callback</doc>
          <type name="LaterType" c:type="MetaLaterType"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:whitespace="preserve">callback to run later</doc>
          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">data to pass to the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <doc xml:whitespace="preserve">function to call to destroy @data when it is no longer in use, or %NULL</doc>
          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="later_remove" c:identifier="meta_later_remove">
      <doc xml:whitespace="preserve">Removes a callback added with meta_later_add()</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="later_id" transfer-ownership="none">
          <doc xml:whitespace="preserve">the integer ID returned from meta_later_add()</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="pango_font_desc_get_text_height"
              c:identifier="meta_pango_font_desc_get_text_height">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="font_desc" transfer-ownership="none">
          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <type name="Pango.Context" c:type="PangoContext*"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_position_expression"
              c:identifier="meta_parse_position_expression"
              introspectable="0"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="spec" transfer-ownership="none">
          <type c:type="MetaDrawSpec*"/>
        </parameter>
        <parameter name="env" transfer-ownership="none">
          <type name="PositionExprEnv" c:type="MetaPositionExprEnv*"/>
        </parameter>
        <parameter name="x_return" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="y_return" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_size_expression"
              c:identifier="meta_parse_size_expression"
              introspectable="0"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="spec" transfer-ownership="none">
          <type c:type="MetaDrawSpec*"/>
        </parameter>
        <parameter name="env" transfer-ownership="none">
          <type name="PositionExprEnv" c:type="MetaPositionExprEnv*"/>
        </parameter>
        <parameter name="val_return" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pop_no_msg_prefix" c:identifier="meta_pop_no_msg_prefix">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="preference_to_string"
              c:identifier="meta_preference_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="pref" transfer-ownership="none">
          <type name="Preference" c:type="MetaPreference"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_add_listener"
              c:identifier="meta_prefs_add_listener"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none" closure="1">
          <type name="PrefsChangedFunc" c:type="MetaPrefsChangedFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_bell_is_audible"
              c:identifier="meta_prefs_bell_is_audible">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_change_workspace_name"
              c:identifier="meta_prefs_change_workspace_name">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="i" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_action_double_click_titlebar"
              c:identifier="meta_prefs_get_action_double_click_titlebar">
      <return-value transfer-ownership="none">
        <type name="ActionTitlebar" c:type="MetaActionTitlebar"/>
      </return-value>
    </function>
    <function name="prefs_get_action_middle_click_titlebar"
              c:identifier="meta_prefs_get_action_middle_click_titlebar">
      <return-value transfer-ownership="none">
        <type name="ActionTitlebar" c:type="MetaActionTitlebar"/>
      </return-value>
    </function>
    <function name="prefs_get_action_right_click_titlebar"
              c:identifier="meta_prefs_get_action_right_click_titlebar">
      <return-value transfer-ownership="none">
        <type name="ActionTitlebar" c:type="MetaActionTitlebar"/>
      </return-value>
    </function>
    <function name="prefs_get_application_based"
              c:identifier="meta_prefs_get_application_based">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_auto_raise"
              c:identifier="meta_prefs_get_auto_raise">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_auto_raise_delay"
              c:identifier="meta_prefs_get_auto_raise_delay">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="prefs_get_button_layout"
              c:identifier="meta_prefs_get_button_layout">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="button_layout" transfer-ownership="none">
          <type name="ButtonLayout" c:type="MetaButtonLayout*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_clutter_plugins"
              c:identifier="meta_prefs_get_clutter_plugins"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
    </function>
    <function name="prefs_get_command" c:identifier="meta_prefs_get_command">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="i" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_compositing_manager"
              c:identifier="meta_prefs_get_compositing_manager">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_cursor_size"
              c:identifier="meta_prefs_get_cursor_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="prefs_get_cursor_theme"
              c:identifier="meta_prefs_get_cursor_theme">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
    </function>
    <function name="prefs_get_disable_workarounds"
              c:identifier="meta_prefs_get_disable_workarounds">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_focus_mode"
              c:identifier="meta_prefs_get_focus_mode">
      <return-value transfer-ownership="none">
        <type name="FocusMode" c:type="MetaFocusMode"/>
      </return-value>
    </function>
    <function name="prefs_get_focus_new_windows"
              c:identifier="meta_prefs_get_focus_new_windows">
      <return-value transfer-ownership="none">
        <type name="FocusNewWindows" c:type="MetaFocusNewWindows"/>
      </return-value>
    </function>
    <function name="prefs_get_force_fullscreen"
              c:identifier="meta_prefs_get_force_fullscreen">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_gconf_key_for_command"
              c:identifier="meta_prefs_get_gconf_key_for_command">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="i" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_gconf_key_for_terminal_command"
              c:identifier="meta_prefs_get_gconf_key_for_terminal_command">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
    </function>
    <function name="prefs_get_gnome_accessibility"
              c:identifier="meta_prefs_get_gnome_accessibility">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_gnome_animations"
              c:identifier="meta_prefs_get_gnome_animations">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_key_bindings"
              c:identifier="meta_prefs_get_key_bindings">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bindings" transfer-ownership="none">
          <type name="KeyPref" c:type="MetaKeyPref**"/>
        </parameter>
        <parameter name="n_bindings" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_keybinding_action"
              c:identifier="meta_prefs_get_keybinding_action">
      <return-value transfer-ownership="none">
        <type name="KeyBindingAction" c:type="MetaKeyBindingAction"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_live_hidden_windows"
              c:identifier="meta_prefs_get_live_hidden_windows">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_mouse_button_menu"
              c:identifier="meta_prefs_get_mouse_button_menu">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="prefs_get_mouse_button_mods"
              c:identifier="meta_prefs_get_mouse_button_mods">
      <return-value transfer-ownership="none">
        <type name="VirtualModifier" c:type="MetaVirtualModifier"/>
      </return-value>
    </function>
    <function name="prefs_get_mouse_button_resize"
              c:identifier="meta_prefs_get_mouse_button_resize">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="prefs_get_no_tab_popup"
              c:identifier="meta_prefs_get_no_tab_popup">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_num_workspaces"
              c:identifier="meta_prefs_get_num_workspaces">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="prefs_get_overlay_binding"
              c:identifier="meta_prefs_get_overlay_binding">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="combo" transfer-ownership="none">
          <type name="KeyCombo" c:type="MetaKeyCombo*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_raise_on_click"
              c:identifier="meta_prefs_get_raise_on_click">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_terminal_command"
              c:identifier="meta_prefs_get_terminal_command">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
    </function>
    <function name="prefs_get_theme" c:identifier="meta_prefs_get_theme">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
    </function>
    <function name="prefs_get_titlebar_font"
              c:identifier="meta_prefs_get_titlebar_font">
      <return-value transfer-ownership="none">
        <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
      </return-value>
    </function>
    <function name="prefs_get_visual_bell"
              c:identifier="meta_prefs_get_visual_bell">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_get_visual_bell_type"
              c:identifier="meta_prefs_get_visual_bell_type">
      <return-value transfer-ownership="none">
        <type name="VisualBellType" c:type="MetaVisualBellType"/>
      </return-value>
    </function>
    <function name="prefs_get_window_binding"
              c:identifier="meta_prefs_get_window_binding">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="keysym" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="modifiers" transfer-ownership="none">
          <type name="VirtualModifier" c:type="MetaVirtualModifier*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_get_workspace_name"
              c:identifier="meta_prefs_get_workspace_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="i" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_init" c:identifier="meta_prefs_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="prefs_override_clutter_plugins"
              c:identifier="meta_prefs_override_clutter_plugins">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_override_no_tab_popup"
              c:identifier="meta_prefs_override_no_tab_popup">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="whether" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_override_preference_location"
              c:identifier="meta_prefs_override_preference_location">
      <doc xml:whitespace="preserve">Substitute a different location to use instead of a standard Metacity
GConf key location. This might be used if a plugin expected a different
value for some preference than the Metacity default. While this function
can be called at any point, this function should generally be called
in a plugin's constructor, rather than in its start() method so the
preference isn't first loaded with one value then changed to another
value.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="original_key" transfer-ownership="none">
          <doc xml:whitespace="preserve">the normal Metacity preference location</doc>
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="new_key" transfer-ownership="none">
          <doc xml:whitespace="preserve">the Metacity preference location to use instead.</doc>
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_remove_listener"
              c:identifier="meta_prefs_remove_listener"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none" closure="1">
          <type name="PrefsChangedFunc" c:type="MetaPrefsChangedFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_clutter_plugins"
              c:identifier="meta_prefs_set_clutter_plugins">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_compositing_manager"
              c:identifier="meta_prefs_set_compositing_manager">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="whether" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_force_fullscreen"
              c:identifier="meta_prefs_set_force_fullscreen">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="whether" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_live_hidden_windows"
              c:identifier="meta_prefs_set_live_hidden_windows">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="whether" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_no_tab_popup"
              c:identifier="meta_prefs_set_no_tab_popup">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="whether" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_set_num_workspaces"
              c:identifier="meta_prefs_set_num_workspaces">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="n_workspaces" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="print_backtrace" c:identifier="meta_print_backtrace">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="push_no_msg_prefix" c:identifier="meta_push_no_msg_prefix">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="quit" c:identifier="meta_quit">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="code" transfer-ownership="none">
          <type name="ExitCode" c:type="MetaExitCode"/>
        </parameter>
      </parameters>
    </function>
    <function name="rect" c:identifier="meta_rect" introspectable="0">
      <return-value>
        <type name="Rectangle" c:type="MetaRectangle"/>
      </return-value>
      <parameters>
        <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="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>
    </function>
    <function name="rectangle_clamp_to_fit_into_region"
              c:identifier="meta_rectangle_clamp_to_fit_into_region"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="fixed_directions" transfer-ownership="none">
          <type c:type="FixedDirections"/>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
        <parameter name="min_size" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_clip_to_region"
              c:identifier="meta_rectangle_clip_to_region"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="fixed_directions" transfer-ownership="none">
          <type c:type="FixedDirections"/>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_contained_in_region"
              c:identifier="meta_rectangle_contained_in_region">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_could_fit_in_region"
              c:identifier="meta_rectangle_could_fit_in_region">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_edge_cmp" c:identifier="meta_rectangle_edge_cmp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_edge_cmp_ignore_type"
              c:identifier="meta_rectangle_edge_cmp_ignore_type">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_edge_list_to_string"
              c:identifier="meta_rectangle_edge_list_to_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="edge_list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="separator_string" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="output" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_edge_to_string"
              c:identifier="meta_rectangle_edge_to_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="edge" transfer-ownership="none">
          <type name="Edge" c:type="MetaEdge*"/>
        </parameter>
        <parameter name="output" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_expand_region"
              c:identifier="meta_rectangle_expand_region"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="region" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="left_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="right_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="top_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="bottom_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_expand_region_conditionally"
              c:identifier="meta_rectangle_expand_region_conditionally"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="region" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="left_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="right_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="top_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="bottom_expand" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="min_x" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="min_y" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_find_linepoint_closest_to_point"
              c:identifier="meta_rectangle_find_linepoint_closest_to_point">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="x1" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="y1" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="x2" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="y2" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="px" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="py" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="valx" transfer-ownership="none">
          <type name="gdouble" c:type="double*"/>
        </parameter>
        <parameter name="valy" transfer-ownership="none">
          <type name="gdouble" c:type="double*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_find_nonintersected_monitor_edges"
              c:identifier="meta_rectangle_find_nonintersected_monitor_edges"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="monitor_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="all_struts" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_free_list_and_elements"
              c:identifier="meta_rectangle_free_list_and_elements">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="filled_list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_overlaps_with_region"
              c:identifier="meta_rectangle_overlaps_with_region">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_region_to_string"
              c:identifier="meta_rectangle_region_to_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="region" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="separator_string" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="output" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_remove_intersections_with_boxes_from_edges"
              c:identifier="meta_rectangle_remove_intersections_with_boxes_from_edges"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="edges" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="rectangles" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="rectangle_shove_into_region"
              c:identifier="meta_rectangle_shove_into_region"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="spanning_rects" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="fixed_directions" transfer-ownership="none">
          <type c:type="FixedDirections"/>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="restart" c:identifier="meta_restart">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="set_debugging" c:identifier="meta_set_debugging">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="setting" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_replace_current_wm"
              c:identifier="meta_set_replace_current_wm">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="setting" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_syncing" c:identifier="meta_set_syncing">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="setting" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_verbose" c:identifier="meta_set_verbose">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="setting" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="show_dialog" c:identifier="meta_show_dialog">
      <return-value transfer-ownership="none">
        <type name="GLib.Pid" c:type="GPid"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="title" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="timeout" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="ok_text" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="cancel_text" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="transient_for" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="columns" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="entries" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="theme_earliest_version_with_button"
              c:identifier="meta_theme_earliest_version_with_button">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="ButtonType" c:type="MetaButtonType"/>
        </parameter>
      </parameters>
    </function>
    <function name="theme_get_current"
              c:identifier="meta_theme_get_current"
              introspectable="0">
      <return-value>
        <type name="Theme" c:type="MetaTheme*"/>
      </return-value>
    </function>
    <function name="theme_load"
              c:identifier="meta_theme_load"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="Theme" c:type="MetaTheme*"/>
      </return-value>
      <parameters>
        <parameter name="theme_name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="theme_new"
              c:identifier="meta_theme_new"
              introspectable="0">
      <return-value>
        <type name="Theme" c:type="MetaTheme*"/>
      </return-value>
    </function>
    <function name="theme_set_current" c:identifier="meta_theme_set_current">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="force_reload" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="topic_real"
              c:identifier="meta_topic_real"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="topic" transfer-ownership="none">
          <type name="DebugTopic" c:type="MetaDebugTopic"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="unsigned_long_equal"
              c:identifier="meta_unsigned_long_equal">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="unsigned_long_hash" c:identifier="meta_unsigned_long_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="verbose_real"
              c:identifier="meta_verbose_real"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="meta_warning" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
