[ Avaa Bypassed ]




Upload:

Command:

www-data@3.135.18.100: ~ $
<?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="Clutter" version="6"/>
  <include name="ClutterX11" version="6"/>
  <include name="Gcr" version="3"/>
  <include name="Gvc" version="1.0"/>
  <include name="Meta" version="6"/>
  <include name="NM" version="1.0"/>
  <include name="PolkitAgent" version="1.0"/>
  <include name="St" version="1.0"/>
  <namespace name="Shell"
             version="0.1"
             shared-library="libgnome-shell.so"
             c:identifier-prefixes="Shell"
             c:symbol-prefixes="shell">
    <bitfield name="ActionMode"
              glib:type-name="ShellActionMode"
              glib:get-type="shell_action_mode_get_type"
              c:type="ShellActionMode">
      <doc xml:space="preserve"
           filename="../src/shell-action-modes.h"
           line="1">Controls in which GNOME Shell states an action (like keybindings and gestures)
should be handled.</doc>
      <member name="none"
              value="0"
              c:identifier="SHELL_ACTION_MODE_NONE"
              glib:nick="none">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="3">block action</doc>
      </member>
      <member name="normal"
              value="1"
              c:identifier="SHELL_ACTION_MODE_NORMAL"
              glib:nick="normal">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="4">allow action when in window mode,
    e.g. when the focus is in an application window</doc>
      </member>
      <member name="overview"
              value="2"
              c:identifier="SHELL_ACTION_MODE_OVERVIEW"
              glib:nick="overview">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="6">allow action while the overview
    is active</doc>
      </member>
      <member name="lock_screen"
              value="4"
              c:identifier="SHELL_ACTION_MODE_LOCK_SCREEN"
              glib:nick="lock-screen">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="8">allow action when the screen
    is locked, e.g. when the screen shield is shown</doc>
      </member>
      <member name="unlock_screen"
              value="8"
              c:identifier="SHELL_ACTION_MODE_UNLOCK_SCREEN"
              glib:nick="unlock-screen">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="10">allow action in the unlock
    dialog</doc>
      </member>
      <member name="login_screen"
              value="16"
              c:identifier="SHELL_ACTION_MODE_LOGIN_SCREEN"
              glib:nick="login-screen">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="12">allow action in the login screen</doc>
      </member>
      <member name="system_modal"
              value="32"
              c:identifier="SHELL_ACTION_MODE_SYSTEM_MODAL"
              glib:nick="system-modal">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="13">allow action when a system modal
    dialog (e.g. authentification or session dialogs) is open</doc>
      </member>
      <member name="looking_glass"
              value="64"
              c:identifier="SHELL_ACTION_MODE_LOOKING_GLASS"
              glib:nick="looking-glass">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="15">allow action in looking glass</doc>
      </member>
      <member name="popup"
              value="128"
              c:identifier="SHELL_ACTION_MODE_POPUP"
              glib:nick="popup">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="16">allow action while a shell menu is open</doc>
      </member>
      <member name="all"
              value="-1"
              c:identifier="SHELL_ACTION_MODE_ALL"
              glib:nick="all">
        <doc xml:space="preserve"
             filename="../src/shell-action-modes.h"
             line="17">always allow action</doc>
      </member>
    </bitfield>
    <class name="App"
           c:symbol-prefix="app"
           c:type="ShellApp"
           parent="GObject.Object"
           glib:type-name="ShellApp"
           glib:get-type="shell_app_get_type"
           glib:type-struct="AppClass">
      <source-position filename="../src/shell-app.h" line="13"/>
      <method name="activate" c:identifier="shell_app_activate">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="491">Like shell_app_activate_full(), but using the default workspace and
event timestamp.</doc>
        <source-position filename="../src/shell-app.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="493">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="activate_full" c:identifier="shell_app_activate_full">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="504">Perform an appropriate default action for operating on this application,
dependent on its current state.  For example, if the application is not
currently running, launch it.  If it is running, activate the most
recently used NORMAL window (or if that window has a transient, the most
recently used transient for that window).</doc>
        <source-position filename="../src/shell-app.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="506">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="507">launch on this workspace, or -1 for default. Ignored if
  activating an existing window</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="509">Event timestamp</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="activate_window" c:identifier="shell_app_activate_window">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="388">Bring all windows for the given app to the foreground,
but ensure that @window is on top.  If @window is %NULL,
the window with the most recent user time for the app
will be used.

This function has no effect if @app is not currently running.</doc>
        <source-position filename="../src/shell-app.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="390">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="window"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="391">Window to be focused</doc>
            <type name="Meta.Window" c:type="MetaWindow*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="392">Event timestamp</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="can_open_new_window"
              c:identifier="shell_app_can_open_new_window">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="612">Returns %TRUE if the app supports opening a new window through
shell_app_open_new_window() (ie, if calling that function will
result in actually opening a new window and not something else,
like presenting the most recently active one)</doc>
        <source-position filename="../src/shell-app.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="614">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="compare" c:identifier="shell_app_compare">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="833">Compare one #ShellApp instance to another, in the following way:
  - Running applications sort before not-running applications.
  - If one of them has non-minimized windows and the other does not,
    the one with visible windows is first.
  - Finally, the application which the user interacted with most recently
    compares earlier.</doc>
        <source-position filename="../src/shell-app.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="836">A #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </parameter>
        </parameters>
      </method>
      <method name="compare_by_name" c:identifier="shell_app_compare_by_name">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1541">Order two applications by name.</doc>
        <source-position filename="../src/shell-app.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="1548">-1, 0, or 1; suitable for use as a comparison function
for e.g. g_slist_sort()</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1543">One app</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1544">The other app</doc>
            <type name="App" c:type="ShellApp*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_icon_texture"
              c:identifier="shell_app_create_icon_texture">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="245">Look up the icon for this application, and create a #ClutterActor
for it at the given size.</doc>
        <source-position filename="../src/shell-app.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="251">A floating #ClutterActor</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_app_info" c:identifier="shell_app_get_app_info">
        <source-position filename="../src/shell-app.h" line="23"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="1447">The #GDesktopAppInfo for this app, or %NULL if backed by a window</doc>
          <type name="Gio.DesktopAppInfo" c:type="GDesktopAppInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1445">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_busy" c:identifier="shell_app_get_busy">
        <source-position filename="../src/shell-app.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description" c:identifier="shell_app_get_description">
        <source-position filename="../src/shell-app.h" line="27"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="shell_app_get_id">
        <source-position filename="../src/shell-app.h" line="21"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_windows" c:identifier="shell_app_get_n_windows">
        <source-position filename="../src/shell-app.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="shell_app_get_name">
        <source-position filename="../src/shell-app.h" line="26"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pids" c:identifier="shell_app_get_pids">
        <source-position filename="../src/shell-app.h" line="50"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="1149">An unordered list of process identifiers associated with this application.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gint"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1147">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="shell_app_get_state">
        <source-position filename="../src/shell-app.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="692">State of the application</doc>
          <type name="AppState" c:type="ShellAppState"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="690">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows" c:identifier="shell_app_get_windows">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="735">Get the windows which are associated with this application. The
returned list will be sorted first by whether they're on the
active workspace, then by whether they're visible, and finally
by the time the user last interacted with them.</doc>
        <source-position filename="../src/shell-app.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="744">List of windows</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Meta.Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_on_workspace" c:identifier="shell_app_is_on_workspace">
        <source-position filename="../src/shell-app.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Meta.Workspace" c:type="MetaWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_window_backed"
              c:identifier="shell_app_is_window_backed">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="300">A window backed application is one which represents just an open
window, i.e. there's no .desktop file assocation, so we don't know
how to launch it again.</doc>
        <source-position filename="../src/shell-app.h" line="28"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="launch" c:identifier="shell_app_launch" throws="1">
        <source-position filename="../src/shell-app.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1336">Event timestamp, or 0 for current event timestamp</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1337">Start on this workspace, or -1 for default</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="discrete_gpu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1338">Whether to start on the discrete GPU</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="launch_action" c:identifier="shell_app_launch_action">
        <source-position filename="../src/shell-app.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1419">the #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1420">the name of the action to launch (as obtained by
              g_desktop_app_info_list_actions())</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1422">Event timestamp, or 0 for current event timestamp</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1423">Start on this workspace, or -1 for default</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_new_window" c:identifier="shell_app_open_new_window">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="557">Request that the application create a new window.</doc>
        <source-position filename="../src/shell-app.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="559">a #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="560">open on this workspace, or -1 for default</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="request_quit" c:identifier="shell_app_request_quit">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1202">Initiate an asynchronous request to quit this application.
The application may interact with the user, and the user
might cancel the quit request from the application UI.

This operation may not be supported for all applications.</doc>
        <source-position filename="../src/shell-app.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app.c"
               line="1212">%TRUE if a quit request is supported for this application</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app.c"
                 line="1204">A #ShellApp</doc>
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_app_actions"
              c:identifier="shell_app_update_app_actions">
        <source-position filename="../src/shell-app.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Meta.Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_window_actions"
              c:identifier="shell_app_update_window_actions">
        <source-position filename="../src/shell-app.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="ShellApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Meta.Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <property name="action-group" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1651">The #GDBusActionGroup associated with this ShellApp, if any. See the
documentation of #GApplication and #GActionGroup for details.</doc>
        <type name="Gio.ActionGroup"/>
      </property>
      <property name="app-info"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1664">The #GDesktopAppInfo associated with this ShellApp, if any.</doc>
        <type name="Gio.DesktopAppInfo"/>
      </property>
      <property name="busy" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1624">Whether the application has marked itself as busy.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="id" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1637">The id of this application (a desktop filename, or a special string
like window:0xabcd1234)</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-app.c"
             line="1609">The high-level state of the application, effectively whether it's
running or not, or transitioning between those states.</doc>
        <type name="AppState"/>
      </property>
      <glib:signal name="windows-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AppClass"
            c:type="ShellAppClass"
            glib:is-gtype-struct-for="App">
      <source-position filename="../src/shell-app.h" line="13"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="AppState"
                 glib:type-name="ShellAppState"
                 glib:get-type="shell_app_state_get_type"
                 c:type="ShellAppState">
      <member name="stopped"
              value="0"
              c:identifier="SHELL_APP_STATE_STOPPED"
              glib:nick="stopped">
      </member>
      <member name="starting"
              value="1"
              c:identifier="SHELL_APP_STATE_STARTING"
              glib:nick="starting">
      </member>
      <member name="running"
              value="2"
              c:identifier="SHELL_APP_STATE_RUNNING"
              glib:nick="running">
      </member>
    </enumeration>
    <class name="AppSystem"
           c:symbol-prefix="app_system"
           c:type="ShellAppSystem"
           parent="GObject.Object"
           glib:type-name="ShellAppSystem"
           glib:get-type="shell_app_system_get_type"
           glib:type-struct="AppSystemClass">
      <source-position filename="../src/shell-app-system.h" line="12"/>
      <function name="get_default" c:identifier="shell_app_system_get_default">
        <source-position filename="../src/shell-app-system.h" line="15"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="263">The global #ShellAppSystem singleton</doc>
          <type name="AppSystem" c:type="ShellAppSystem*"/>
        </return-value>
      </function>
      <function name="search" c:identifier="shell_app_system_search">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="469">Wrapper around g_desktop_app_info_search() that replaces results that
don't validate as UTF-8 with the empty string.</doc>
        <source-position filename="../src/shell-app-system.h" line="28"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="476">a
  list of strvs.  Free each item with g_strfreev() and free the outer
  list with g_free().</doc>
          <array c:type="char***">
            <array>
              <type name="utf8"/>
            </array>
          </array>
        </return-value>
        <parameters>
          <parameter name="search_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="471">the search string to use</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_installed"
              c:identifier="shell_app_system_get_installed">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="494">Returns all installed apps, as a list of #GAppInfo</doc>
        <source-position filename="../src/shell-app-system.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="500">a list of #GAppInfo
  describing all known applications. This memory is owned by the
  #ShellAppSystem and should not be freed.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.AppInfo"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="496">the #ShellAppSystem</doc>
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_running" c:identifier="shell_app_system_get_running">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="438">Returns the set of applications which currently have at least one
open window.  The returned list will be sorted by shell_app_compare().</doc>
        <source-position filename="../src/shell-app-system.h" line="27"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="445">Active applications</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="App"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="440">A #ShellAppSystem</doc>
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup_app" c:identifier="shell_app_system_lookup_app">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="276">Find a #ShellApp corresponding to an id.</doc>
        <source-position filename="../src/shell-app-system.h" line="17"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="281">The #ShellApp for id, or %NULL if none</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system" transfer-ownership="none">
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_desktop_wmclass"
              c:identifier="shell_app_system_lookup_desktop_wmclass">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="338">Find a valid application whose .desktop file, without the extension
and properly canonicalized, matches @wmclass.</doc>
        <source-position filename="../src/shell-app-system.h" line="24"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="346">A #ShellApp for @wmclass</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="340">a #ShellAppSystem</doc>
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
          <parameter name="wmclass"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="341">A WM_CLASS value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_heuristic_basename"
              c:identifier="shell_app_system_lookup_heuristic_basename">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="304">Find a valid application corresponding to a given
heuristically determined application identifier
string, or %NULL if none.</doc>
        <source-position filename="../src/shell-app-system.h" line="19"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="313">A #ShellApp for @name</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="306">a #ShellAppSystem</doc>
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="307">Probable application identifier</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_startup_wmclass"
              c:identifier="shell_app_system_lookup_startup_wmclass">
        <doc xml:space="preserve"
             filename="../src/shell-app-system.c"
             line="389">Find a valid application whose .desktop file contains a
StartupWMClass entry matching @wmclass.</doc>
        <source-position filename="../src/shell-app-system.h" line="22"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-system.c"
               line="397">A #ShellApp for @wmclass</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="391">a #ShellAppSystem</doc>
            <type name="AppSystem" c:type="ShellAppSystem*"/>
          </instance-parameter>
          <parameter name="wmclass"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-app-system.c"
                 line="392">A WM_CLASS value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="app-state-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="App"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="installed-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AppSystemClass"
            c:type="ShellAppSystemClass"
            glib:is-gtype-struct-for="AppSystem">
      <source-position filename="../src/shell-app-system.h" line="12"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="AppUsage"
           c:symbol-prefix="app_usage"
           c:type="ShellAppUsage"
           parent="GObject.Object"
           glib:type-name="ShellAppUsage"
           glib:get-type="shell_app_usage_get_type"
           glib:type-struct="AppUsageClass">
      <source-position filename="../src/shell-app-usage.h" line="11"/>
      <function name="get_default" c:identifier="shell_app_usage_get_default">
        <source-position filename="../src/shell-app-usage.h" line="14"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-usage.c"
               line="763">The global #ShellAppUsage instance</doc>
          <type name="AppUsage" c:type="ShellAppUsage*"/>
        </return-value>
      </function>
      <method name="compare" c:identifier="shell_app_usage_compare">
        <doc xml:space="preserve"
             filename="../src/shell-app-usage.c"
             line="395">Compare @id_a and @id_b based on frequency of use.</doc>
        <source-position filename="../src/shell-app-usage.h" line="17"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-app-usage.c"
               line="403">-1 if @id_a ranks higher than @id_b, 1 if @id_b ranks higher
         than @id_a, and 0 if both rank equally.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-usage.c"
                 line="397">the usage instance to request</doc>
            <type name="AppUsage" c:type="ShellAppUsage*"/>
          </instance-parameter>
          <parameter name="id_a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-usage.c"
                 line="398">ID of first app</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="id_b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-usage.c"
                 line="399">ID of second app</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_most_used"
              c:identifier="shell_app_usage_get_most_used">
        <source-position filename="../src/shell-app-usage.h" line="16"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-app-usage.c"
               line="364">List of applications</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="App"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="usage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-app-usage.c"
                 line="362">the usage instance to request</doc>
            <type name="AppUsage" c:type="ShellAppUsage*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="AppUsageClass"
            c:type="ShellAppUsageClass"
            glib:is-gtype-struct-for="AppUsage">
      <source-position filename="../src/shell-app-usage.h" line="11"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="BlurEffect"
           c:symbol-prefix="blur_effect"
           c:type="ShellBlurEffect"
           parent="Clutter.Effect"
           glib:type-name="ShellBlurEffect"
           glib:get-type="shell_blur_effect_get_type"
           glib:type-struct="BlurEffectClass">
      <source-position filename="../src/shell-blur-effect.h" line="41"/>
      <constructor name="new" c:identifier="shell_blur_effect_new">
        <source-position filename="../src/shell-blur-effect.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="BlurEffect" c:type="ShellBlurEffect*"/>
        </return-value>
      </constructor>
      <method name="get_brightness"
              c:identifier="shell_blur_effect_get_brightness">
        <source-position filename="../src/shell-blur-effect.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode" c:identifier="shell_blur_effect_get_mode">
        <source-position filename="../src/shell-blur-effect.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="BlurMode" c:type="ShellBlurMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sigma" c:identifier="shell_blur_effect_get_sigma">
        <source-position filename="../src/shell-blur-effect.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_brightness"
              c:identifier="shell_blur_effect_set_brightness">
        <source-position filename="../src/shell-blur-effect.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
          <parameter name="brightness" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="shell_blur_effect_set_mode">
        <source-position filename="../src/shell-blur-effect.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="BlurMode" c:type="ShellBlurMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sigma" c:identifier="shell_blur_effect_set_sigma">
        <source-position filename="../src/shell-blur-effect.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BlurEffect" c:type="ShellBlurEffect*"/>
          </instance-parameter>
          <parameter name="sigma" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="brightness" writable="1" transfer-ownership="none">
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="mode" writable="1" transfer-ownership="none">
        <type name="BlurMode"/>
      </property>
      <property name="sigma" writable="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="BlurEffectClass"
            c:type="ShellBlurEffectClass"
            glib:is-gtype-struct-for="BlurEffect">
      <source-position filename="../src/shell-blur-effect.h" line="41"/>
      <field name="parent_class">
        <type name="Clutter.EffectClass" c:type="ClutterEffectClass"/>
      </field>
    </record>
    <enumeration name="BlurMode"
                 glib:type-name="ShellBlurMode"
                 glib:get-type="shell_blur_mode_get_type"
                 c:type="ShellBlurMode">
      <doc xml:space="preserve"
           filename="../src/shell-blur-effect.h"
           line="27">The mode of blurring of the effect.</doc>
      <member name="actor"
              value="0"
              c:identifier="SHELL_BLUR_MODE_ACTOR"
              glib:nick="actor">
        <doc xml:space="preserve"
             filename="../src/shell-blur-effect.h"
             line="29">blur the actor contents, and its children</doc>
      </member>
      <member name="background"
              value="1"
              c:identifier="SHELL_BLUR_MODE_BACKGROUND"
              glib:nick="background">
        <doc xml:space="preserve"
             filename="../src/shell-blur-effect.h"
             line="30">blur what's beneath the actor</doc>
      </member>
    </enumeration>
    <class name="EmbeddedWindow"
           c:symbol-prefix="embedded_window"
           c:type="ShellEmbeddedWindow"
           parent="Gtk.Window"
           glib:type-name="ShellEmbeddedWindow"
           glib:get-type="shell_embedded_window_get_type"
           glib:type-struct="EmbeddedWindowClass">
      <source-position filename="../src/shell-embedded-window.h" line="15"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="shell_embedded_window_new">
        <source-position filename="../src/shell-embedded-window.h" line="17"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
    </class>
    <record name="EmbeddedWindowClass"
            c:type="ShellEmbeddedWindowClass"
            glib:is-gtype-struct-for="EmbeddedWindow">
      <source-position filename="../src/shell-embedded-window.h" line="15"/>
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
    </record>
    <class name="GLSLEffect"
           c:symbol-prefix="glsl_effect"
           c:type="ShellGLSLEffect"
           parent="Clutter.OffscreenEffect"
           glib:type-name="ShellGLSLEffect"
           glib:get-type="shell_glsl_effect_get_type"
           glib:type-struct="GLSLEffectClass">
      <source-position filename="../src/shell-glsl-effect.h" line="40"/>
      <virtual-method name="build_pipeline">
        <source-position filename="../src/shell-glsl-effect.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="GLSLEffect" c:type="ShellGLSLEffect*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_glsl_snippet"
              c:identifier="shell_glsl_effect_add_glsl_snippet">
        <doc xml:space="preserve"
             filename="../src/shell-glsl-effect.c"
             line="98">Adds a GLSL snippet to the pipeline used for drawing the effect texture.
See #CoglSnippet for details.

This is only valid inside the a call to the build_pipeline() virtual
function.</doc>
        <source-position filename="../src/shell-glsl-effect.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="100">a #ShellGLSLEffect</doc>
            <type name="GLSLEffect" c:type="ShellGLSLEffect*"/>
          </instance-parameter>
          <parameter name="hook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="101">where to insert the code</doc>
            <type name="SnippetHook" c:type="ShellSnippetHook"/>
          </parameter>
          <parameter name="declarations" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="102">GLSL declarations</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="103">GLSL code</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="is_replace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="104">wheter Cogl code should be replaced by the custom shader</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uniform_location"
              c:identifier="shell_glsl_effect_get_uniform_location">
        <source-position filename="../src/shell-glsl-effect.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-glsl-effect.c"
               line="215">the location of the uniform named @name, that can be
         passed to shell_glsl_effect_set_uniform_float().</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="212">a #ShellGLSLEffect</doc>
            <type name="GLSLEffect" c:type="ShellGLSLEffect*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="213">the uniform name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uniform_float"
              c:identifier="shell_glsl_effect_set_uniform_float">
        <source-position filename="../src/shell-glsl-effect.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="228">a #ShellGLSLEffect</doc>
            <type name="GLSLEffect" c:type="ShellGLSLEffect*"/>
          </instance-parameter>
          <parameter name="uniform" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="229">the uniform location (as returned by shell_glsl_effect_get_uniform_location())</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="n_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="230">the number of components in the uniform (eg. 3 for a vec3)</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="total_count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="231">the total number of floats in @value</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-glsl-effect.c"
                 line="232">the array of floats to set @uniform</doc>
            <array length="2" zero-terminated="0" c:type="const float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Clutter.OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="GLSLEffectClass"
            c:type="ShellGLSLEffectClass"
            glib:is-gtype-struct-for="GLSLEffect">
      <source-position filename="../src/shell-glsl-effect.h" line="40"/>
      <field name="parent_class">
        <type name="Clutter.OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="base_pipeline">
        <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
      </field>
      <field name="build_pipeline">
        <callback name="build_pipeline">
          <source-position filename="../src/shell-glsl-effect.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="GLSLEffect" c:type="ShellGLSLEffect*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Global"
           c:symbol-prefix="global"
           c:type="ShellGlobal"
           parent="GObject.Object"
           glib:type-name="ShellGlobal"
           glib:get-type="shell_global_get_type"
           glib:type-struct="GlobalClass">
      <source-position filename="../src/shell-global.h" line="14"/>
      <function name="get" c:identifier="shell_global_get">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="625">Gets the singleton global object that represents the desktop.</doc>
        <source-position filename="../src/shell-global.h" line="16"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="630">the singleton global object</doc>
          <type name="Global" c:type="ShellGlobal*"/>
        </return-value>
      </function>
      <method name="begin_modal" c:identifier="shell_global_begin_modal">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1037">Grabs the keyboard and mouse to the stage window. The stage will
receive all keyboard and mouse events until shell_global_end_modal()
is called. This is used to implement "modes" for the shell, such as the
overview mode or the "looking glass" debug overlay, that block
application and normal key shortcuts.</doc>
        <source-position filename="../src/shell-global.h" line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1047">%TRUE if we succesfully entered the mode. %FALSE if we couldn't
 enter the mode. Failure may occur because an application has the pointer
 or keyboard grabbed, because Mutter is in a mode itself like moving a
 window or alt-Tab window selection, or because shell_global_begin_modal()
 was previouly called.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1039">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <type name="Meta.ModalOptions" c:type="MetaModalOptions"/>
          </parameter>
        </parameters>
      </method>
      <method name="begin_work" c:identifier="shell_global_begin_work">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1572">Marks that we are currently doing work. This is used to to track
whether we are busy for the purposes of shell_global_run_at_leisure().
A count is kept and shell_global_end_work() must be called exactly
as many times as shell_global_begin_work().</doc>
        <source-position filename="../src/shell-global.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1574">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_app_launch_context"
              c:identifier="shell_global_create_app_launch_context">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1466">Create a #GAppLaunchContext set up with the correct timestamp, and
targeted to activate on the current workspace.</doc>
        <source-position filename="../src/shell-global.h" line="73"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1475">A new #GAppLaunchContext</doc>
          <type name="Gio.AppLaunchContext" c:type="GAppLaunchContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1468">A #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1469">the timestamp for the launch (or 0 for current time)</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="workspace" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1470">a workspace index, or -1 to indicate the current one</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="end_modal" c:identifier="shell_global_end_modal">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1072">Undoes the effect of shell_global_begin_modal().</doc>
        <source-position filename="../src/shell-global.h" line="29"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1074">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="end_work" c:identifier="shell_global_end_work">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1587">Marks the end of work that we started with shell_global_begin_work().
If no other work is ongoing and functions have been added with
shell_global_run_at_leisure(), they will be run at the next
opportunity.</doc>
        <source-position filename="../src/shell-global.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1589">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_time"
              c:identifier="shell_global_get_current_time">
        <source-position filename="../src/shell-global.h" line="22"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1412">the current X server time from the current Clutter, Gdk, or X
event. If called from outside an event handler, this may return
%Clutter.CURRENT_TIME (aka 0), or it may return a slightly
out-of-date timestamp.</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1410">A #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_debug_flags"
              c:identifier="shell_global_get_debug_flags">
        <source-position filename="../src/shell-global.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1904">The current debug flags</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1902">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display" c:identifier="shell_global_get_display">
        <source-position filename="../src/shell-global.h" line="19"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="794">The default #MetaDisplay</doc>
          <type name="Meta.Display" c:type="MetaDisplay*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_persistent_state"
              c:identifier="shell_global_get_persistent_state">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1875">The shell maintains "persistent" state which will persist after
logout or reboot.</doc>
        <source-position filename="../src/shell-global.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1884">The value of a serialized property, or %NULL if none stored</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1877">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="property_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1878">Expected data type</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1879">Name of the property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pointer" c:identifier="shell_global_get_pointer">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1313">Gets the pointer coordinates and current modifier key state.</doc>
        <source-position filename="../src/shell-global.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1315">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1316">the X coordinate of the pointer, in global coordinates</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1317">the Y coordinate of the pointer, in global coordinates</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="mods"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1318">the current set of modifier keys that are pressed down</doc>
            <type name="Clutter.ModifierType" c:type="ClutterModifierType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_runtime_state"
              c:identifier="shell_global_get_runtime_state">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1840">The shell maintains "runtime" state which does not persist across
logout or reboot.</doc>
        <source-position filename="../src/shell-global.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1849">The value of a serialized property, or %NULL if none stored</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1842">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="property_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1843">Expected data type</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1844">Name of the property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_session_mode"
              c:identifier="shell_global_get_session_mode">
        <source-position filename="../src/shell-global.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings" c:identifier="shell_global_get_settings">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1394">Get the global GSettings instance.</doc>
        <source-position filename="../src/shell-global.h" line="21"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="1400">The GSettings object</doc>
          <type name="Gio.Settings" c:type="GSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1396">A #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stage" c:identifier="shell_global_get_stage">
        <source-position filename="../src/shell-global.h" line="18"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="783">The default #ClutterStage</doc>
          <type name="Clutter.Stage" c:type="ClutterStage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window_actors"
              c:identifier="shell_global_get_window_actors">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="802">Gets the list of #MetaWindowActor for the plugin's screen</doc>
        <source-position filename="../src/shell-global.h" line="20"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../src/shell-global.c"
               line="807">the list of windows</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Meta.WindowActor"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="notify_error" c:identifier="shell_global_notify_error">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1294">Show a system error notification.  Use this function
when a user-initiated action results in a non-fatal problem
from causes that may not be under system control.  For
example, an application crash.</doc>
        <source-position filename="../src/shell-global.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1296">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="msg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1297">Error message</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="details" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1298">Error details</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reexec_self" c:identifier="shell_global_reexec_self">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1194">Restart the current process.  Only intended for development purposes.</doc>
        <source-position filename="../src/shell-global.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1196">A #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run_at_leisure" c:identifier="shell_global_run_at_leisure">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1607">Schedules a function to be called the next time the shell is idle.
Idle means here no animations, no redrawing, and no ongoing background
work. Since there is currently no way to hook into the Clutter master
clock and know when is running, the implementation here is somewhat
approximation. Animations done through the shell's Tweener module will
be handled properly, but other animations may be detected as terminating
early if they can be drawn fast enough so that the event loop goes idle
between frames.

The intent of this function is for performance measurement runs
where a number of actions should be run serially and each action is
timed individually. Using this function for other purposes will
interfere with the ability to use it for performance measurement so
should be avoided.</doc>
        <source-position filename="../src/shell-global.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1609">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1610">function to call at leisure</doc>
            <type name="LeisureFunction" c:type="ShellLeisureFunction"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1611">data to pass to @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1612">function to call to free @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_debug_flags"
              c:identifier="shell_global_set_debug_flags">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1914">Updates the debugging flags at runtime as the one set using the SHELL_DEBUG
environment variables. Currently we support these keys:
 - 'backtrace-warnings'
 - 'backtrace-segfaults'
 - 'backtrace-aborts'
 - 'backtrace-math-errors'
 - 'backtrace-crashes-all'
 - 'backtrace-all'
 - 'all'</doc>
        <source-position filename="../src/shell-global.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1916">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="debug_flags"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1917">A comma-separated string of debugging flags</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_persistent_state"
              c:identifier="shell_global_set_persistent_state">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1859">Change the value of serialized persistent state.</doc>
        <source-position filename="../src/shell-global.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1861">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1862">Name of the property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="variant"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1863">A #GVariant, or %NULL to unset</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_runtime_state"
              c:identifier="shell_global_set_runtime_state">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1824">Change the value of serialized runtime state.</doc>
        <source-position filename="../src/shell-global.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1826">a #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1827">Name of the property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="variant"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1828">A #GVariant, or %NULL to unset</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stage_input_region"
              c:identifier="shell_global_set_stage_input_region">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="737">Sets the area of the stage that is responsive to mouse clicks when
we don't have a modal or grab.</doc>
        <source-position filename="../src/shell-global.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="739">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
          <parameter name="rectangles" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="740">a list of #MetaRectangle
describing the input region.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="Meta.Rectangle"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="sync_pointer" c:identifier="shell_global_sync_pointer">
        <doc xml:space="preserve"
             filename="../src/shell-global.c"
             line="1337">Ensures that clutter is aware of the current pointer position,
causing enter and leave events to be emitted if the pointer moved
behind our back (ie, during a pointer grab).</doc>
        <source-position filename="../src/shell-global.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="global" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-global.c"
                 line="1339">the #ShellGlobal</doc>
            <type name="Global" c:type="ShellGlobal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="datadir" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="debug-flags" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="display" transfer-ownership="none">
        <type name="Meta.Display"/>
      </property>
      <property name="focus-manager" transfer-ownership="none">
        <type name="St.FocusManager"/>
      </property>
      <property name="frame-finish-timestamp"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="frame-timestamps" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="imagedir" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="screen-height" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="screen-width" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="session-mode"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="settings" transfer-ownership="none">
        <type name="Gio.Settings"/>
      </property>
      <property name="stage" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="switcheroo-control" transfer-ownership="none">
        <type name="Gio.DBusProxy"/>
      </property>
      <property name="top-window-group" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="userdatadir" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="window-group" transfer-ownership="none">
        <type name="Clutter.Actor"/>
      </property>
      <property name="window-manager" transfer-ownership="none">
        <type name="WM"/>
      </property>
      <property name="workspace-manager" transfer-ownership="none">
        <type name="Meta.WorkspaceManager"/>
      </property>
      <glib:signal name="locate-pointer" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="notify-error" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="GlobalClass"
            c:type="ShellGlobalClass"
            glib:is-gtype-struct-for="Global">
      <source-position filename="../src/shell-global.h" line="14"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="GtkEmbed"
           c:symbol-prefix="gtk_embed"
           c:type="ShellGtkEmbed"
           parent="Clutter.Clone"
           glib:type-name="ShellGtkEmbed"
           glib:get-type="shell_gtk_embed_get_type"
           glib:type-struct="GtkEmbedClass">
      <source-position filename="../src/shell-gtk-embed.h" line="16"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <constructor name="new" c:identifier="shell_gtk_embed_new">
        <source-position filename="../src/shell-gtk-embed.h" line="18"/>
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="EmbeddedWindow" c:type="ShellEmbeddedWindow*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="EmbeddedWindow"/>
      </property>
      <field name="parent_instance">
        <type name="Clutter.Clone" c:type="ClutterClone"/>
      </field>
    </class>
    <record name="GtkEmbedClass"
            c:type="ShellGtkEmbedClass"
            glib:is-gtype-struct-for="GtkEmbed">
      <source-position filename="../src/shell-gtk-embed.h" line="16"/>
      <field name="parent_class">
        <type name="Clutter.CloneClass" c:type="ClutterCloneClass"/>
      </field>
    </record>
    <function-macro name="INVERT_LIGHTNESS_EFFECT"
                    c:identifier="SHELL_INVERT_LIGHTNESS_EFFECT"
                    introspectable="0">
      <source-position filename="../src/shell-invert-lightness-effect.h"
                       line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INVERT_LIGHTNESS_EFFECT"
                    c:identifier="SHELL_IS_INVERT_LIGHTNESS_EFFECT"
                    introspectable="0">
      <source-position filename="../src/shell-invert-lightness-effect.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NETWORK_AGENT"
                    c:identifier="SHELL_IS_NETWORK_AGENT"
                    introspectable="0">
      <source-position filename="../src/shell-network-agent.h" line="24"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NETWORK_AGENT_CLASS"
                    c:identifier="SHELL_IS_NETWORK_AGENT_CLASS"
                    introspectable="0">
      <source-position filename="../src/shell-network-agent.h" line="26"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="InvertLightnessEffect"
           c:symbol-prefix="invert_lightness_effect"
           c:type="ShellInvertLightnessEffect"
           parent="Clutter.OffscreenEffect"
           glib:type-name="ShellInvertLightnessEffect"
           glib:get-type="shell_invert_lightness_effect_get_type"
           glib:type-struct="InvertLightnessEffectClass">
      <source-position filename="../src/shell-invert-lightness-effect.h"
                       line="33"/>
      <constructor name="new" c:identifier="shell_invert_lightness_effect_new">
        <doc xml:space="preserve"
             filename="../src/shell-invert-lightness-effect.c"
             line="197">Creates a new #ShellInvertLightnessEffect to be used with
clutter_actor_add_effect()</doc>
        <source-position filename="../src/shell-invert-lightness-effect.h"
                         line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-invert-lightness-effect.c"
               line="203">the newly created
#ShellInvertLightnessEffect or %NULL.  Use g_object_unref() when done.</doc>
          <type name="Clutter.Effect" c:type="ClutterEffect*"/>
        </return-value>
      </constructor>
    </class>
    <record name="InvertLightnessEffectClass"
            c:type="ShellInvertLightnessEffectClass"
            disguised="1"
            glib:is-gtype-struct-for="InvertLightnessEffect">
      <source-position filename="../src/shell-invert-lightness-effect.h"
                       line="33"/>
    </record>
    <constant name="KEYRING_SK_TAG"
              value="setting-key"
              c:type="SHELL_KEYRING_SK_TAG">
      <source-position filename="../src/shell-network-agent.h" line="65"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEYRING_SN_TAG"
              value="setting-name"
              c:type="SHELL_KEYRING_SN_TAG">
      <source-position filename="../src/shell-network-agent.h" line="64"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEYRING_UUID_TAG"
              value="connection-uuid"
              c:type="SHELL_KEYRING_UUID_TAG">
      <source-position filename="../src/shell-network-agent.h" line="63"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="KeyringPrompt"
           c:symbol-prefix="keyring_prompt"
           c:type="ShellKeyringPrompt"
           parent="GObject.Object"
           glib:type-name="ShellKeyringPrompt"
           glib:get-type="shell_keyring_prompt_get_type"
           glib:type-struct="KeyringPromptClass">
      <source-position filename="../src/shell-keyring-prompt.h" line="36"/>
      <implements name="Gcr.Prompt"/>
      <constructor name="new" c:identifier="shell_keyring_prompt_new">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="516">Create new internal prompt base</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-keyring-prompt.c"
               line="521">new internal prompt</doc>
          <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
        </return-value>
      </constructor>
      <method name="cancel" c:identifier="shell_keyring_prompt_cancel">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="762">Called by implementation when the prompt is cancelled.</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="764">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="complete" c:identifier="shell_keyring_prompt_complete">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="697">Called by the implementation when the prompt completes. There are various
checks done. %TRUE is returned if the prompt actually should complete.</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-keyring-prompt.c"
               line="704">whether the prompt completed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="699">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_confirm_actor"
              c:identifier="shell_keyring_prompt_get_confirm_actor">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="544">Get the prompt password text actor</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="46"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="../src/shell-keyring-prompt.c"
               line="550">the password actor</doc>
          <type name="Clutter.Text" c:type="ClutterText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="546">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password_actor"
              c:identifier="shell_keyring_prompt_get_password_actor">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="529">Get the prompt password text actor</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="41"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="../src/shell-keyring-prompt.c"
               line="535">the password actor</doc>
          <type name="Clutter.Text" c:type="ClutterText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="531">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_confirm_actor"
              c:identifier="shell_keyring_prompt_set_confirm_actor">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="667">Set the prompt password confirmation text actor</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="669">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
          <parameter name="confirm_actor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="670">the confirm password actor</doc>
            <type name="Clutter.Text" c:type="ClutterText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_actor"
              c:identifier="shell_keyring_prompt_set_password_actor">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="632">Set the prompt password text actor</doc>
        <source-position filename="../src/shell-keyring-prompt.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="634">the internal prompt</doc>
            <type name="KeyringPrompt" c:type="ShellKeyringPrompt*"/>
          </instance-parameter>
          <parameter name="password_actor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-keyring-prompt.c"
                 line="635">the password actor</doc>
            <type name="Clutter.Text" c:type="ClutterText*"/>
          </parameter>
        </parameters>
      </method>
      <property name="choice-visible" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="370">Whether the choice check box is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="confirm-actor" writable="1" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="388">Text field for confirmation password</doc>
        <type name="Clutter.Text"/>
      </property>
      <property name="confirm-visible" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="352">Whether the password confirm entry is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="password-actor" writable="1" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="379">Text field for password</doc>
        <type name="Clutter.Text"/>
      </property>
      <property name="password-visible" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="343">Whether the password entry is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="warning-visible" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-keyring-prompt.c"
             line="361">Whether the warning label is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="show-confirm">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="show-password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="KeyringPromptClass"
            c:type="ShellKeyringPromptClass"
            glib:is-gtype-struct-for="KeyringPrompt">
      <source-position filename="../src/shell-keyring-prompt.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <callback name="LeisureFunction" c:type="ShellLeisureFunction">
      <source-position filename="../src/shell-global.h" line="58"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MemoryInfo" c:type="ShellMemoryInfo">
      <source-position filename="../src/shell-global.h" line="52"/>
      <field name="glibc_uordblks" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="js_bytes" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="gjs_boxed" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="gjs_gobject" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="gjs_function" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="gjs_closure" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="last_gc_seconds_ago" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <class name="MountOperation"
           c:symbol-prefix="mount_operation"
           c:type="ShellMountOperation"
           parent="Gio.MountOperation"
           glib:type-name="ShellMountOperation"
           glib:get-type="shell_mount_operation_get_type"
           glib:type-struct="MountOperationClass">
      <source-position filename="../src/shell-mount-operation.h" line="30"/>
      <constructor name="new" c:identifier="shell_mount_operation_new">
        <source-position filename="../src/shell-mount-operation.h" line="33"/>
        <return-value transfer-ownership="full">
          <type name="Gio.MountOperation" c:type="GMountOperation*"/>
        </return-value>
      </constructor>
      <method name="get_show_processes_choices"
              c:identifier="shell_mount_operation_get_show_processes_choices">
        <source-position filename="../src/shell-mount-operation.h" line="36"/>
        <return-value transfer-ownership="full">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-mount-operation.c"
                 line="169">a #ShellMountOperation</doc>
            <type name="MountOperation" c:type="ShellMountOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_processes_message"
              c:identifier="shell_mount_operation_get_show_processes_message">
        <source-position filename="../src/shell-mount-operation.h" line="37"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-mount-operation.c"
                 line="181">a #ShellMountOperation</doc>
            <type name="MountOperation" c:type="ShellMountOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_processes_pids"
              c:identifier="shell_mount_operation_get_show_processes_pids">
        <source-position filename="../src/shell-mount-operation.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-mount-operation.c"
               line="159">a #GArray</doc>
          <array name="GLib.Array" c:type="GArray*">
            <type name="GLib.Pid"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-mount-operation.c"
                 line="157">a #ShellMountOperation</doc>
            <type name="MountOperation" c:type="ShellMountOperation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="show-processes-2" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="MountOperationClass"
            c:type="ShellMountOperationClass"
            glib:is-gtype-struct-for="MountOperation">
      <source-position filename="../src/shell-mount-operation.h" line="30"/>
      <field name="parent_class">
        <type name="Gio.MountOperationClass" c:type="GMountOperationClass"/>
      </field>
    </record>
    <function-macro name="NETWORK_AGENT"
                    c:identifier="SHELL_NETWORK_AGENT"
                    introspectable="0">
      <source-position filename="../src/shell-network-agent.h" line="23"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NETWORK_AGENT_CLASS"
                    c:identifier="SHELL_NETWORK_AGENT_CLASS"
                    introspectable="0">
      <source-position filename="../src/shell-network-agent.h" line="25"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NETWORK_AGENT_GET_CLASS"
                    c:identifier="SHELL_NETWORK_AGENT_GET_CLASS"
                    introspectable="0">
      <source-position filename="../src/shell-network-agent.h" line="27"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="NetworkAgent"
           c:symbol-prefix="network_agent"
           c:type="ShellNetworkAgent"
           parent="NM.SecretAgentOld"
           glib:type-name="ShellNetworkAgent"
           glib:get-type="shell_network_agent_get_type"
           glib:type-struct="NetworkAgentClass">
      <source-position filename="../src/shell-network-agent.h" line="41"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <method name="respond" c:identifier="shell_network_agent_respond">
        <source-position filename="../src/shell-network-agent.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="NetworkAgent" c:type="ShellNetworkAgent*"/>
          </instance-parameter>
          <parameter name="request_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="response" transfer-ownership="none">
            <type name="NetworkAgentResponse"
                  c:type="ShellNetworkAgentResponse"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_vpn_plugin"
              c:identifier="shell_network_agent_search_vpn_plugin">
        <source-position filename="../src/shell-network-agent.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="NetworkAgent" c:type="ShellNetworkAgent*"/>
          </instance-parameter>
          <parameter name="service" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_vpn_plugin_finish"
              c:identifier="shell_network_agent_search_vpn_plugin_finish"
              throws="1">
        <source-position filename="../src/shell-network-agent.h" line="58"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="../src/shell-network-agent.c"
               line="525">The found plugin or %NULL</doc>
          <type name="NM.VpnPluginInfo" c:type="NMVpnPluginInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="NetworkAgent" c:type="ShellNetworkAgent*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password"
              c:identifier="shell_network_agent_set_password">
        <source-position filename="../src/shell-network-agent.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="NetworkAgent" c:type="ShellNetworkAgent*"/>
          </instance-parameter>
          <parameter name="request_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="setting_key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="setting_value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance" readable="0" private="1">
        <type name="NM.SecretAgentOld" c:type="NMSecretAgentOld"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="NetworkAgentPrivate" c:type="ShellNetworkAgentPrivate*"/>
      </field>
      <glib:signal name="cancel-request">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="new-request">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="NM.Connection"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="NetworkAgentClass"
            c:type="ShellNetworkAgentClass"
            glib:is-gtype-struct-for="NetworkAgent">
      <source-position filename="../src/shell-network-agent.h" line="41"/>
      <field name="parent_class" readable="0" private="1">
        <type name="NM.SecretAgentOldClass" c:type="NMSecretAgentOldClass"/>
      </field>
    </record>
    <record name="NetworkAgentPrivate"
            c:type="ShellNetworkAgentPrivate"
            disguised="1">
      <source-position filename="../src/shell-network-agent.h" line="20"/>
    </record>
    <enumeration name="NetworkAgentResponse"
                 glib:type-name="ShellNetworkAgentResponse"
                 glib:get-type="shell_network_agent_response_get_type"
                 c:type="ShellNetworkAgentResponse">
      <member name="confirmed"
              value="0"
              c:identifier="SHELL_NETWORK_AGENT_CONFIRMED"
              glib:nick="confirmed">
      </member>
      <member name="user_canceled"
              value="1"
              c:identifier="SHELL_NETWORK_AGENT_USER_CANCELED"
              glib:nick="user-canceled">
      </member>
      <member name="internal_error"
              value="2"
              c:identifier="SHELL_NETWORK_AGENT_INTERNAL_ERROR"
              glib:nick="internal-error">
      </member>
    </enumeration>
    <class name="PerfLog"
           c:symbol-prefix="perf_log"
           c:type="ShellPerfLog"
           parent="GObject.Object"
           glib:type-name="ShellPerfLog"
           glib:get-type="shell_perf_log_get_type"
           glib:type-struct="PerfLogClass">
      <source-position filename="../src/shell-perf-log.h" line="11"/>
      <function name="get_default" c:identifier="shell_perf_log_get_default">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="166">Gets the global singleton performance log. This is initially disabled
and must be explicitly enabled with shell_perf_log_set_enabled().</doc>
        <source-position filename="../src/shell-perf-log.h" line="13"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-perf-log.c"
               line="172">the global singleton performance log</doc>
          <type name="PerfLog" c:type="ShellPerfLog*"/>
        </return-value>
      </function>
      <method name="add_statistics_callback"
              c:identifier="shell_perf_log_add_statistics_callback">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="583">Adds a function that will be called before statistics are recorded.
The function would typically compute one or more statistics values
and call a function such as shell_perf_log_update_statistic_i()
to update the value that will be recorded.</doc>
        <source-position filename="../src/shell-perf-log.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="585">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="586">function to call before recording statistics</doc>
            <type name="PerfStatisticsCallback"
                  c:type="ShellPerfStatisticsCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="587">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="588">function to call when @user_data is no longer needed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="collect_statistics"
              c:identifier="shell_perf_log_collect_statistics">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="610">Calls all the update functions added with
shell_perf_log_add_statistics_callback() and then records events
for all statistics, followed by a perf.statisticsCollected event.</doc>
        <source-position filename="../src/shell-perf-log.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="612">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="define_event" c:identifier="shell_perf_log_define_event">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="275">Defines a performance event for later recording.</doc>
        <source-position filename="../src/shell-perf-log.h" line="18"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="277">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="278">name of the event. This should of the form
  '&lt;namespace&gt;.&lt;specific eventf'&gt;, for example
  'clutter.stagePaintDone'.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="281">human readable description of the event.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="282">signature defining the arguments that event takes.
  This is a string of type characters, using the same characters
  as D-Bus or GVariant. Only a very limited number of signatures
  are supported: , '', 's', 'i', and 'x'. This mean respectively:
  no arguments, one string, one 32-bit integer, and one 64-bit
  integer.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="define_statistic"
              c:identifier="shell_perf_log_define_statistic">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="465">Defines a statistic. A statistic is a numeric value that is stored
by the performance log and recorded periodically or when
shell_perf_log_collect_statistics() is called explicitly.

Code that defines a statistic should update it by calling
the update function for the particular data type of the statistic,
such as shell_perf_log_update_statistic_i(). This can be done
at any time, but would normally done inside a function registered
with shell_perf_log_add_statistics_callback(). These functions
are called immediately before statistics are recorded.</doc>
        <source-position filename="../src/shell-perf-log.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="467">name of the statistic and of the corresponding event.
 This should follow the same guidelines as for shell_perf_log_define_event()</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="469">human readable description of the statistic.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="signature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="470">The type of the data stored for statistic. Must
 currently be 'i' or 'x'.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_events"
              c:identifier="shell_perf_log_dump_events"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="797">Dump the definition of currently defined events and statistics, formatted
as JSON, to the specified output stream. The JSON output is an array,
with each element being a dictionary of the form:

{ name: &lt;name of event&gt;,
  description: &lt;descrition of string,
  statistic: true } (only for statistics)</doc>
        <source-position filename="../src/shell-perf-log.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-perf-log.c"
               line="811">%TRUE if the dump succeeded. %FALSE if an IO error occurred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="799">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="out" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="800">output stream into which to write the event definitions</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_log"
              c:identifier="shell_perf_log_dump_log"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="918">Writes the performance event log, formatted as JSON, to the specified
output stream. For performance reasons, the output stream passed
in should generally be a buffered (or memory) output stream, since
it will be written to in small pieces. The JSON output is an array
with the elements of the array also being arrays, of the form
'[' &lt;time&gt;, &lt;event name&gt; [, &lt;event_arg&gt;... ] ']'.</doc>
        <source-position filename="../src/shell-perf-log.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-perf-log.c"
               line="931">%TRUE if the dump succeeded. %FALSE if an IO error occurred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="920">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="out" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="921">output stream into which to write the event log</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="event" c:identifier="shell_perf_log_event">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="384">Records a performance event with no arguments.</doc>
        <source-position filename="../src/shell-perf-log.h" line="22"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="386">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="387">name of the event</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="event_i" c:identifier="shell_perf_log_event_i">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="402">Records a performance event with one 32-bit integer argument.</doc>
        <source-position filename="../src/shell-perf-log.h" line="24"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="404">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="405">name of the event</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="406">the argument</doc>
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="event_s" c:identifier="shell_perf_log_event_s">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="444">Records a performance event with one string argument.</doc>
        <source-position filename="../src/shell-perf-log.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="446">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="447">name of the event</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="448">the argument</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="event_x" c:identifier="shell_perf_log_event_x">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="423">Records a performance event with one 64-bit integer argument.</doc>
        <source-position filename="../src/shell-perf-log.h" line="27"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="425">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="426">name of the event</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="arg" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="427">the argument</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="replay" c:identifier="shell_perf_log_replay">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="680">Replays the log by calling the given function for each event
in the log.</doc>
        <source-position filename="../src/shell-perf-log.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="682">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="replay_function"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="683">function to call for each event in the log</doc>
            <type name="PerfReplayFunction" c:type="ShellPerfReplayFunction"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="684">data to pass to @replay_function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enabled" c:identifier="shell_perf_log_set_enabled">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="195">Sets whether events are currently being recorded.</doc>
        <source-position filename="../src/shell-perf-log.h" line="15"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="197">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="198">whether to record events</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_statistic_i"
              c:identifier="shell_perf_log_update_statistic_i">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="537">Updates the current value of an 32-bit integer statistic.</doc>
        <source-position filename="../src/shell-perf-log.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="539">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="540">name of the statistic</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="541">new value for the statistic</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_statistic_x"
              c:identifier="shell_perf_log_update_statistic_x">
        <doc xml:space="preserve"
             filename="../src/shell-perf-log.c"
             line="560">Updates the current value of an 64-bit integer statistic.</doc>
        <source-position filename="../src/shell-perf-log.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perf_log" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="562">a #ShellPerfLog</doc>
            <type name="PerfLog" c:type="ShellPerfLog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="563">name of the statistic</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-perf-log.c"
                 line="564">new value for the statistic</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="PerfLogClass"
            c:type="ShellPerfLogClass"
            glib:is-gtype-struct-for="PerfLog">
      <source-position filename="../src/shell-perf-log.h" line="11"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <callback name="PerfReplayFunction" c:type="ShellPerfReplayFunction">
      <source-position filename="../src/shell-perf-log.h" line="56"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="signature" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="arg" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="PerfStatisticsCallback"
              c:type="ShellPerfStatisticsCallback">
      <source-position filename="../src/shell-perf-log.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="perf_log" transfer-ownership="none">
          <type name="PerfLog" c:type="ShellPerfLog*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="PolkitAuthenticationAgent"
           c:symbol-prefix="polkit_authentication_agent"
           c:type="ShellPolkitAuthenticationAgent"
           parent="PolkitAgent.Listener"
           glib:type-name="ShellPolkitAuthenticationAgent"
           glib:get-type="shell_polkit_authentication_agent_get_type"
           glib:type-struct="PolkitAuthenticationAgentClass">
      <source-position filename="../src/shell-polkit-authentication-agent.h"
                       line="22"/>
      <constructor name="new"
                   c:identifier="shell_polkit_authentication_agent_new">
        <source-position filename="../src/shell-polkit-authentication-agent.h"
                         line="24"/>
        <return-value transfer-ownership="full">
          <type name="PolkitAuthenticationAgent"
                c:type="ShellPolkitAuthenticationAgent*"/>
        </return-value>
      </constructor>
      <method name="complete"
              c:identifier="shell_polkit_authentication_agent_complete">
        <source-position filename="../src/shell-polkit-authentication-agent.h"
                         line="26"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="agent" transfer-ownership="none">
            <type name="PolkitAuthenticationAgent"
                  c:type="ShellPolkitAuthenticationAgent*"/>
          </instance-parameter>
          <parameter name="dismissed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="register"
              c:identifier="shell_polkit_authentication_agent_register"
              throws="1">
        <source-position filename="../src/shell-polkit-authentication-agent.h"
                         line="28"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="agent" transfer-ownership="none">
            <type name="PolkitAuthenticationAgent"
                  c:type="ShellPolkitAuthenticationAgent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unregister"
              c:identifier="shell_polkit_authentication_agent_unregister">
        <source-position filename="../src/shell-polkit-authentication-agent.h"
                         line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="agent" transfer-ownership="none">
            <type name="PolkitAuthenticationAgent"
                  c:type="ShellPolkitAuthenticationAgent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="cancel" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="initiate" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PolkitAuthenticationAgentClass"
            c:type="ShellPolkitAuthenticationAgentClass"
            glib:is-gtype-struct-for="PolkitAuthenticationAgent">
      <source-position filename="../src/shell-polkit-authentication-agent.h"
                       line="22"/>
      <field name="parent_class">
        <type name="PolkitAgent.ListenerClass"
              c:type="PolkitAgentListenerClass"/>
      </field>
    </record>
    <class name="Recorder"
           c:symbol-prefix="recorder"
           c:type="ShellRecorder"
           parent="GObject.Object"
           glib:type-name="ShellRecorder"
           glib:get-type="shell_recorder_get_type"
           glib:type-struct="RecorderClass">
      <source-position filename="../src/shell-recorder.h" line="20"/>
      <constructor name="new" c:identifier="shell_recorder_new">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1376">Create a new #ShellRecorder to record movies of a #ClutterStage</doc>
        <source-position filename="../src/shell-recorder.h" line="22"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-recorder.c"
               line="1382">The newly created #ShellRecorder object</doc>
          <type name="Recorder" c:type="ShellRecorder*"/>
        </return-value>
        <parameters>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1378">The #ClutterStage</doc>
            <type name="Clutter.Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="close" c:identifier="shell_recorder_close">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1568">Stops recording. It's possible to call shell_recorder_record()
again to reopen a new recording stream, but unless change the
recording filename, this may result in the old recording being
overwritten.</doc>
        <source-position filename="../src/shell-recorder.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1570">the #ShellRecorder</doc>
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_recording" c:identifier="shell_recorder_is_recording">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1609">Determine if recording is currently in progress. (The recorder
is not paused or closed.)</doc>
        <source-position filename="../src/shell-recorder.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-recorder.c"
               line="1615">%TRUE if the recorder is currently recording.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pause" c:identifier="shell_recorder_pause">
        <source-position filename="../src/shell-recorder.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="record" c:identifier="shell_recorder_record">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1510">Starts recording, Starting the recording may fail if the output file
cannot be opened, or if the output stream cannot be created
for other reasons. In that case a warning is printed to
stderr. There is no way currently to get details on how
recording failed to start.

An extra reference count is added to the recorder if recording
is succesfully started; the recording object will not be freed
until recording is stopped even if the creator no longer holds
a reference. Recording is automatically stopped if the stage
is destroyed.</doc>
        <source-position filename="../src/shell-recorder.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-recorder.c"
               line="1527">%TRUE if recording was succesfully started</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1512">the #ShellRecorder</doc>
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="filename_used"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1513">actual filename used for recording</doc>
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_area" c:identifier="shell_recorder_set_area">
        <source-position filename="../src/shell-recorder.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="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="set_draw_cursor"
              c:identifier="shell_recorder_set_draw_cursor">
        <source-position filename="../src/shell-recorder.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="draw_cursor" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_file_template"
              c:identifier="shell_recorder_set_file_template">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1416">Sets the filename that will be used when creating output
files. This is only used if the configured pipeline has an
unconnected source pad (as the default pipeline does). If
the pipeline is complete, then the filename is unused. The
provided string is used as a template.It can contain
the following escapes:

%d: The current date as YYYYYMMDD
%%: A literal percent

The default value is 'shell-%d%u-%c.ogg'.</doc>
        <source-position filename="../src/shell-recorder.h" line="26"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1418">the #ShellRecorder</doc>
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="file_template" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1419">the filename template to use for output files,
                or %NULL for the defalt value.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_framerate" c:identifier="shell_recorder_set_framerate">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1392">Sets the number of frames per second we try to record. Less frames
will be recorded when the screen doesn't need to be redrawn this
quickly. (This value will also be set as the framerate for the
GStreamer pipeline; whether that has an effect on the resulting
video will depend on the details of the pipeline and the codec. The
default encoding to webm format doesn't pay attention to the pipeline
framerate.)

The default value is 30.</doc>
        <source-position filename="../src/shell-recorder.h" line="24"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1394">the #ShellRecorder</doc>
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="framerate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1395">Framerate used for resulting video in frames-per-second.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pipeline" c:identifier="shell_recorder_set_pipeline">
        <doc xml:space="preserve"
             filename="../src/shell-recorder.c"
             line="1453">Sets the GStreamer pipeline used to encode recordings.
It follows the syntax used for gst-launch. The pipeline
should have an unconnected sink pad where the recorded
video is recorded. It will normally have a unconnected
source pad; output from that pad will be written into the
output file. (See shell_recorder_set_file_template().) However
the pipeline can also take care of its own output - this
might be used to send the output to an icecast server
via shout2send or similar.

The default value is 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'</doc>
        <source-position filename="../src/shell-recorder.h" line="28"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="recorder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1455">the #ShellRecorder</doc>
            <type name="Recorder" c:type="ShellRecorder*"/>
          </instance-parameter>
          <parameter name="pipeline"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-recorder.c"
                 line="1456">the GStreamer pipeline used to encode recordings
           or %NULL for the default value.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="display"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="Meta.Display"/>
      </property>
      <property name="draw-cursor" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="file-template" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="framerate" writable="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="pipeline" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="stage" writable="1" transfer-ownership="none">
        <type name="Clutter.Stage"/>
      </property>
    </class>
    <record name="RecorderClass"
            c:type="ShellRecorderClass"
            glib:is-gtype-struct-for="Recorder">
      <source-position filename="../src/shell-recorder.h" line="20"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Screenshot"
           c:symbol-prefix="screenshot"
           c:type="ShellScreenshot"
           parent="GObject.Object"
           glib:type-name="ShellScreenshot"
           glib:get-type="shell_screenshot_get_type"
           glib:type-struct="ScreenshotClass">
      <source-position filename="../src/shell-screenshot.h" line="14"/>
      <constructor name="new" c:identifier="shell_screenshot_new">
        <source-position filename="../src/shell-screenshot.h" line="17"/>
        <return-value transfer-ownership="full">
          <type name="Screenshot" c:type="ShellScreenshot*"/>
        </return-value>
      </constructor>
      <method name="pick_color" c:identifier="shell_screenshot_pick_color">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="711">Picks the pixel at @x, @y and returns its color as #ClutterColor.</doc>
        <source-position filename="../src/shell-screenshot.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="713">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="714">The X coordinate to pick</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="715">The Y coordinate to pick</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="716">function to call returning success or failure
of the async grabbing</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="pick_color_finish"
              c:identifier="shell_screenshot_pick_color_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="768">Finish the asynchronous operation started by shell_screenshot_pick_color()
and obtain its result.</doc>
        <source-position filename="../src/shell-screenshot.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-screenshot.c"
               line="778">whether the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="770">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="771">the #GAsyncResult that was provided to the callback</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="772">the picked color</doc>
            <type name="Clutter.Color" c:type="ClutterColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot" c:identifier="shell_screenshot_screenshot">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="441">Takes a screenshot of the whole screen
in @stream as png image.</doc>
        <source-position filename="../src/shell-screenshot.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="443">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="include_cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="444">Whether to include the cursor or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="445">The stream for the screenshot</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="446">function to call returning success or failure
of the async grabbing</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="448">the data to pass to callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot_area"
              c:identifier="shell_screenshot_screenshot_area">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="527">Takes a screenshot of the passed in area and saves it
in @stream as png image.</doc>
        <source-position filename="../src/shell-screenshot.h" line="19"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="529">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="530">The X coordinate of the area</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="531">The Y coordinate of the area</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="532">The width of the area</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="533">The height of the area</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="534">The stream for the screenshot</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="535">function to call returning success or failure
of the async grabbing</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="537">the data to pass to callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot_area_finish"
              c:identifier="shell_screenshot_screenshot_area_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="593">Finish the asynchronous operation started by shell_screenshot_screenshot_area()
and obtain its result.</doc>
        <source-position filename="../src/shell-screenshot.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-screenshot.c"
               line="603">whether the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="595">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="596">the #GAsyncResult that was provided to the callback</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="area"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="597">the area that was grabbed in screen coordinates</doc>
            <type name="cairo.RectangleInt" c:type="cairo_rectangle_int_t**"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot_finish"
              c:identifier="shell_screenshot_screenshot_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="500">Finish the asynchronous operation started by shell_screenshot_screenshot()
and obtain its result.</doc>
        <source-position filename="../src/shell-screenshot.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-screenshot.c"
               line="510">whether the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="502">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="503">the #GAsyncResult that was provided to the callback</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="area"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="504">the area that was grabbed in screen coordinates</doc>
            <type name="cairo.RectangleInt" c:type="cairo_rectangle_int_t**"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot_window"
              c:identifier="shell_screenshot_screenshot_window">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="620">Takes a screenshot of the focused window (optionally omitting the frame)
in @stream as png image.</doc>
        <source-position filename="../src/shell-screenshot.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="622">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="include_frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="623">Whether to include the frame or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="include_cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="624">Whether to include the cursor or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="625">The stream for the screenshot</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="626">function to call returning success or failure
of the async grabbing</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="628">the data to pass to callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="screenshot_window_finish"
              c:identifier="shell_screenshot_screenshot_window_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="../src/shell-screenshot.c"
             line="684">Finish the asynchronous operation started by shell_screenshot_screenshot_window()
and obtain its result.</doc>
        <source-position filename="../src/shell-screenshot.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-screenshot.c"
               line="694">whether the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="screenshot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="686">the #ShellScreenshot</doc>
            <type name="Screenshot" c:type="ShellScreenshot*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="687">the #GAsyncResult that was provided to the callback</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="area"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-screenshot.c"
                 line="688">the area that was grabbed in screen coordinates</doc>
            <type name="cairo.RectangleInt" c:type="cairo_rectangle_int_t**"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ScreenshotClass"
            c:type="ShellScreenshotClass"
            glib:is-gtype-struct-for="Screenshot">
      <source-position filename="../src/shell-screenshot.h" line="14"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SecureTextBuffer"
           c:symbol-prefix="secure_text_buffer"
           c:type="ShellSecureTextBuffer"
           parent="Clutter.TextBuffer"
           glib:type-name="ShellSecureTextBuffer"
           glib:get-type="shell_secure_text_buffer_get_type"
           glib:type-struct="SecureTextBufferClass">
      <source-position filename="../src/shell-secure-text-buffer.h" line="32"/>
      <constructor name="new" c:identifier="shell_secure_text_buffer_new">
        <source-position filename="../src/shell-secure-text-buffer.h"
                         line="35"/>
        <return-value transfer-ownership="full">
          <type name="Clutter.TextBuffer" c:type="ClutterTextBuffer*"/>
        </return-value>
      </constructor>
    </class>
    <record name="SecureTextBufferClass"
            c:type="ShellSecureTextBufferClass"
            glib:is-gtype-struct-for="SecureTextBuffer">
      <source-position filename="../src/shell-secure-text-buffer.h" line="32"/>
      <field name="parent_class">
        <type name="Clutter.TextBufferClass" c:type="ClutterTextBufferClass"/>
      </field>
    </record>
    <enumeration name="SnippetHook"
                 glib:type-name="ShellSnippetHook"
                 glib:get-type="shell_snippet_hook_get_type"
                 c:type="ShellSnippetHook">
      <doc xml:space="preserve"
           filename="../src/shell-glsl-effect.h"
           line="8">Temporary hack to work around Cogl not exporting CoglSnippetHook in
the 1.0 API. Don't use.</doc>
      <member name="vertex"
              value="0"
              c:identifier="SHELL_SNIPPET_HOOK_VERTEX"
              glib:nick="vertex">
      </member>
      <member name="vertex_transform"
              value="1"
              c:identifier="SHELL_SNIPPET_HOOK_VERTEX_TRANSFORM"
              glib:nick="vertex-transform">
      </member>
      <member name="fragment"
              value="2048"
              c:identifier="SHELL_SNIPPET_HOOK_FRAGMENT"
              glib:nick="fragment">
      </member>
      <member name="texture_coord_transform"
              value="4096"
              c:identifier="SHELL_SNIPPET_HOOK_TEXTURE_COORD_TRANSFORM"
              glib:nick="texture-coord-transform">
      </member>
      <member name="layer_fragment"
              value="6144"
              c:identifier="SHELL_SNIPPET_HOOK_LAYER_FRAGMENT"
              glib:nick="layer-fragment">
      </member>
      <member name="texture_lookup"
              value="6145"
              c:identifier="SHELL_SNIPPET_HOOK_TEXTURE_LOOKUP"
              glib:nick="texture-lookup">
      </member>
    </enumeration>
    <class name="Stack"
           c:symbol-prefix="stack"
           c:type="ShellStack"
           parent="St.Widget"
           glib:type-name="ShellStack"
           glib:get-type="shell_stack_get_type"
           glib:type-struct="StackClass">
      <source-position filename="../src/shell-stack.h" line="9"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
    </class>
    <record name="StackClass"
            c:type="ShellStackClass"
            glib:is-gtype-struct-for="Stack">
      <source-position filename="../src/shell-stack.h" line="9"/>
      <field name="parent_class">
        <type name="St.WidgetClass" c:type="StWidgetClass"/>
      </field>
    </record>
    <class name="TrayIcon"
           c:symbol-prefix="tray_icon"
           c:type="ShellTrayIcon"
           parent="GtkEmbed"
           glib:type-name="ShellTrayIcon"
           glib:get-type="shell_tray_icon_get_type"
           glib:type-struct="TrayIconClass">
      <source-position filename="../src/shell-tray-icon.h" line="8"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Clutter.Animatable"/>
      <implements name="Clutter.Container"/>
      <implements name="Clutter.Scriptable"/>
      <constructor name="new" c:identifier="shell_tray_icon_new">
        <source-position filename="../src/shell-tray-icon.h" line="11"/>
        <return-value transfer-ownership="none">
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="EmbeddedWindow" c:type="ShellEmbeddedWindow*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="click" c:identifier="shell_tray_icon_click">
        <doc xml:space="preserve"
             filename="../src/shell-tray-icon.c"
             line="175">Fakes a press and release on @icon. @event must be a
%CLUTTER_BUTTON_RELEASE, %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE event.
Its relevant details will be passed on to the icon, but its
coordinates will be ignored; the click is
always made on the center of @icon.</doc>
        <source-position filename="../src/shell-tray-icon.h" line="13"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="icon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-tray-icon.c"
                 line="177">a #ShellTrayIcon</doc>
            <type name="TrayIcon" c:type="ShellTrayIcon*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-tray-icon.c"
                 line="178">the #ClutterEvent triggering the fake click</doc>
            <type name="Clutter.Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <property name="pid" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="title" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="wm-class" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="TrayIconClass"
            c:type="ShellTrayIconClass"
            glib:is-gtype-struct-for="TrayIcon">
      <source-position filename="../src/shell-tray-icon.h" line="8"/>
      <field name="parent_class">
        <type name="GtkEmbedClass" c:type="ShellGtkEmbedClass"/>
      </field>
    </record>
    <class name="TrayManager"
           c:symbol-prefix="tray_manager"
           c:type="ShellTrayManager"
           parent="GObject.Object"
           glib:type-name="ShellTrayManager"
           glib:get-type="shell_tray_manager_get_type"
           glib:type-struct="TrayManagerClass">
      <source-position filename="../src/shell-tray-manager.h" line="12"/>
      <constructor name="new" c:identifier="shell_tray_manager_new">
        <source-position filename="../src/shell-tray-manager.h" line="15"/>
        <return-value transfer-ownership="full">
          <type name="TrayManager" c:type="ShellTrayManager*"/>
        </return-value>
      </constructor>
      <method name="manage_screen"
              c:identifier="shell_tray_manager_manage_screen">
        <source-position filename="../src/shell-tray-manager.h" line="16"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <type name="TrayManager" c:type="ShellTrayManager*"/>
          </instance-parameter>
          <parameter name="theme_widget" transfer-ownership="none">
            <type name="St.Widget" c:type="StWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmanage_screen"
              c:identifier="shell_tray_manager_unmanage_screen">
        <source-position filename="../src/shell-tray-manager.h" line="18"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <type name="TrayManager" c:type="ShellTrayManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="bg-color"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Clutter.Color"/>
      </property>
      <glib:signal name="tray-icon-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tray-icon-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clutter.Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TrayManagerClass"
            c:type="ShellTrayManagerClass"
            glib:is-gtype-struct-for="TrayManager">
      <source-position filename="../src/shell-tray-manager.h" line="12"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="WM"
           c:symbol-prefix="wm"
           c:type="ShellWM"
           parent="GObject.Object"
           glib:type-name="ShellWM"
           glib:get-type="shell_wm_get_type"
           glib:type-struct="WMClass">
      <source-position filename="../src/shell-wm.h" line="11"/>
      <constructor name="new" c:identifier="shell_wm_new">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="445">Creates a new window management interface by hooking into @plugin.</doc>
        <source-position filename="../src/shell-wm.h" line="13"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-wm.c"
               line="451">the new window-management interface</doc>
          <type name="WM" c:type="ShellWM*"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="447">the #MetaPlugin</doc>
            <type name="Meta.Plugin" c:type="MetaPlugin*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="complete_display_change"
              c:identifier="shell_wm_complete_display_change">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="293">The plugin must call this after the user responded to the confirmation dialog.</doc>
        <source-position filename="../src/shell-wm.h" line="27"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="295">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="ok" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="296">if the new configuration was OK</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="completed_destroy"
              c:identifier="shell_wm_completed_destroy">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="279">The plugin must call this when it has completed a window destroy effect.</doc>
        <source-position filename="../src/shell-wm.h" line="23"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="281">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="282">the MetaWindowActor actor</doc>
            <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="completed_map" c:identifier="shell_wm_completed_map">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="265">The plugin must call this when it has completed a window map effect.</doc>
        <source-position filename="../src/shell-wm.h" line="21"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="267">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="268">the MetaWindowActor actor</doc>
            <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="completed_minimize"
              c:identifier="shell_wm_completed_minimize">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="230">The plugin must call this when it has completed a window minimize effect.</doc>
        <source-position filename="../src/shell-wm.h" line="15"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="232">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="233">the MetaWindowActor actor</doc>
            <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="completed_size_change"
              c:identifier="shell_wm_completed_size_change">
        <source-position filename="../src/shell-wm.h" line="19"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="completed_switch_workspace"
              c:identifier="shell_wm_completed_switch_workspace">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="217">The plugin must call this when it has finished switching the
workspace.</doc>
        <source-position filename="../src/shell-wm.h" line="25"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="219">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="completed_unminimize"
              c:identifier="shell_wm_completed_unminimize">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="244">The plugin must call this when it has completed a window unminimize effect.</doc>
        <source-position filename="../src/shell-wm.h" line="17"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="246">the ShellWM</doc>
            <type name="WM" c:type="ShellWM*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="247">the MetaWindowActor actor</doc>
            <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="confirm-display-change" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="create-close-dialog" when="last">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="173">Creates a close dialog for the given window.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-wm.c"
               line="180">The close dialog instance.</doc>
          <type name="Meta.CloseDialog"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="176">The window to create the dialog for</doc>
            <type name="Meta.Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="create-inhibit-shortcuts-dialog" when="last">
        <doc xml:space="preserve"
             filename="../src/shell-wm.c"
             line="189">Creates an inhibit shortcuts dialog for the given window.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-wm.c"
               line="196">The inhibit shortcuts dialog instance.</doc>
          <type name="Meta.InhibitShortcutsDialog"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-wm.c"
                 line="192">The window to create the dialog for</doc>
            <type name="Meta.Window"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="destroy" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="filter-keybinding" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.KeyBinding"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="hide-tile-preview" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="kill-switch-workspace" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="kill-window-effects" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="map" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="minimize" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="show-tile-preview" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.Window"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Meta.Rectangle"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="show-window-menu" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.Window"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="Meta.Rectangle"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="size-change" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Meta.SizeChange"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="Meta.Rectangle"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="Meta.Rectangle"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="size-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="switch-workspace" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unminimize" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.WindowActor"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WMClass" c:type="ShellWMClass" glib:is-gtype-struct-for="WM">
      <source-position filename="../src/shell-wm.h" line="11"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="WindowTracker"
           c:symbol-prefix="window_tracker"
           c:type="ShellWindowTracker"
           parent="GObject.Object"
           glib:type-name="ShellWindowTracker"
           glib:get-type="shell_window_tracker_get_type"
           glib:type-struct="WindowTrackerClass">
      <source-position filename="../src/shell-window-tracker.h" line="16"/>
      <function name="get_default"
                c:identifier="shell_window_tracker_get_default">
        <source-position filename="../src/shell-window-tracker.h" line="19"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-window-tracker.c"
               line="839">The global #ShellWindowTracker instance</doc>
          <type name="WindowTracker" c:type="ShellWindowTracker*"/>
        </return-value>
      </function>
      <method name="get_app_from_pid"
              c:identifier="shell_window_tracker_get_app_from_pid">
        <doc xml:space="preserve"
             filename="../src/shell-window-tracker.c"
             line="732">Look up the application corresponding to a process.</doc>
        <source-position filename="../src/shell-window-tracker.h" line="23"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-window-tracker.c"
               line="739">A #ShellApp, or %NULL if none</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-window-tracker.c"
                 line="734">A #ShellAppSystem</doc>
            <type name="WindowTracker" c:type="ShellWindowTracker*"/>
          </instance-parameter>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-window-tracker.c"
                 line="735">A Unix process identifier</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_startup_sequences"
              c:identifier="shell_window_tracker_get_startup_sequences">
        <source-position filename="../src/shell-window-tracker.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-window-tracker.c"
               line="805">Currently active startup sequences</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Meta.StartupSequence"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="tracker" transfer-ownership="none">
            <type name="WindowTracker" c:type="ShellWindowTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_window_app"
              c:identifier="shell_window_tracker_get_window_app">
        <source-position filename="../src/shell-window-tracker.h" line="21"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-window-tracker.c"
               line="716">Application associated with window</doc>
          <type name="App" c:type="ShellApp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tracker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-window-tracker.c"
                 line="713">An app monitor instance</doc>
            <type name="WindowTracker" c:type="ShellWindowTracker*"/>
          </instance-parameter>
          <parameter name="metawin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../src/shell-window-tracker.c"
                 line="714">A #MetaWindow</doc>
            <type name="Meta.Window" c:type="MetaWindow*"/>
          </parameter>
        </parameters>
      </method>
      <property name="focus-app" transfer-ownership="none">
        <type name="App"/>
      </property>
      <glib:signal name="startup-sequence-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Meta.StartupSequence"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tracked-windows-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WindowTrackerClass"
            c:type="ShellWindowTrackerClass"
            glib:is-gtype-struct-for="WindowTracker">
      <source-position filename="../src/shell-window-tracker.h" line="16"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function name="get_file_contents_utf8_sync"
              c:identifier="shell_get_file_contents_utf8_sync"
              throws="1">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="263">Synchronously load the contents of a file as a NUL terminated
string, validating it as UTF-8.  Embedded NUL characters count as
invalid content.</doc>
      <source-position filename="../src/shell-util.h" line="30"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="272">File contents</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="265">UTF-8 encoded filename path</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_check_cloexec_fds"
              c:identifier="shell_util_check_cloexec_fds">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="625">Walk over all open file descriptors. Check them for the FD_CLOEXEC flag.
If this flag is not set, log the offending file descriptor number.

It is important that gnome-shell's file descriptors are all marked CLOEXEC,
so that the shell's open file descriptors are not passed to child processes
that we launch.</doc>
      <source-position filename="../src/shell-util.h" line="65"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="util_composite_capture_images"
              c:identifier="shell_util_composite_capture_images">
      <source-position filename="../src/shell-util.h" line="57"/>
      <return-value transfer-ownership="full">
        <type name="cairo.Surface" c:type="cairo_surface_t*"/>
      </return-value>
      <parameters>
        <parameter name="captures" transfer-ownership="none">
          <type name="Clutter.Capture" c:type="ClutterCapture*"/>
        </parameter>
        <parameter name="n_captures" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="target_width" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="target_height" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="target_scale" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_create_pixbuf_from_data"
              c:identifier="shell_util_create_pixbuf_from_data">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="380">Workaround for non-introspectability of gdk_pixbuf_from_data().</doc>
      <source-position filename="../src/shell-util.h" line="43"/>
      <return-value transfer-ownership="full">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="full">
          <array length="1" zero-terminated="0" c:type="const guchar*">
            <type name="guint8"/>
          </array>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="colorspace" transfer-ownership="none">
          <type name="GdkPixbuf.Colorspace" c:type="GdkColorspace"/>
        </parameter>
        <parameter name="has_alpha" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="bits_per_sample" 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>
        <parameter name="rowstride" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_content_for_window_actor"
              c:identifier="shell_util_get_content_for_window_actor">
      <source-position filename="../src/shell-util.h" line="54"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="460">a new #ClutterContent</doc>
        <type name="Clutter.Content" c:type="ClutterContent*"/>
      </return-value>
      <parameters>
        <parameter name="window_actor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="457">a #MetaWindowActor</doc>
          <type name="Meta.WindowActor" c:type="MetaWindowActor*"/>
        </parameter>
        <parameter name="window_rect" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="458">a #MetaRectangle</doc>
          <type name="Meta.Rectangle" c:type="MetaRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_transformed_allocation"
              c:identifier="shell_util_get_transformed_allocation">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="80">This function is similar to a combination of clutter_actor_get_transformed_position(),
and clutter_actor_get_transformed_size(), but unlike
clutter_actor_get_transformed_size(), it always returns a transform
of the current allocation, while clutter_actor_get_transformed_size() returns
bad values (the transform of the requested size) if a relayout has been
queued.

This function is more convenient to use than
clutter_actor_get_abs_allocation_vertices() if no transformation is in effect
and also works around limitations in the GJS binding of arrays.</doc>
      <source-position filename="../src/shell-util.h" line="17"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="actor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="82">a #ClutterActor</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </parameter>
        <parameter name="box"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="83">location to store returned box in stage coordinates</doc>
          <type name="Clutter.ActorBox" c:type="ClutterActorBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_translated_folder_name"
              c:identifier="shell_util_get_translated_folder_name">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="756">Attempts to translate the folder @name using translations provided
by .directory files.</doc>
      <source-position filename="../src/shell-util.h" line="79"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="763">a translated string or %NULL</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="758">the untranslated folder name</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_week_start"
              c:identifier="shell_util_get_week_start">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="135">Gets the first week day for the current locale, expressed as a
number in the range 0..6, representing week days from Sunday to
Saturday.</doc>
      <source-position filename="../src/shell-util.h" line="20"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="142">A number representing the first week day for the current
         locale</doc>
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="util_has_x11_display_extension"
              c:identifier="shell_util_has_x11_display_extension">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="732">If the corresponding X11 display provides the passed extension, return %TRUE,
otherwise %FALSE. If there is no X11 display, %FALSE is passed.</doc>
      <source-position filename="../src/shell-util.h" line="76"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="display" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="734">A #MetaDisplay</doc>
          <type name="Meta.Display" c:type="MetaDisplay*"/>
        </parameter>
        <parameter name="extension" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="735">An X11 extension</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_need_background_refresh"
              c:identifier="shell_util_need_background_refresh">
      <source-position filename="../src/shell-util.h" line="52"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="util_regex_escape" c:identifier="shell_util_regex_escape">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="228">A wrapper around g_regex_escape_string() that takes its argument as
\0-terminated string rather than a byte-array that confuses gjs.</doc>
      <source-position filename="../src/shell-util.h" line="24"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="235">@str with all regex-special characters escaped</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="230">a UTF-8 string to escape</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_sd_notify" c:identifier="shell_util_sd_notify">
      <source-position filename="../src/shell-util.h" line="74"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="util_set_hidden_from_pick"
              c:identifier="shell_util_set_hidden_from_pick">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="47">If @hidden is %TRUE, hide @actor from pick even with a mode of
%CLUTTER_PICK_ALL; if @hidden is %FALSE, unhide @actor.</doc>
      <source-position filename="../src/shell-util.h" line="14"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="actor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="49">A #ClutterActor</doc>
          <type name="Clutter.Actor" c:type="ClutterActor*"/>
        </parameter>
        <parameter name="hidden" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="50">Whether @actor should be hidden from pick</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_start_systemd_unit"
              c:identifier="shell_util_start_systemd_unit"
              throws="1">
      <source-position filename="../src/shell-util.h" line="67"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="unit" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_stop_systemd_unit"
              c:identifier="shell_util_stop_systemd_unit"
              throws="1">
      <source-position filename="../src/shell-util.h" line="70"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="unit" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_touch_file_async"
              c:identifier="shell_util_touch_file_async">
      <source-position filename="../src/shell-util.h" line="33"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="async"
                   closure="2">
          <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_touch_file_finish"
              c:identifier="shell_util_touch_file_finish"
              throws="1">
      <source-position filename="../src/shell-util.h" line="36"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="res" transfer-ownership="none">
          <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_translate_time_string"
              c:identifier="shell_util_translate_time_string">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="193">Translate @str according to the locale defined by LC_TIME; unlike
dcgettext(), the translations is still taken from the LC_MESSAGES
catalogue and not the LC_TIME one.</doc>
      <source-position filename="../src/shell-util.h" line="22"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="201">the translated string</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="195">String to translate</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_wifexited" c:identifier="shell_util_wifexited">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="357">Implements libc standard WIFEXITED, that cannot be used JS
code.</doc>
      <source-position filename="../src/shell-util.h" line="40"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="364">TRUE if the process exited normally, FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="status" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="359">the status returned by wait() or waitpid()</doc>
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="exit"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="360">the actual exit status of the process</doc>
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="write_string_to_stream"
              c:identifier="shell_write_string_to_stream"
              throws="1">
      <doc xml:space="preserve"
           filename="../src/shell-util.c"
           line="243">Write a string to a GOutputStream as UTF-8. This is a workaround
for not having binary buffers in GJS.</doc>
      <source-position filename="../src/shell-util.h" line="26"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../src/shell-util.c"
             line="252">%TRUE if write succeeded</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="stream" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="245">a #GOutputStream</doc>
          <type name="Gio.OutputStream" c:type="GOutputStream*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../src/shell-util.c"
               line="246">a UTF-8 string to write to @stream</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>

Filemanager

Name Type Size Permission Actions
extensions Folder 0755
gir-1.0 Folder 0755
modes Folder 0755
search-providers Folder 0755
theme Folder 0755
Gvc-1.0.gir File 142.7 KB 0644
Shell-0.1.gir File 224.26 KB 0644
St-1.0.gir File 369.45 KB 0644
gdm3-theme.gresource File 700.88 KB 0644
gnome-shell-dbus-interfaces.gresource File 47.83 KB 0644
gnome-shell-osk-layouts.gresource File 727.71 KB 0644
gnome-shell-theme.gresource File 370.49 KB 0644
org.gnome.Extensions File 120 B 0644
org.gnome.Extensions.data.gresource File 30.62 KB 0644
org.gnome.Extensions.src.gresource File 23.49 KB 0644
org.gnome.Shell.Extensions File 97 B 0644
org.gnome.Shell.Extensions.src.gresource File 38.27 KB 0644
org.gnome.Shell.Notifications File 97 B 0644
org.gnome.Shell.Notifications.src.gresource File 12.31 KB 0644
perf-background.xml File 1.1 KB 0644