<?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="Adw" version="1"/>
  <include name="Gtk" version="4.0"/>
  <package name="libpanel-1"/>
  <c:include name="libpanel.h"/>
  <namespace name="Panel"
             version="1"
             shared-library="libpanel-1.so.0.2"
             c:identifier-prefixes="Panel"
             c:symbol-prefixes="panel">
    <record name="Action" c:type="PanelAction" disguised="1" opaque="1">
      <source-position filename="src/panel-action-muxer.h" line="35"/>
    </record>
    <callback name="ActionActivateFunc" c:type="PanelActionActivateFunc">
      <source-position filename="src/panel-action-muxer.h" line="31"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="action_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="param" transfer-ownership="none">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="ActionMuxer"
           c:symbol-prefix="action_muxer"
           c:type="PanelActionMuxer"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelActionMuxer"
           glib:get-type="panel_action_muxer_get_type"
           glib:type-struct="ActionMuxerClass">
      <source-position filename="src/panel-action-muxer.h" line="38"/>
      <implements name="Gio.ActionGroup"/>
      <constructor name="new" c:identifier="panel_action_muxer_new">
        <source-position filename="src/panel-action-muxer.h" line="41"/>
        <return-value transfer-ownership="full">
          <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
        </return-value>
      </constructor>
      <method name="get_action_group"
              c:identifier="panel_action_muxer_get_action_group">
        <doc xml:space="preserve"
             filename="src/panel-action-muxer.c"
             line="391">Locates the #GActionGroup inserted as @prefix.

If no group was found matching @group, %NULL is returned.</doc>
        <source-position filename="src/panel-action-muxer.h" line="54"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-action-muxer.c"
               line="400">a #GActionGroup matching @prefix if
  found, otherwise %NULL.</doc>
          <type name="Gio.ActionGroup" c:type="GActionGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-action-muxer.c"
                 line="393">a #PanelActionMuxer</doc>
            <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-action-muxer.c"
                 line="394">the name of the inserted action group</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_action_group"
              c:identifier="panel_action_muxer_insert_action_group">
        <source-position filename="src/panel-action-muxer.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="action_group" transfer-ownership="none">
            <type name="Gio.ActionGroup" c:type="GActionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_groups" c:identifier="panel_action_muxer_list_groups">
        <doc xml:space="preserve"
             filename="src/panel-action-muxer.c"
             line="158">Gets a list of group names in the muxer.</doc>
        <source-position filename="src/panel-action-muxer.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-action-muxer.c"
               line="164">
  an array containing the names of groups within the muxer</doc>
          <array c:type="char**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-action-muxer.c"
                 line="160">a #PanelActionMuxer</doc>
            <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_action_group"
              c:identifier="panel_action_muxer_remove_action_group">
        <source-position filename="src/panel-action-muxer.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all" c:identifier="panel_action_muxer_remove_all">
        <source-position filename="src/panel-action-muxer.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ActionMuxer" c:type="PanelActionMuxer*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="ActionMuxerClass"
            c:type="PanelActionMuxerClass"
            glib:is-gtype-struct-for="ActionMuxer">
      <source-position filename="src/panel-action-muxer.h" line="38"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="PanelApplication"
           parent="Adw.Application"
           glib:type-name="PanelApplication"
           glib:get-type="panel_application_get_type"
           glib:type-struct="ApplicationClass">
      <source-position filename="src/panel-application.h" line="40"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <constructor name="new" c:identifier="panel_application_new">
        <source-position filename="src/panel-application.h" line="43"/>
        <return-value transfer-ownership="full">
          <type name="Application" c:type="PanelApplication*"/>
        </return-value>
        <parameters>
          <parameter name="application_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="Gio.ApplicationFlags" c:type="GApplicationFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent_instance">
        <type name="Adw.Application" c:type="AdwApplication"/>
      </field>
    </class>
    <record name="ApplicationClass"
            c:type="PanelApplicationClass"
            glib:is-gtype-struct-for="Application">
      <source-position filename="src/panel-application.h" line="40"/>
      <field name="parent_class">
        <type name="Adw.ApplicationClass" c:type="AdwApplicationClass"/>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="Area"
                 glib:type-name="PanelArea"
                 glib:get-type="panel_area_get_type"
                 c:type="PanelArea">
      <doc xml:space="preserve"
           filename="src/panel-types.h"
           line="47">The area of the panel.</doc>
      <member name="start"
              value="0"
              c:identifier="PANEL_AREA_START"
              glib:nick="start"
              glib:name="PANEL_AREA_START">
        <doc xml:space="preserve"
             filename="src/panel-types.h"
             line="49">the area of the panel that is at the horizontal
   start. The side is defined by the direction of the user
   language. In English, it is the left side.</doc>
      </member>
      <member name="end"
              value="1"
              c:identifier="PANEL_AREA_END"
              glib:nick="end"
              glib:name="PANEL_AREA_END">
        <doc xml:space="preserve"
             filename="src/panel-types.h"
             line="52">the area of the panel that is at the end.</doc>
      </member>
      <member name="top"
              value="2"
              c:identifier="PANEL_AREA_TOP"
              glib:nick="top"
              glib:name="PANEL_AREA_TOP">
        <doc xml:space="preserve"
             filename="src/panel-types.h"
             line="53">the area at the top of the panel.</doc>
      </member>
      <member name="bottom"
              value="3"
              c:identifier="PANEL_AREA_BOTTOM"
              glib:nick="bottom"
              glib:name="PANEL_AREA_BOTTOM">
        <doc xml:space="preserve"
             filename="src/panel-types.h"
             line="54">the area at the bottom of the panel.</doc>
      </member>
      <member name="center"
              value="4"
              c:identifier="PANEL_AREA_CENTER"
              glib:nick="center"
              glib:name="PANEL_AREA_CENTER">
        <doc xml:space="preserve"
             filename="src/panel-types.h"
             line="55">the area that would be considered as the main area, always
   revealed.</doc>
      </member>
    </enumeration>
    <function-macro name="CHECK_VERSION"
                    c:identifier="PANEL_CHECK_VERSION"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="84">Compile-time version checking. Evaluates to %TRUE if the version
of libpanel is greater than the required one.</doc>
      <source-position filename="src/panel-version.h" line="92"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="src/panel-version.h"
               line="86">required major version</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="src/panel-version.h"
               line="87">required minor version</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="src/panel-version.h"
               line="88">required micro version</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEFINE_ACTION_GROUP"
                    c:identifier="PANEL_DEFINE_ACTION_GROUP"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="src/panel-action-group.h"
           line="27">Use this to define a type that will implement GActionGroup.

The @... parameters should be identifical to implementing a
#GActionEntry array, except that the activate and change_state
functions take a simplier protoype of just:

```c
void (*activate) (Type *self, GVariant *state);
void (*change_state) (Type *self, GVariant *state);
```

You must add the following to your type defintion using
`G_DEFINE_TYPE_WITH_CODE` or similar:

```c
G_IMPLEMENT_INTERFACE(G_TYPE_ACTION_GROUP, my_object_init_action_group)
```</doc>
      <source-position filename="src/panel-action-group.h" line="51"/>
      <parameters>
        <parameter name="Type">
          <doc xml:space="preserve"
               filename="src/panel-action-group.h"
               line="29">the type name like MyObject</doc>
        </parameter>
        <parameter name="prefix">
          <doc xml:space="preserve"
               filename="src/panel-action-group.h"
               line="30">the type prefix like my_prefix</doc>
        </parameter>
        <parameter name="...">
          <doc xml:space="preserve"
               filename="src/panel-action-group.h"
               line="31">an array definition of GActionEntry</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_FOR"
                    c:identifier="PANEL_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="src/panel-version-macros.h" line="33"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_0_FOR"
                    c:identifier="PANEL_DEPRECATED_IN_1_0_FOR"
                    introspectable="0">
      <source-position filename="src/panel-version-macros.h" line="114"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_2_FOR"
                    c:identifier="PANEL_DEPRECATED_IN_1_2_FOR"
                    introspectable="0">
      <source-position filename="src/panel-version-macros.h" line="127"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_4_FOR"
                    c:identifier="PANEL_DEPRECATED_IN_1_4_FOR"
                    introspectable="0">
      <source-position filename="src/panel-version-macros.h" line="140"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Dock"
           c:symbol-prefix="dock"
           c:type="PanelDock"
           parent="Gtk.Widget"
           glib:type-name="PanelDock"
           glib:get-type="panel_dock_get_type"
           glib:type-struct="DockClass">
      <doc xml:space="preserve"
           filename="src/panel-dock.c"
           line="37">The #PanelDock is a widget designed to contain widgets that can be
docked. Use the #PanelDock as the top widget of your dockable UI.

A #PanelDock is divided in 5 areas: %PANEL_AREA_TOP,
%PANEL_AREA_BOTTOM, %PANEL_AREA_START, %PANEL_AREA_END represent
the surrounding areas that can revealed. %PANEL_AREA_CENTER
represent the main area, that is always displayed and resized
depending on the reveal state of the surrounding areas.

It will contain a #PanelDockChild for each of the areas in use,
albeit this is done by the widget.</doc>
      <source-position filename="src/panel-dock.h" line="42"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_dock_new">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="105">Create a new #PanelDock.</doc>
        <source-position filename="src/panel-dock.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="109">a newly created #PanelDock</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="panel_drag_begin">
        <source-position filename="src/panel-dock.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="panel_drag_end">
        <source-position filename="src/panel-dock.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="foreach_frame" c:identifier="panel_dock_foreach_frame">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1493">Invokes a callback for each frame in the dock.</doc>
        <source-position filename="src/panel-dock.h" line="97"/>
        <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/panel-dock.c"
                 line="1495">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1496">a function to be called on each frame</doc>
            <type name="FrameCallback" c:type="PanelFrameCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="0">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1497">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_can_reveal_area"
              c:identifier="panel_dock_get_can_reveal_area">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1174">Tells if the panel area can be revealed.</doc>
        <source-position filename="src/panel-dock.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="1181">whether it can reveal the area or not. If the is no child
or the child is empty, will return %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1176">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1177">the panel area to check.</doc>
            <type name="Area" c:type="PanelArea"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_can_reveal_bottom"
              c:identifier="panel_dock_get_can_reveal_bottom"
              glib:get-property="can-reveal-bottom">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1198">Tells if the bottom panel area can be revealed.</doc>
        <source-position filename="src/panel-dock.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="1204">whether it can reveal the bottom area or not. If the is no
child or the child is empty, will return %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1200">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_reveal_end"
              c:identifier="panel_dock_get_can_reveal_end"
              glib:get-property="can-reveal-end">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1243">Tells if the end panel area can be revealed.</doc>
        <source-position filename="src/panel-dock.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="1249">whether it can reveal the end area or not. If the is no
child or the child is empty, will return %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1245">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_reveal_start"
              c:identifier="panel_dock_get_can_reveal_start"
              glib:get-property="can-reveal-start">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1228">Tells if the start panel area can be revealed.</doc>
        <source-position filename="src/panel-dock.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="1234">whether it can reveal the start area or not. If the is no
child or the child is empty, will return %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1230">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_reveal_top"
              c:identifier="panel_dock_get_can_reveal_top"
              glib:get-property="can-reveal-top">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1213">Tells if the top panel area can be revealed.</doc>
        <source-position filename="src/panel-dock.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="1219">whether it can reveal the top area or not. If the is no
child or the child is empty, will return %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1215">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_area" c:identifier="panel_dock_get_reveal_area">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="978">Tells if an area if revealed.</doc>
        <source-position filename="src/panel-dock.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="985">The reveal state.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="980">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="981">the #PanelArea to return the reveal status of.</doc>
            <type name="Area" c:type="PanelArea"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_reveal_bottom"
              c:identifier="panel_dock_get_reveal_bottom"
              glib:get-property="reveal-bottom">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="914">Tells if the bottom area is revealed.</doc>
        <source-position filename="src/panel-dock.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="920">The reveal state of the bottom area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="916">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_end"
              c:identifier="panel_dock_get_reveal_end"
              glib:get-property="reveal-end">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="930">Tells if the end area is revealed.</doc>
        <source-position filename="src/panel-dock.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="936">The reveal state of the end area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="932">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_start"
              c:identifier="panel_dock_get_reveal_start"
              glib:get-property="reveal-start">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="946">Tells if the start area is revealed.</doc>
        <source-position filename="src/panel-dock.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="952">The reveal state of the start area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="948">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_top"
              c:identifier="panel_dock_get_reveal_top"
              glib:get-property="reveal-top">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="962">Tells if the top area is revealed.</doc>
        <source-position filename="src/panel-dock.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="968">The reveal state of the top area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="964">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_dock_remove">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1619">Removes a widget from the dock. If @widget is not a #DockChild,
then the closest #DockChild parent is removed.</doc>
        <source-position filename="src/panel-dock.h" line="101"/>
        <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/panel-dock.c"
                 line="1621">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1622">a #GtkWidget to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bottom_height"
              c:identifier="panel_dock_set_bottom_height"
              glib:set-property="bottom-height">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1600">Set the height of the bottom area.</doc>
        <source-position filename="src/panel-dock.h" line="94"/>
        <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/panel-dock.c"
                 line="1602">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1603">the height</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_end_width"
              c:identifier="panel_dock_set_end_width"
              glib:set-property="end-width">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1562">Set the width of the end area.</doc>
        <source-position filename="src/panel-dock.h" line="88"/>
        <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/panel-dock.c"
                 line="1564">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1565">the width</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_area" c:identifier="panel_dock_set_reveal_area">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1089">Sets the reveal status of the area.</doc>
        <source-position filename="src/panel-dock.h" line="50"/>
        <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/panel-dock.c"
                 line="1091">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1092">a #PanelArea. %PANEL_AREA_CENTER is an invalid value.</doc>
            <type name="Area" c:type="PanelArea"/>
          </parameter>
          <parameter name="reveal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1093">reveal the area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_bottom"
              c:identifier="panel_dock_set_reveal_bottom"
              glib:set-property="reveal-bottom">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1009">Sets the reveal status of the bottom area.</doc>
        <source-position filename="src/panel-dock.h" line="71"/>
        <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/panel-dock.c"
                 line="1011">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="reveal_bottom" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1012">reveal the bottom area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_end"
              c:identifier="panel_dock_set_reveal_end"
              glib:set-property="reveal-end">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1029">Sets the reveal status of the end area.</doc>
        <source-position filename="src/panel-dock.h" line="65"/>
        <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/panel-dock.c"
                 line="1031">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="reveal_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1032">reveal the end area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_start"
              c:identifier="panel_dock_set_reveal_start"
              glib:set-property="reveal-start">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1049">Sets the reveal status of the start area.</doc>
        <source-position filename="src/panel-dock.h" line="62"/>
        <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/panel-dock.c"
                 line="1051">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="reveal_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1052">reveal the start area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_top"
              c:identifier="panel_dock_set_reveal_top"
              glib:set-property="reveal-top">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1069">Sets the reveal status of the top area.</doc>
        <source-position filename="src/panel-dock.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1071">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="reveal_top" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1072">reveal the top area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_width"
              c:identifier="panel_dock_set_start_width"
              glib:set-property="start-width">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1543">Set the width of the start area.</doc>
        <source-position filename="src/panel-dock.h" line="85"/>
        <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/panel-dock.c"
                 line="1545">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1546">the width</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_top_height"
              c:identifier="panel_dock_set_top_height"
              glib:set-property="top-height">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="1581">Set the height of the top area.</doc>
        <source-position filename="src/panel-dock.h" line="91"/>
        <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/panel-dock.c"
                 line="1583">a #PanelDock</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="1584">the height</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="bottom-height"
                writable="1"
                transfer-ownership="none"
                setter="set_bottom_height"
                default-value="-1">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="can-reveal-bottom"
                transfer-ownership="none"
                getter="get_can_reveal_bottom"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-reveal-end"
                transfer-ownership="none"
                getter="get_can_reveal_end"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-reveal-start"
                transfer-ownership="none"
                getter="get_can_reveal_start"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-reveal-top"
                transfer-ownership="none"
                getter="get_can_reveal_top"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="end-width"
                writable="1"
                transfer-ownership="none"
                setter="set_end_width"
                default-value="-1">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="reveal-bottom"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_bottom"
                getter="get_reveal_bottom"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-end"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_end"
                getter="get_reveal_end"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-start"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_start"
                getter="get_reveal_start"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-top"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_top"
                getter="get_reveal_top"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="start-width"
                writable="1"
                transfer-ownership="none"
                setter="set_start_width"
                default-value="-1">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="top-height"
                writable="1"
                transfer-ownership="none"
                setter="set_top_height"
                default-value="-1">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="adopt-widget" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="644">Signal is emitted when a widget is requesting to be added via a
drag-n-drop event.

This is generally propagated via #PanelFrame::adopt-widget to the
dock so that applications do not need to attach signal handlers
to every #PanelFrame.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="656">%GDK_EVENT_STOP to prevent dropping, otherwise
  %GDK_EVENT_PROPAGATE to allow adopting the widget.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="647">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="create-frame" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="622">This signal is emitted when a new frame is needed.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-dock.c"
               line="629">a #PanelFrame</doc>
          <type name="Frame"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="625">the position for the frame</doc>
            <type name="Position"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="panel-drag-begin" when="last">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="591">This signal is emitted when dragging of a panel begins.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="594">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="panel-drag-end" when="last">
        <doc xml:space="preserve"
             filename="src/panel-dock.c"
             line="606">This signal is emitted when dragging of a panel either
completes or was cancelled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-dock.c"
                 line="609">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DockClass"
            c:type="PanelDockClass"
            glib:is-gtype-struct-for="Dock">
      <source-position filename="src/panel-dock.h" line="42"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="panel_drag_begin">
        <callback name="panel_drag_begin">
          <source-position filename="src/panel-dock.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Dock" c:type="PanelDock*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="panel_drag_end">
        <callback name="panel_drag_end">
          <source-position filename="src/panel-dock.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Dock" c:type="PanelDock*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DocumentWorkspace"
           c:symbol-prefix="document_workspace"
           c:type="PanelDocumentWorkspace"
           parent="Workspace"
           glib:type-name="PanelDocumentWorkspace"
           glib:get-type="panel_document_workspace_get_type"
           glib:type-struct="DocumentWorkspaceClass">
      <source-position filename="src/panel-document-workspace.h" line="50"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="panel_document_workspace_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="524">Creates a new #PanelDocumentWorkspace.</doc>
        <source-position filename="src/panel-document-workspace.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="529">a #PanelDocumentWorkspace</doc>
          <type name="DocumentWorkspace" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="add_widget" invoker="add_widget" version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="635">Requests the workspace add @widget to the dock at @position.</doc>
        <source-position filename="src/panel-document-workspace.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="643">%TRUE if @widget was added; otherwise %FALSE and @widget
  will have g_object_ref_sink() called and unref'd from an idle
  callback.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="637">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="638">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
          <parameter name="position"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="639">a #PanelPosition or %NULL</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_frame" introspectable="0">
        <source-position filename="src/panel-document-workspace.h" line="42"/>
        <return-value>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_widget"
              c:identifier="panel_document_workspace_add_widget"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="635">Requests the workspace add @widget to the dock at @position.</doc>
        <source-position filename="src/panel-document-workspace.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="643">%TRUE if @widget was added; otherwise %FALSE and @widget
  will have g_object_ref_sink() called and unref'd from an idle
  callback.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="637">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="638">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
          <parameter name="position"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="639">a #PanelPosition or %NULL</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_dock"
              c:identifier="panel_document_workspace_get_dock"
              glib:get-property="dock"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="539">Get the #PanelDock for the workspace.</doc>
        <source-position filename="src/panel-document-workspace.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="545">a #PanelDock</doc>
          <type name="Dock" c:type="PanelDock*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="541">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_grid"
              c:identifier="panel_document_workspace_get_grid"
              glib:get-property="grid"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="559">Get the document grid for the workspace.</doc>
        <source-position filename="src/panel-document-workspace.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="565">a #PanelGrid</doc>
          <type name="Grid" c:type="PanelGrid*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="561">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar"
              c:identifier="panel_document_workspace_get_statusbar"
              glib:get-property="statusbar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="579">Gets the statusbar for the workspace.</doc>
        <source-position filename="src/panel-document-workspace.h" line="59"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="585">a #PanelStatusbar</doc>
          <type name="Statusbar" c:type="PanelStatusbar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="581">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_titlebar"
              c:identifier="panel_document_workspace_get_titlebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="599">Gets the titlebar for the workspace.</doc>
        <source-position filename="src/panel-document-workspace.h" line="61"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="605">a #GtkWidget or %NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="601">a #PanelDocumentWorkspace</doc>
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_titlebar"
              c:identifier="panel_document_workspace_set_titlebar">
        <source-position filename="src/panel-document-workspace.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
          </instance-parameter>
          <parameter name="titlebar" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="dock" transfer-ownership="none" getter="get_dock">
        <type name="Dock"/>
      </property>
      <property name="grid" transfer-ownership="none" getter="get_grid">
        <type name="Grid"/>
      </property>
      <property name="statusbar"
                transfer-ownership="none"
                getter="get_statusbar">
        <type name="Statusbar"/>
      </property>
      <field name="parent_instance">
        <type name="Workspace" c:type="PanelWorkspace"/>
      </field>
      <glib:signal name="add-widget" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="452">This signal is used to add a #PanelWidget to the document workspace,
generally in the document grid.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="461">%TRUE if the widget was added and no more signal handlers
   will be notified.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="455">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="456">a #PanelPosition</doc>
            <type name="Position"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="create-frame" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-document-workspace.c"
             line="481">Creates a new #PanelFrame to be added to the document grid.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-document-workspace.c"
               line="488">a #PanelFrame</doc>
          <type name="Frame"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="484">the position of the frame</doc>
            <type name="Position"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DocumentWorkspaceClass"
            c:type="PanelDocumentWorkspaceClass"
            glib:is-gtype-struct-for="DocumentWorkspace">
      <source-position filename="src/panel-document-workspace.h" line="50"/>
      <field name="parent_class">
        <type name="WorkspaceClass" c:type="PanelWorkspaceClass"/>
      </field>
      <field name="create_frame" introspectable="0">
        <callback name="create_frame" introspectable="0">
          <source-position filename="src/panel-document-workspace.h"
                           line="42"/>
          <return-value>
            <type name="Frame" c:type="PanelFrame*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Position" c:type="PanelPosition*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_widget">
        <callback name="add_widget">
          <source-position filename="src/panel-document-workspace.h"
                           line="44"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-document-workspace.c"
                 line="643">%TRUE if @widget was added; otherwise %FALSE and @widget
  will have g_object_ref_sink() called and unref'd from an idle
  callback.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-document-workspace.c"
                   line="637">a #PanelDocumentWorkspace</doc>
              <type name="DocumentWorkspace" c:type="PanelDocumentWorkspace*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-document-workspace.c"
                   line="638">a #PanelWidget</doc>
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
            <parameter name="position"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/panel-document-workspace.c"
                   line="639">a #PanelPosition or %NULL</doc>
              <type name="Position" c:type="PanelPosition*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="16">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="ENCODE_VERSION"
                    c:identifier="PANEL_ENCODE_VERSION"
                    introspectable="0">
      <source-position filename="src/panel-version.h" line="72"/>
      <parameters>
        <parameter name="major">
        </parameter>
        <parameter name="minor">
        </parameter>
        <parameter name="micro">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Frame"
           c:symbol-prefix="frame"
           c:type="PanelFrame"
           parent="Gtk.Widget"
           glib:type-name="PanelFrame"
           glib:get-type="panel_frame_get_type"
           glib:type-struct="FrameClass">
      <doc xml:space="preserve"
           filename="src/panel-frame.c"
           line="46">The #PanelFrame is a widget containing panels to display in an
area. The widgets are added internally in an [class@Adw.TabView] to
display them one at a time like in a stack.

A #PanelFrame can also have a header widget that will be displayed
above the panels.</doc>
      <source-position filename="src/panel-frame.h" line="45"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="panel_frame_new">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="104">Create a new #PanelFrame.</doc>
        <source-position filename="src/panel-frame.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="108">a newly created #PanelFrame object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="adopt_widget">
        <source-position filename="src/panel-frame.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="page_closed">
        <source-position filename="src/panel-frame.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add" c:identifier="panel_frame_add">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1170">Adds a widget to the frame.</doc>
        <source-position filename="src/panel-frame.h" line="59"/>
        <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/panel-frame.c"
                 line="1172">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1173">a #PanelWidget to add</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_before" c:identifier="panel_frame_add_before">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1086">Add @panel before @sibling in the #PanelFrame.</doc>
        <source-position filename="src/panel-frame.h" line="62"/>
        <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/panel-frame.c"
                 line="1088">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1089">the #PanelWidget to add.</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1090">the sibling #PanelWidget to add the panel before.</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_closeable"
              c:identifier="panel_frame_get_closeable"
              glib:get-property="closeable">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1637">Tells if the panel frame is closeable.</doc>
        <source-position filename="src/panel-frame.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1643">%TRUE if the panel frame is closeable.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1639">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_empty"
              c:identifier="panel_frame_get_empty"
              glib:get-property="empty">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1232">Tells if the panel frame is empty.</doc>
        <source-position filename="src/panel-frame.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1238">%TRUE if the panel is empty.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1234">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_header" c:identifier="panel_frame_get_header">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1327">Gets the header for the frame.</doc>
        <source-position filename="src/panel-frame.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1333">a #PanelFrameHeader or %NULL</doc>
          <type name="FrameHeader" c:type="PanelFrameHeader*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1329">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_pages" c:identifier="panel_frame_get_n_pages">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1451">Gets the number of pages in the panel frame.</doc>
        <source-position filename="src/panel-frame.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1457">The number of pages.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1453">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page" c:identifier="panel_frame_get_page">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1469">Gets the page with the given index, if any.</doc>
        <source-position filename="src/panel-frame.h" line="78"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1476">a #PanelWidget or %NULL</doc>
          <type name="Widget" c:type="PanelWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1471">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="n" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1472">the index of the page</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pages" c:identifier="panel_frame_get_pages">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1393">Get the pages for the frame.</doc>
        <source-position filename="src/panel-frame.h" line="81"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1399">a #GtkSelectionModel</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1395">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_placeholder"
              c:identifier="panel_frame_get_placeholder"
              glib:get-property="placeholder">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1494">Gets the placeholder widget, if any.</doc>
        <source-position filename="src/panel-frame.h" line="85"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1500">a #GtkWidget or %NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1496">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="panel_frame_get_position">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1655">Gets the #PanelPosition for the frame.</doc>
        <source-position filename="src/panel-frame.h" line="90"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1661">a #PanelPosition</doc>
          <type name="Position" c:type="PanelPosition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1657">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_requested_size"
              c:identifier="panel_frame_get_requested_size">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1710">Gets the requested size for the panel frame.</doc>
        <source-position filename="src/panel-frame.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1716">the requested size.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1712">a %PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child"
              c:identifier="panel_frame_get_visible_child"
              glib:get-property="visible-child">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1250">Gets the widget of the currently visible child.</doc>
        <source-position filename="src/panel-frame.h" line="72"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="1256">a #PanelWidget or %NULL</doc>
          <type name="Widget" c:type="PanelWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1252">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_frame_remove">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1184">Removes a widget from the frame.</doc>
        <source-position filename="src/panel-frame.h" line="66"/>
        <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/panel-frame.c"
                 line="1186">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1187">a #PanelWidget to remove.</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_pinned"
              c:identifier="panel_frame_set_child_pinned"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1292">Set pinned state of @child.</doc>
        <source-position filename="src/panel-frame.h" line="74"/>
        <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/panel-frame.c"
                 line="1294">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1295">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
          <parameter name="pinned" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1296">if @widget should be pinned</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_header" c:identifier="panel_frame_set_header">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1346">Sets the header for the frame, such as a #PanelFrameSwitcher.</doc>
        <source-position filename="src/panel-frame.h" line="54"/>
        <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/panel-frame.c"
                 line="1348">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="header"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1349">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_placeholder"
              c:identifier="panel_frame_set_placeholder"
              glib:set-property="placeholder">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1512">Sets the placeholder widget for the frame.

The placeholder widget is displayed when there are no pages
to display in the frame.</doc>
        <source-position filename="src/panel-frame.h" line="87"/>
        <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/panel-frame.c"
                 line="1514">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="placeholder"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1515">a #GtkWidget or %NULL</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_requested_size"
              c:identifier="panel_frame_set_requested_size">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1731">Sets the requested size for the panel frame.</doc>
        <source-position filename="src/panel-frame.h" line="94"/>
        <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/panel-frame.c"
                 line="1733">a %PanelFrame.</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="requested_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1734">the requested size.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child"
              c:identifier="panel_frame_set_visible_child"
              glib:set-property="visible-child">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="1271">Sets the current page to the child specified in @widget.</doc>
        <source-position filename="src/panel-frame.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1273">a #PanelFrame</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="1274">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="closeable"
                transfer-ownership="none"
                getter="get_closeable"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="empty"
                transfer-ownership="none"
                getter="get_empty"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="placeholder"
                writable="1"
                transfer-ownership="none"
                setter="set_placeholder"
                getter="get_placeholder">
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-child"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_child"
                getter="get_visible_child">
        <type name="Widget"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="adopt-widget" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="945">This signal is emitted when the frame should decide if it can adopt
a #PanelWidget dropped on the frame.

If @GDK_EVENT_STOP is returned, then the widget will not be adopted.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame.c"
               line="955">%GDK_EVENT_STOP or %GDK_EVENT_PROPAGATE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="948">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="page-closed" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/panel-frame.c"
             line="970">This signal is emitted when the page widget will be closed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame.c"
                 line="973">a #PanelWidget</doc>
            <type name="Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <callback name="FrameCallback" c:type="PanelFrameCallback">
      <doc xml:space="preserve"
           filename="src/panel-types.h"
           line="69">Callback passed to "foreach frame" functions.</doc>
      <source-position filename="src/panel-types.h" line="76"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="frame" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-types.h"
               line="71">The #PanelFrame calling.</doc>
          <type name="Frame" c:type="PanelFrame*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/panel-types.h"
               line="72">the user data received by the callback.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="FrameClass"
            c:type="PanelFrameClass"
            glib:is-gtype-struct-for="Frame">
      <source-position filename="src/panel-frame.h" line="45"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="page_closed">
        <callback name="page_closed">
          <source-position filename="src/panel-frame.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Frame" c:type="PanelFrame*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="adopt_widget">
        <callback name="adopt_widget">
          <source-position filename="src/panel-frame.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Frame" c:type="PanelFrame*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="6">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <interface name="FrameHeader"
               c:symbol-prefix="frame_header"
               c:type="PanelFrameHeader"
               glib:type-name="PanelFrameHeader"
               glib:get-type="panel_frame_header_get_type"
               glib:type-struct="FrameHeaderInterface">
      <doc xml:space="preserve"
           filename="src/panel-frame-header.c"
           line="27">An interface implemented by the header of a #PanelFrame.</doc>
      <source-position filename="src/panel-frame-header.h" line="50"/>
      <prerequisite name="Gtk.Widget"/>
      <virtual-method name="add_prefix" invoker="add_prefix">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="134">Add a widget into a the prefix area with a priority. The highest
the priority the closest to the start.</doc>
        <source-position filename="src/panel-frame-header.h" line="44"/>
        <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/panel-frame-header.c"
                 line="136">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="137">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="138">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_suffix" invoker="add_suffix">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="154">Add a widget into a the suffix area with a priority. The highest
the priority the closest to the start.</doc>
        <source-position filename="src/panel-frame-header.h" line="47"/>
        <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/panel-frame-header.c"
                 line="156">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="157">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="158">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="can_drop" invoker="can_drop">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="94">Tells if the panel widget can be drop onto the panel frame.</doc>
        <source-position filename="src/panel-frame-header.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-header.c"
               line="101">whether the widget can be dropped.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="96">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="97">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="page_changed" invoker="page_changed">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="116">Notifies the header that the visible page has changed.</doc>
        <source-position filename="src/panel-frame-header.h" line="40"/>
        <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/panel-frame-header.c"
                 line="118">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="119">a #PanelWidget or %NULL if no page is visible</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_prefix" c:identifier="panel_frame_header_add_prefix">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="134">Add a widget into a the prefix area with a priority. The highest
the priority the closest to the start.</doc>
        <source-position filename="src/panel-frame-header.h" line="64"/>
        <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/panel-frame-header.c"
                 line="136">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="137">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="138">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix" c:identifier="panel_frame_header_add_suffix">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="154">Add a widget into a the suffix area with a priority. The highest
the priority the closest to the start.</doc>
        <source-position filename="src/panel-frame-header.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="156">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="157">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="158">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="can_drop" c:identifier="panel_frame_header_can_drop">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="94">Tells if the panel widget can be drop onto the panel frame.</doc>
        <source-position filename="src/panel-frame-header.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-header.c"
               line="101">whether the widget can be dropped.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="96">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="97">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_frame"
              c:identifier="panel_frame_header_get_frame"
              glib:get-property="frame">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="69">Gets the frame the header is attached to.</doc>
        <source-position filename="src/panel-frame-header.h" line="53"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-frame-header.c"
               line="75">a #PanelFrame or %NULL</doc>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="71">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="page_changed"
              c:identifier="panel_frame_header_page_changed">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="116">Notifies the header that the visible page has changed.</doc>
        <source-position filename="src/panel-frame-header.h" line="61"/>
        <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/panel-frame-header.c"
                 line="118">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="119">a #PanelWidget or %NULL if no page is visible</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_frame"
              c:identifier="panel_frame_header_set_frame"
              glib:set-property="frame">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="50">Sets the frame the header is attached to.</doc>
        <source-position filename="src/panel-frame-header.h" line="55"/>
        <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/panel-frame-header.c"
                 line="52">a #PanelFrameHeader</doc>
            <type name="FrameHeader" c:type="PanelFrameHeader*"/>
          </instance-parameter>
          <parameter name="frame"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="53">a #PanelFrame or %NULL</doc>
            <type name="Frame" c:type="PanelFrame*"/>
          </parameter>
        </parameters>
      </method>
      <property name="frame"
                writable="1"
                transfer-ownership="none"
                setter="set_frame"
                getter="get_frame">
        <doc xml:space="preserve"
             filename="src/panel-frame-header.c"
             line="37">The frame the header is attached to, or %NULL.</doc>
        <type name="Frame"/>
      </property>
    </interface>
    <class name="FrameHeaderBar"
           c:symbol-prefix="frame_header_bar"
           c:type="PanelFrameHeaderBar"
           parent="Gtk.Widget"
           glib:type-name="PanelFrameHeaderBar"
           glib:get-type="panel_frame_header_bar_get_type"
           glib:type-struct="FrameHeaderBarClass">
      <doc xml:space="preserve"
           filename="src/panel-frame-header-bar.c"
           line="36">A header bar for #PanelFrame. It can optionally show an icon, it
can have a popover to be displace, and it can also have prefix and
suffix widgets.

It is an implementation of #PanelFrameHeader</doc>
      <source-position filename="src/panel-frame-header-bar.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="FrameHeader"/>
      <constructor name="new" c:identifier="panel_frame_header_bar_new">
        <doc xml:space="preserve"
             filename="src/panel-frame-header-bar.c"
             line="90">Create a new #PanelFrameHeaderBar.</doc>
        <source-position filename="src/panel-frame-header-bar.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-header-bar.c"
               line="95">a newly created #PanelFrameHeaderBar</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_menu_popover"
              c:identifier="panel_frame_header_bar_get_menu_popover">
        <doc xml:space="preserve"
             filename="src/panel-frame-header-bar.c"
             line="578">Gets the menu popover attached to this menubar.</doc>
        <source-position filename="src/panel-frame-header-bar.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-header-bar.c"
               line="584">a #GtkPopoverMenu</doc>
          <type name="Gtk.PopoverMenu" c:type="GtkPopoverMenu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header-bar.c"
                 line="580">a #PanelFrameHeaderBar</doc>
            <type name="FrameHeaderBar" c:type="PanelFrameHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_icon"
              c:identifier="panel_frame_header_bar_get_show_icon"
              glib:get-property="show-icon">
        <doc xml:space="preserve"
             filename="src/panel-frame-header-bar.c"
             line="594">Tell whether it show the icon or not.</doc>
        <source-position filename="src/panel-frame-header-bar.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-header-bar.c"
               line="600">whether to show the icon.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header-bar.c"
                 line="596">a #PanelFrameHeaderBar</doc>
            <type name="FrameHeaderBar" c:type="PanelFrameHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_show_icon"
              c:identifier="panel_frame_header_bar_set_show_icon"
              glib:set-property="show-icon">
        <doc xml:space="preserve"
             filename="src/panel-frame-header-bar.c"
             line="610">Set whether to show the icon or not.</doc>
        <source-position filename="src/panel-frame-header-bar.h" line="41"/>
        <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/panel-frame-header-bar.c"
                 line="612">a #PanelFrameHeaderBar</doc>
            <type name="FrameHeaderBar" c:type="PanelFrameHeaderBar*"/>
          </instance-parameter>
          <parameter name="show_icon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header-bar.c"
                 line="613">whether to show the icon</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="show-icon"
                writable="1"
                transfer-ownership="none"
                setter="set_show_icon"
                getter="get_show_icon"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-frame-header-bar.c"
             line="389">Whether to show the icon or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="FrameHeaderBarClass"
            c:type="PanelFrameHeaderBarClass"
            glib:is-gtype-struct-for="FrameHeaderBar">
      <source-position filename="src/panel-frame-header-bar.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <record name="FrameHeaderInterface"
            c:type="PanelFrameHeaderInterface"
            glib:is-gtype-struct-for="FrameHeader">
      <source-position filename="src/panel-frame-header.h" line="50"/>
      <field name="parent_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="page_changed">
        <callback name="page_changed">
          <source-position filename="src/panel-frame-header.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="118">a #PanelFrameHeader</doc>
              <type name="FrameHeader" c:type="PanelFrameHeader*"/>
            </parameter>
            <parameter name="widget"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="119">a #PanelWidget or %NULL if no page is visible</doc>
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_drop">
        <callback name="can_drop">
          <source-position filename="src/panel-frame-header.h" line="42"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-header.c"
                 line="101">whether the widget can be dropped.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="96">a #PanelFrameHeader</doc>
              <type name="FrameHeader" c:type="PanelFrameHeader*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="97">a #PanelWidget</doc>
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_prefix">
        <callback name="add_prefix">
          <source-position filename="src/panel-frame-header.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="136">a #PanelFrameHeader</doc>
              <type name="FrameHeader" c:type="PanelFrameHeader*"/>
            </parameter>
            <parameter name="priority" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="137">the priority</doc>
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="138">a #GtkWidget</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_suffix">
        <callback name="add_suffix">
          <source-position filename="src/panel-frame-header.h" line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="156">a #PanelFrameHeader</doc>
              <type name="FrameHeader" c:type="PanelFrameHeader*"/>
            </parameter>
            <parameter name="priority" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="157">the priority</doc>
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-frame-header.c"
                   line="158">a #GtkWidget</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="FrameSwitcher"
           c:symbol-prefix="frame_switcher"
           c:type="PanelFrameSwitcher"
           parent="Gtk.Widget"
           glib:type-name="PanelFrameSwitcher"
           glib:get-type="panel_frame_switcher_get_type"
           glib:type-struct="FrameSwitcherClass">
      <doc xml:space="preserve"
           filename="src/panel-frame-switcher.c"
           line="29">A #PanelFrameSwitcher is a #PanelFrameHeader that shows a row of
buttons to switch between #GtkStack pages, not disimilar to a
#GtkStackSwitcher.</doc>
      <source-position filename="src/panel-frame-switcher.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <implements name="FrameHeader"/>
      <constructor name="new" c:identifier="panel_frame_switcher_new">
        <doc xml:space="preserve"
             filename="src/panel-frame-switcher.c"
             line="900">Create a new `PanelFrameSwitcher`.</doc>
        <source-position filename="src/panel-frame-switcher.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-switcher.c"
               line="905">a new `PanelFrameSwitcher`.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
    </class>
    <record name="FrameSwitcherClass"
            c:type="PanelFrameSwitcherClass"
            glib:is-gtype-struct-for="FrameSwitcher">
      <source-position filename="src/panel-frame-switcher.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="FrameTabBar"
           c:symbol-prefix="frame_tab_bar"
           c:type="PanelFrameTabBar"
           parent="Gtk.Widget"
           glib:type-name="PanelFrameTabBar"
           glib:get-type="panel_frame_tab_bar_get_type"
           glib:type-struct="FrameTabBarClass">
      <doc xml:space="preserve"
           filename="src/panel-frame-tab-bar.c"
           line="31">A #PanelFrameHeader that implements switching between tab views in
a #PanelFrame.</doc>
      <source-position filename="src/panel-frame-tab-bar.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="FrameHeader"/>
      <constructor name="new" c:identifier="panel_frame_tab_bar_new">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="67">Create a new #PanelFrameTabBar.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-tab-bar.c"
               line="72">a newly created #PanelFrameTabBar</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_autohide"
              c:identifier="panel_frame_tab_bar_get_autohide"
              glib:get-property="autohide">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="436">Gets whether the tabs automatically hide.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-tab-bar.c"
               line="442">the value of the autohide property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="438">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_expand_tabs"
              c:identifier="panel_frame_tab_bar_get_expand_tabs"
              glib:get-property="expand-tabs">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="452">Gets whether tabs expand to full width.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-tab-bar.c"
               line="458">the value of the expand_tabs property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="454">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inverted"
              c:identifier="panel_frame_tab_bar_get_inverted"
              glib:get-property="inverted">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="468">Gets whether tabs use inverted layout.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-frame-tab-bar.c"
               line="474">the value of the inverted property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="470">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_autohide"
              c:identifier="panel_frame_tab_bar_set_autohide"
              glib:set-property="autohide">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="444">Sets whether the tabs automatically hide.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="39"/>
        <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/panel-frame-tab-bar.c"
                 line="446">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
          <parameter name="autohide" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="447">the autohide value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_expand_tabs"
              c:identifier="panel_frame_tab_bar_set_expand_tabs"
              glib:set-property="expand-tabs">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="460">Sets whether tabs expand to full width.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="49"/>
        <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/panel-frame-tab-bar.c"
                 line="462">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
          <parameter name="expand_tabs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="463">the expand_tabs value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_inverted"
              c:identifier="panel_frame_tab_bar_set_inverted"
              glib:set-property="inverted">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="476">Sets whether tabs tabs use inverted layout.</doc>
        <source-position filename="src/panel-frame-tab-bar.h" line="44"/>
        <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/panel-frame-tab-bar.c"
                 line="478">a #PanelFrameTabBar</doc>
            <type name="FrameTabBar" c:type="PanelFrameTabBar*"/>
          </instance-parameter>
          <parameter name="inverted" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-frame-tab-bar.c"
                 line="479">the inverted value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="autohide"
                writable="1"
                transfer-ownership="none"
                setter="set_autohide"
                getter="get_autohide"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="211">Whether the tabs automatically hide.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="expand-tabs"
                writable="1"
                transfer-ownership="none"
                setter="set_expand_tabs"
                getter="get_expand_tabs"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="217">Whether tabs expand to full width.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="inverted"
                writable="1"
                transfer-ownership="none"
                setter="set_inverted"
                getter="get_inverted"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-frame-tab-bar.c"
             line="223">Whether tabs use inverted layout.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="FrameTabBarClass"
            c:type="PanelFrameTabBarClass"
            glib:is-gtype-struct-for="FrameTabBar">
      <source-position filename="src/panel-frame-tab-bar.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="GSettingsActionGroup"
           c:symbol-prefix="gsettings_action_group"
           c:type="PanelGSettingsActionGroup"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelGSettingsActionGroup"
           glib:get-type="panel_gsettings_action_group_get_type"
           glib:type-struct="GSettingsActionGroupClass">
      <source-position filename="src/panel-gsettings-action-group.h"
                       line="33"/>
      <implements name="Gio.ActionGroup"/>
      <function name="new" c:identifier="panel_gsettings_action_group_new">
        <doc xml:space="preserve"
             filename="src/panel-gsettings-action-group.c"
             line="46">Creates a new #GActionGroup that exports @settings.</doc>
        <source-position filename="src/panel-gsettings-action-group.h"
                         line="36"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-gsettings-action-group.c"
               line="52">an #PanelGSettingsActionGroup</doc>
          <type name="Gio.ActionGroup" c:type="GActionGroup*"/>
        </return-value>
        <parameters>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-gsettings-action-group.c"
                 line="48">a #GSettings</doc>
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
        </parameters>
      </function>
      <property name="settings"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Settings"/>
      </property>
    </class>
    <record name="GSettingsActionGroupClass"
            c:type="PanelGSettingsActionGroupClass"
            glib:is-gtype-struct-for="GSettingsActionGroup">
      <source-position filename="src/panel-gsettings-action-group.h"
                       line="33"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Grid"
           c:symbol-prefix="grid"
           c:type="PanelGrid"
           parent="Gtk.Widget"
           glib:type-name="PanelGrid"
           glib:get-type="panel_grid_get_type"
           glib:type-struct="GridClass">
      <doc xml:space="preserve"
           filename="src/panel-grid.c"
           line="36">The #PanelGrid is a widget used to layout the dock item in the
center area.</doc>
      <source-position filename="src/panel-grid.h" line="42"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_grid_new">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="61">Creates a new #PanelGrid.</doc>
        <source-position filename="src/panel-grid.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="66">a newly created #PanelGrid</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="create_frame" introspectable="0">
        <source-position filename="src/panel-grid.h" line="38"/>
        <return-value>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add" c:identifier="panel_grid_add">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="348">Add a #PanelWidget to the grid.</doc>
        <source-position filename="src/panel-grid.h" line="55"/>
        <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/panel-grid.c"
                 line="350">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="351">a #PanelWidget the widget to add.</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="agree_to_close_async"
              c:identifier="panel_grid_agree_to_close_async">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="745">Request to close, asynchronously. This will display the save dialog.</doc>
        <source-position filename="src/panel-grid.h" line="66"/>
        <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/panel-grid.c"
                 line="747">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="749">callback called when ready</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="750">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="agree_to_close_finish"
              c:identifier="panel_grid_agree_to_close_finish"
              throws="1">
        <source-position filename="src/panel-grid.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="781">#PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_frame" c:identifier="panel_grid_foreach_frame">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="798">Calls @callback for each #PanelFrame within @grid.</doc>
        <source-position filename="src/panel-grid.h" line="51"/>
        <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/panel-grid.c"
                 line="800">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="801">a #PanelFrameCallback</doc>
            <type name="FrameCallback" c:type="PanelFrameCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="802">closure data for @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_column" c:identifier="panel_grid_get_column">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="469">Gets the #PanelGridColumn for a column index.</doc>
        <source-position filename="src/panel-grid.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="476">a #PanelGridColumn</doc>
          <type name="GridColumn" c:type="PanelGridColumn*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="471">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="472">a column index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_most_recent_column"
              c:identifier="panel_grid_get_most_recent_column">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="268">Gets the most recently acive column on a grid.</doc>
        <source-position filename="src/panel-grid.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="274">a #PanelGridColumn</doc>
          <type name="GridColumn" c:type="PanelGridColumn*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="270">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_most_recent_frame"
              c:identifier="panel_grid_get_most_recent_frame">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="303">Gets the most recently acive frame on a grid.</doc>
        <source-position filename="src/panel-grid.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="309">a #PanelGridFrame</doc>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="305">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_columns" c:identifier="panel_grid_get_n_columns">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="579">Gets the number of columns in the grid.</doc>
        <source-position filename="src/panel-grid.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="585">The number of columns.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="581">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_column" c:identifier="panel_grid_insert_column">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="565">Inserts a column at @position.</doc>
        <source-position filename="src/panel-grid.h" line="63"/>
        <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/panel-grid.c"
                 line="567">a #PanelGrid</doc>
            <type name="Grid" c:type="PanelGrid*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid.c"
                 line="568">The position to insert the column at.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="create-frame" when="last">
        <doc xml:space="preserve"
             filename="src/panel-grid.c"
             line="231">The "create-frame" signal is used to create a new frame within
the grid.

Consumers of this signal are required to return an unrooted
#PanelFrame from this signal. The first signal handler wins.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-grid.c"
               line="241">an unrooted #PanelFrame</doc>
          <type name="Frame"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="GridClass"
            c:type="PanelGridClass"
            glib:is-gtype-struct-for="Grid">
      <source-position filename="src/panel-grid.h" line="42"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="create_frame" introspectable="0">
        <callback name="create_frame" introspectable="0">
          <source-position filename="src/panel-grid.h" line="38"/>
          <return-value>
            <type name="Frame" c:type="PanelFrame*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Grid" c:type="PanelGrid*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="GridColumn"
           c:symbol-prefix="grid_column"
           c:type="PanelGridColumn"
           parent="Gtk.Widget"
           glib:type-name="PanelGridColumn"
           glib:get-type="panel_grid_column_get_type"
           glib:type-struct="GridColumnClass">
      <source-position filename="src/panel-grid-column.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_grid_column_new">
        <source-position filename="src/panel-grid-column.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="foreach_frame"
              c:identifier="panel_grid_column_foreach_frame">
        <doc xml:space="preserve"
             filename="src/panel-grid-column.c"
             line="141">Invokes a callback for each frame in the grid column.</doc>
        <source-position filename="src/panel-grid-column.h" line="46"/>
        <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/panel-grid-column.c"
                 line="143">a #PanelGridColumn</doc>
            <type name="GridColumn" c:type="PanelGridColumn*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/panel-grid-column.c"
                 line="144">a function to be called on each frame</doc>
            <type name="FrameCallback" c:type="PanelFrameCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="0">
            <doc xml:space="preserve"
                 filename="src/panel-grid-column.c"
                 line="145">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_empty" c:identifier="panel_grid_column_get_empty">
        <source-position filename="src/panel-grid-column.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="GridColumn" c:type="PanelGridColumn*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_most_recent_frame"
              c:identifier="panel_grid_column_get_most_recent_frame">
        <doc xml:space="preserve"
             filename="src/panel-grid-column.c"
             line="83">Gets the most recently acive frame on a grid column.</doc>
        <source-position filename="src/panel-grid-column.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid-column.c"
               line="89">a #PanelGridFrame</doc>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid-column.c"
                 line="85">a #PanelGridColumn</doc>
            <type name="GridColumn" c:type="PanelGridColumn*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_rows" c:identifier="panel_grid_column_get_n_rows">
        <source-position filename="src/panel-grid-column.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="GridColumn" c:type="PanelGridColumn*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row" c:identifier="panel_grid_column_get_row">
        <doc xml:space="preserve"
             filename="src/panel-grid-column.c"
             line="101">Gets the frame corresponding to a row index.</doc>
        <source-position filename="src/panel-grid-column.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-grid-column.c"
               line="108">a #PanelGridFrame</doc>
          <type name="Frame" c:type="PanelFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid-column.c"
                 line="103">a #PanelGridColumn</doc>
            <type name="GridColumn" c:type="PanelGridColumn*"/>
          </instance-parameter>
          <parameter name="row" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-grid-column.c"
                 line="104">the index of the row</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="GridColumnClass"
            c:type="PanelGridColumnClass"
            glib:is-gtype-struct-for="GridColumn">
      <source-position filename="src/panel-grid-column.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Inhibitor"
           c:symbol-prefix="inhibitor"
           c:type="PanelInhibitor"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelInhibitor"
           glib:get-type="panel_inhibitor_get_type"
           glib:type-struct="InhibitorClass">
      <source-position filename="src/panel-inhibitor.h" line="32"/>
      <method name="uninhibit" c:identifier="panel_inhibitor_uninhibit">
        <source-position filename="src/panel-inhibitor.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Inhibitor" c:type="PanelInhibitor*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="InhibitorClass"
            c:type="PanelInhibitorClass"
            glib:is-gtype-struct-for="Inhibitor">
      <source-position filename="src/panel-inhibitor.h" line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="LayeredSettings"
           c:symbol-prefix="layered_settings"
           c:type="PanelLayeredSettings"
           parent="GObject.Object"
           glib:type-name="PanelLayeredSettings"
           glib:get-type="panel_layered_settings_get_type"
           glib:type-struct="LayeredSettingsClass">
      <source-position filename="src/panel-layered-settings.h" line="32"/>
      <constructor name="new" c:identifier="panel_layered_settings_new">
        <source-position filename="src/panel-layered-settings.h" line="35"/>
        <return-value transfer-ownership="full">
          <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
        </return-value>
        <parameters>
          <parameter name="schema_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append" c:identifier="panel_layered_settings_append">
        <source-position filename="src/panel-layered-settings.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind" c:identifier="panel_layered_settings_bind">
        <source-position filename="src/panel-layered-settings.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="Gio.SettingsBindFlags" c:type="GSettingsBindFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_with_mapping"
              c:identifier="panel_layered_settings_bind_with_mapping">
        <doc xml:space="preserve"
             filename="src/panel-layered-settings.c"
             line="486">Creates a new binding similar to g_settings_bind_with_mapping() but applying
from the resolved value via the layered settings.</doc>
        <source-position filename="src/panel-layered-settings.h" line="100"/>
        <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/panel-layered-settings.c"
                 line="488">An #PanelLayeredSettings.</doc>
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="489">the settings key to bind.
@object (type GObject.Object): the target object.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="491">the property on @object to apply.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="492">flags for the binding.</doc>
            <type name="Gio.SettingsBindFlags" c:type="GSettingsBindFlags"/>
          </parameter>
          <parameter name="get_mapping"
                     transfer-ownership="none"
                     scope="notified"
                     closure="6"
                     destroy="7">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="493">the get mapping function</doc>
            <type name="Gio.SettingsBindGetMapping"
                  c:type="GSettingsBindGetMapping"/>
          </parameter>
          <parameter name="set_mapping"
                     transfer-ownership="none"
                     scope="notified"
                     closure="6"
                     destroy="7">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="494">the set mapping function</doc>
            <type name="Gio.SettingsBindSetMapping"
                  c:type="GSettingsBindSetMapping"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="495">user data for @get_mapping and @set_mapping.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="496">destroy notify for @user_data.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_boolean"
              c:identifier="panel_layered_settings_get_boolean">
        <source-position filename="src/panel-layered-settings.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_value"
              c:identifier="panel_layered_settings_get_default_value">
        <source-position filename="src/panel-layered-settings.h" line="43"/>
        <return-value transfer-ownership="full">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double"
              c:identifier="panel_layered_settings_get_double">
        <source-position filename="src/panel-layered-settings.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int" c:identifier="panel_layered_settings_get_int">
        <source-position filename="src/panel-layered-settings.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key" c:identifier="panel_layered_settings_get_key">
        <doc xml:space="preserve"
             filename="src/panel-layered-settings.c"
             line="561">Gets the #GSettingsSchemaKey denoted by @key.

It is a programming error to call this with a key that does not exist.</doc>
        <source-position filename="src/panel-layered-settings.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-layered-settings.c"
               line="570">a #GSettingsSchemaKey</doc>
          <type name="Gio.SettingsSchemaKey" c:type="GSettingsSchemaKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="563">a #PanelLayeredSettings</doc>
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="564">the name of the setting</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string"
              c:identifier="panel_layered_settings_get_string">
        <source-position filename="src/panel-layered-settings.h" line="65"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uint" c:identifier="panel_layered_settings_get_uint">
        <source-position filename="src/panel-layered-settings.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_value"
              c:identifier="panel_layered_settings_get_user_value">
        <source-position filename="src/panel-layered-settings.h" line="46"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-layered-settings.c"
               line="297">the user's value, if set</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="294">a #PanelLayeredSettings</doc>
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="295">the key to get the user value for</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="panel_layered_settings_get_value">
        <doc xml:space="preserve"
             filename="src/panel-layered-settings.c"
             line="319">Gets the value of @key from the first layer that is modified.</doc>
        <source-position filename="src/panel-layered-settings.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-layered-settings.c"
               line="325">a #GVariant</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="321">a #PanelLayeredSettings</doc>
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_keys" c:identifier="panel_layered_settings_list_keys">
        <doc xml:space="preserve"
             filename="src/panel-layered-settings.c"
             line="595">Lists the available keys.</doc>
        <source-position filename="src/panel-layered-settings.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-layered-settings.c"
               line="601">
  an array of keys that can be retrieved from the #PanelLayeredSettings.</doc>
          <array c:type="char**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-layered-settings.c"
                 line="597">a #PanelLayeredSettings</doc>
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_boolean"
              c:identifier="panel_layered_settings_set_boolean">
        <source-position filename="src/panel-layered-settings.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double"
              c:identifier="panel_layered_settings_set_double">
        <source-position filename="src/panel-layered-settings.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="panel_layered_settings_set_int">
        <source-position filename="src/panel-layered-settings.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string"
              c:identifier="panel_layered_settings_set_string">
        <source-position filename="src/panel-layered-settings.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uint" c:identifier="panel_layered_settings_set_uint">
        <source-position filename="src/panel-layered-settings.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="panel_layered_settings_set_value">
        <source-position filename="src/panel-layered-settings.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unbind" c:identifier="panel_layered_settings_unbind">
        <source-position filename="src/panel-layered-settings.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="LayeredSettings" c:type="PanelLayeredSettings*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="schema-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="changed" when="last" detailed="1">
        <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>
    </class>
    <record name="LayeredSettingsClass"
            c:type="PanelLayeredSettingsClass"
            glib:is-gtype-struct-for="LayeredSettings">
      <source-position filename="src/panel-layered-settings.h" line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <constant name="MAJOR_VERSION" value="1" c:type="PANEL_MAJOR_VERSION">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="36">libpanel major version component (e.g. 1 if %PANEL_VERSION is 1.2.3)</doc>
      <source-position filename="src/panel-version.h" line="41"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="0" c:type="PANEL_MICRO_VERSION">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="50">libpanel micro version component (e.g. 3 if %PANEL_VERSION is 1.2.3)</doc>
      <source-position filename="src/panel-version.h" line="55"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="4" c:type="PANEL_MINOR_VERSION">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="43">libpanel minor version component (e.g. 2 if %PANEL_VERSION is 1.2.3)</doc>
      <source-position filename="src/panel-version.h" line="48"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="MenuManager"
           c:symbol-prefix="menu_manager"
           c:type="PanelMenuManager"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelMenuManager"
           glib:get-type="panel_menu_manager_get_type"
           glib:type-struct="MenuManagerClass">
      <doc xml:space="preserve"
           filename="src/panel-menu-manager.c"
           line="42">The goal of #PanelMenuManager is to simplify the process of merging multiple
GtkBuilder .ui files containing menus into a single representation of the
application menus. Additionally, it provides the ability to "unmerge"
previously merged menus.

This allows for an application to have plugins which seemlessly extends
the core application menus.

Implementation notes:

To make this work, we don't use the GMenu instances created by a GtkBuilder
instance. Instead, we create the menus ourself and recreate section and
submenu links. This allows the #PanelMenuManager to be in full control of
the generated menus.

panel_menu_manager_get_menu_by_id() will always return a #GMenu, however
that menu may contain no children until something has extended it later
on during the application process.</doc>
      <source-position filename="src/panel-menu-manager.h" line="36"/>
      <constructor name="new" c:identifier="panel_menu_manager_new">
        <source-position filename="src/panel-menu-manager.h" line="39"/>
        <return-value transfer-ownership="full">
          <type name="MenuManager" c:type="PanelMenuManager*"/>
        </return-value>
      </constructor>
      <method name="add_filename"
              c:identifier="panel_menu_manager_add_filename"
              throws="1">
        <source-position filename="src/panel-menu-manager.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_resource"
              c:identifier="panel_menu_manager_add_resource"
              version="1.4"
              throws="1">
        <source-position filename="src/panel-menu-manager.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-menu-manager.c"
               line="706">the merge id</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="704">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="resource" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_item_by_id"
              c:identifier="panel_menu_manager_find_item_by_id"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-menu-manager.c"
             line="803">Locates a menu item that matches @id and sets the position within
the resulting #GMenu to @position.

If no match is found, %NULL is returned.</doc>
        <source-position filename="src/panel-menu-manager.h" line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-menu-manager.c"
               line="814">a #GMenu if successful; otherwise
  %NULL and @position is unset.</doc>
          <type name="Gio.Menu" c:type="GMenu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="805">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="806">the identifier of the menu item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="position"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="807">the position within the resulting menu</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_menu_by_id"
              c:identifier="panel_menu_manager_get_menu_by_id"
              version="1.4">
        <source-position filename="src/panel-menu-manager.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-menu-manager.c"
               line="677">A #GMenu.</doc>
          <type name="Gio.Menu" c:type="GMenu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="menu_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_menu_ids"
              c:identifier="panel_menu_manager_get_menu_ids"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-menu-manager.c"
             line="739">Gets the known menu ids as a string array.</doc>
        <source-position filename="src/panel-menu-manager.h" line="59"/>
        <return-value transfer-ownership="none">
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="741">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="merge"
              c:identifier="panel_menu_manager_merge"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-menu-manager.c"
             line="584">Note that @menu_model is not retained, a copy of it is made.</doc>
        <source-position filename="src/panel-menu-manager.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-menu-manager.c"
               line="592">the merge-id which can be used with panel_menu_manager_remove()</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="586">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="menu_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="587">the identifier of the menu</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="menu_model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="588">the menu model to merge</doc>
            <type name="Gio.MenuModel" c:type="GMenuModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="panel_menu_manager_remove"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-menu-manager.c"
             line="623">This removes items from menus that were added as part of a previous
menu merge. Use the value returned from panel_menu_manager_merge() as
the @merge_id.</doc>
        <source-position filename="src/panel-menu-manager.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/panel-menu-manager.c"
                 line="625">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="merge_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="626">A previously registered merge id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_attribute_string"
              c:identifier="panel_menu_manager_set_attribute_string"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-menu-manager.c"
             line="762">Overwrites an attribute for a menu that was created by
#PanelMenuManager.

This can be useful when you want to update an attribute such as
"accel" when an accelerator has changed due to user mappings.</doc>
        <source-position filename="src/panel-menu-manager.h" line="61"/>
        <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/panel-menu-manager.c"
                 line="764">a #PanelMenuManager</doc>
            <type name="MenuManager" c:type="PanelMenuManager*"/>
          </instance-parameter>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="765">the menu that was retreived with panel_menu_manager_get_menu_by_id()</doc>
            <type name="Gio.Menu" c:type="GMenu*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="766">the index of the item in the menu</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="attribute" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="767">the attribute to change</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-menu-manager.c"
                 line="768">the new value for the attribute</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="MenuManagerClass"
            c:type="PanelMenuManagerClass"
            glib:is-gtype-struct-for="MenuManager">
      <source-position filename="src/panel-menu-manager.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="OmniBar"
           c:symbol-prefix="omni_bar"
           c:type="PanelOmniBar"
           parent="Gtk.Widget"
           glib:type-name="PanelOmniBar"
           glib:get-type="panel_omni_bar_get_type"
           glib:type-struct="OmniBarClass">
      <doc xml:space="preserve"
           filename="src/panel-omni-bar.c"
           line="25">A multi-use widget for user interaction in the window header bar.
You can add widgets, a popover to provide action items, an icon,
updates on progress and pulse the main widget.

There is also a prefix and suffix area that can contain more
widgets.

&lt;picture&gt;
  &lt;source srcset="omni-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="omni-bar.png" alt="omni-bar"&gt;
&lt;/picture&gt;</doc>
      <source-position filename="src/panel-omni-bar.h" line="40"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_omni_bar_new">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="127">Create a new #PanelOmniBar.</doc>
        <source-position filename="src/panel-omni-bar.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-omni-bar.c"
               line="132">a newly created #PanelOmniBar</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_prefix" c:identifier="panel_omni_bar_add_prefix">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="421">Add a widget at the start of the container, ordered by priority.
The highest the priority, the closest to the start.</doc>
        <source-position filename="src/panel-omni-bar.h" line="50"/>
        <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/panel-omni-bar.c"
                 line="423">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="424">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="425">the widget to add at the start.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix" c:identifier="panel_omni_bar_add_suffix">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="455">Add a widget towards the end of the container, ordered by priority.
The highest the priority, the closest to the start.</doc>
        <source-position filename="src/panel-omni-bar.h" line="54"/>
        <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/panel-omni-bar.c"
                 line="457">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="458">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="459">the widget to add toward the end.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_popover"
              c:identifier="panel_omni_bar_get_popover"
              glib:get-property="popover">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="79">Gets the current popover or %NULL if none is setup.</doc>
        <source-position filename="src/panel-omni-bar.h" line="45"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-omni-bar.c"
               line="85">a #GtkPopover or %NULL</doc>
          <type name="Gtk.Popover" c:type="GtkPopover*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="81">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress"
              c:identifier="panel_omni_bar_get_progress"
              glib:get-property="progress">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="597">Gets the progress value displayed in the omni bar.</doc>
        <source-position filename="src/panel-omni-bar.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-omni-bar.c"
               line="603">the progress value.</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="599">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_omni_bar_remove">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="489">Removes a widget from the omni bar. Currently only prefix or suffix
widgets are supported.</doc>
        <source-position filename="src/panel-omni-bar.h" line="58"/>
        <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/panel-omni-bar.c"
                 line="491">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="492">The widget to remove.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_popover"
              c:identifier="panel_omni_bar_set_popover"
              glib:set-property="popover">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="97">Sets the omnibar popover, that will appear when clicking on the omni bar.</doc>
        <source-position filename="src/panel-omni-bar.h" line="47"/>
        <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/panel-omni-bar.c"
                 line="99">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
          <parameter name="popover"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="100">a #GtkPopover or %NULL</doc>
            <type name="Gtk.Popover" c:type="GtkPopover*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress"
              c:identifier="panel_omni_bar_set_progress"
              glib:set-property="progress">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="615">Sets the progress value displayed in the omni bar.</doc>
        <source-position filename="src/panel-omni-bar.h" line="67"/>
        <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/panel-omni-bar.c"
                 line="617">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-omni-bar.c"
                 line="618">the progress value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_pulsing" c:identifier="panel_omni_bar_start_pulsing">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="695">Starts pulsing the omni bar. Use
@panel_omni_bar_stop_pulsing to stop.</doc>
        <source-position filename="src/panel-omni-bar.h" line="61"/>
        <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/panel-omni-bar.c"
                 line="697">a #PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="stop_pulsing" c:identifier="panel_omni_bar_stop_pulsing">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="713">Stops pulsing the omni bar, that was started with
@panel_omni_bar_start_pulsing.</doc>
        <source-position filename="src/panel-omni-bar.h" line="63"/>
        <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/panel-omni-bar.c"
                 line="715">#PanelOmniBar</doc>
            <type name="OmniBar" c:type="PanelOmniBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="action-tooltip"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="294">The tooltip for the action.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="303">The name of the icon to use.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="menu-model" writable="1" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="315">The menu model of the omni bar menu.</doc>
        <type name="Gio.MenuModel"/>
      </property>
      <property name="popover"
                writable="1"
                transfer-ownership="none"
                setter="set_popover"
                getter="get_popover">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="327">The popover to show.</doc>
        <type name="Gtk.Popover"/>
      </property>
      <property name="progress"
                writable="1"
                transfer-ownership="none"
                setter="set_progress"
                getter="get_progress"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/panel-omni-bar.c"
             line="339">The current progress value.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
    </class>
    <record name="OmniBarClass"
            c:type="PanelOmniBarClass"
            glib:is-gtype-struct-for="OmniBar">
      <source-position filename="src/panel-omni-bar.h" line="40"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Paned"
           c:symbol-prefix="paned"
           c:type="PanelPaned"
           parent="Gtk.Widget"
           glib:type-name="PanelPaned"
           glib:get-type="panel_paned_get_type"
           glib:type-struct="PanedClass">
      <doc xml:space="preserve"
           filename="src/panel-paned.c"
           line="30">A #PanelPaned is the concrete widget for a panel area.</doc>
      <source-position filename="src/panel-paned.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="panel_paned_new">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="54">Create a new #PanelPaned.</doc>
        <source-position filename="src/panel-paned.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-paned.c"
               line="59">a newly created #PanelPaned</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="append" c:identifier="panel_paned_append">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="524">Append a widget in the paned.</doc>
        <source-position filename="src/panel-paned.h" line="37"/>
        <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/panel-paned.c"
                 line="526">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="527">a #GtkWidget to append.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_children" c:identifier="panel_paned_get_n_children">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="592">Gets the number of children in the paned.</doc>
        <source-position filename="src/panel-paned.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-paned.c"
               line="598">the number of children.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="594">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nth_child" c:identifier="panel_paned_get_nth_child">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="613">Gets the child at position @nth.</doc>
        <source-position filename="src/panel-paned.h" line="56"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-paned.c"
               line="620">a #GtkWidget or %NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="615">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="nth" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="616">the child position</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert" c:identifier="panel_paned_insert">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="477">Inserts a widget at position in the paned.</doc>
        <source-position filename="src/panel-paned.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/panel-paned.c"
                 line="479">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="480">the position</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="481">a #GtkWidget to insert.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_after" c:identifier="panel_paned_insert_after">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="552">Inserts a widget afer @sibling in the paned.</doc>
        <source-position filename="src/panel-paned.h" line="47"/>
        <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/panel-paned.c"
                 line="554">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="555">a #GtkWidget to insert.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="556">the widget after which to insert.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="panel_paned_prepend">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="538">Prepends a widget in the paned.</doc>
        <source-position filename="src/panel-paned.h" line="40"/>
        <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/panel-paned.c"
                 line="540">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="541">a #GtkWidget to prepend.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_paned_remove">
        <doc xml:space="preserve"
             filename="src/panel-paned.c"
             line="441">Removes a widget from the paned.</doc>
        <source-position filename="src/panel-paned.h" line="51"/>
        <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/panel-paned.c"
                 line="443">a #PanelPaned</doc>
            <type name="Paned" c:type="PanelPaned*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-paned.c"
                 line="444">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="PanedClass"
            c:type="PanelPanedClass"
            glib:is-gtype-struct-for="Paned">
      <source-position filename="src/panel-paned.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Position"
           c:symbol-prefix="position"
           c:type="PanelPosition"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelPosition"
           glib:get-type="panel_position_get_type"
           glib:type-struct="PositionClass">
      <doc xml:space="preserve"
           filename="src/panel-position.c"
           line="27">Specifies a position in the dock. You receive a #PanelPosition in the
handler to [signal@PanelDock::create-frame].</doc>
      <source-position filename="src/panel-position.h" line="31"/>
      <constructor name="new" c:identifier="panel_position_new">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="237">Create a position.</doc>
        <source-position filename="src/panel-position.h" line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="242">a newly created instance of #PanelPosition.</doc>
          <type name="Position" c:type="PanelPosition*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_variant"
                   c:identifier="panel_position_new_from_variant">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="517">Create a #PanelPosition from a #GVariant.</doc>
        <source-position filename="src/panel-position.h" line="36"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="523">A newly created #PanelPosition
  from the #GVariant.</doc>
          <type name="Position" c:type="PanelPosition*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="519">a #GVariant</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="equal" c:identifier="panel_position_equal">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="560">Compares two #PanelPosition.</doc>
        <source-position filename="src/panel-position.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="567">whether the two pane positions are equal.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="562">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="563">another #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_area"
              c:identifier="panel_position_get_area"
              glib:get-property="area">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="271">Gets the area.</doc>
        <source-position filename="src/panel-position.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="277">the area.</doc>
          <type name="Area" c:type="PanelArea"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="273">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_area_set"
              c:identifier="panel_position_get_area_set"
              glib:get-property="area-set">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="304">Gets wether the area is set.</doc>
        <source-position filename="src/panel-position.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="310">the wether the area is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="306">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_column"
              c:identifier="panel_position_get_column"
              glib:get-property="column">
        <source-position filename="src/panel-position.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_column_set"
              c:identifier="panel_position_get_column_set"
              glib:get-property="column-set">
        <source-position filename="src/panel-position.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_depth"
              c:identifier="panel_position_get_depth"
              glib:get-property="depth">
        <source-position filename="src/panel-position.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_depth_set"
              c:identifier="panel_position_get_depth_set"
              glib:get-property="depth-set">
        <source-position filename="src/panel-position.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row"
              c:identifier="panel_position_get_row"
              glib:get-property="row">
        <source-position filename="src/panel-position.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row_set"
              c:identifier="panel_position_get_row_set"
              glib:get-property="row-set">
        <source-position filename="src/panel-position.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_indeterminate"
              c:identifier="panel_position_is_indeterminate">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="438">Tells is the position is indeterminate.</doc>
        <source-position filename="src/panel-position.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="444">whether the position is indeterminate.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="440">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_area"
              c:identifier="panel_position_set_area"
              glib:set-property="area">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="287">Sets the area.</doc>
        <source-position filename="src/panel-position.h" line="58"/>
        <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/panel-position.c"
                 line="289">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="290">the #PanelArea</doc>
            <type name="Area" c:type="PanelArea"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_area_set"
              c:identifier="panel_position_set_area_set"
              glib:set-property="area-set">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="320">Sets whether the area is set.</doc>
        <source-position filename="src/panel-position.h" line="61"/>
        <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/panel-position.c"
                 line="322">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="area_set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="323">whether the area is set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column"
              c:identifier="panel_position_set_column"
              glib:set-property="column">
        <source-position filename="src/panel-position.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_set"
              c:identifier="panel_position_set_column_set"
              glib:set-property="column-set">
        <source-position filename="src/panel-position.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="column_set" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_depth"
              c:identifier="panel_position_set_depth"
              glib:set-property="depth">
        <source-position filename="src/panel-position.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="depth" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_depth_set"
              c:identifier="panel_position_set_depth_set"
              glib:set-property="depth-set">
        <source-position filename="src/panel-position.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="depth_set" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row"
              c:identifier="panel_position_set_row"
              glib:set-property="row">
        <source-position filename="src/panel-position.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="row" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_set"
              c:identifier="panel_position_set_row_set"
              glib:set-property="row-set">
        <source-position filename="src/panel-position.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
          <parameter name="row_set" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_variant" c:identifier="panel_position_to_variant">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="454">Convert a #PanelPosition to a #GVariant.</doc>
        <source-position filename="src/panel-position.h" line="38"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-position.c"
               line="460">the new #GVariant containing
the positon values</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-position.c"
                 line="456">a #PanelPosition</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="area"
                writable="1"
                transfer-ownership="none"
                setter="set_area"
                getter="get_area"
                default-value="PANEL_AREA_CENTER">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="167">The area.</doc>
        <type name="Area"/>
      </property>
      <property name="area-set"
                writable="1"
                transfer-ownership="none"
                setter="set_area_set"
                getter="get_area_set"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="178">The area is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="column"
                writable="1"
                transfer-ownership="none"
                setter="set_column"
                getter="get_column"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="188">The column in the position.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="column-set"
                writable="1"
                transfer-ownership="none"
                setter="set_column_set"
                getter="get_column_set"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-position.c"
             line="198">The column is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="depth"
                writable="1"
                transfer-ownership="none"
                setter="set_depth"
                getter="get_depth"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="depth-set"
                writable="1"
                transfer-ownership="none"
                setter="set_depth_set"
                getter="get_depth_set"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="row"
                writable="1"
                transfer-ownership="none"
                setter="set_row"
                getter="get_row"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="row-set"
                writable="1"
                transfer-ownership="none"
                setter="set_row_set"
                getter="get_row_set"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="PositionClass"
            c:type="PanelPositionClass"
            glib:is-gtype-struct-for="Position">
      <source-position filename="src/panel-position.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SaveDelegate"
           c:symbol-prefix="save_delegate"
           c:type="PanelSaveDelegate"
           parent="GObject.Object"
           glib:type-name="PanelSaveDelegate"
           glib:get-type="panel_save_delegate_get_type"
           glib:type-struct="SaveDelegateClass">
      <source-position filename="src/panel-save-delegate.h" line="52"/>
      <constructor name="new" c:identifier="panel_save_delegate_new">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="59">Create a new #PanelSaveDelegate.</doc>
        <source-position filename="src/panel-save-delegate.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="64">a newly created #PanelSaveDelegate</doc>
          <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
        </return-value>
      </constructor>
      <virtual-method name="close" invoker="close">
        <source-position filename="src/panel-save-delegate.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="discard" invoker="discard">
        <source-position filename="src/panel-save-delegate.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save">
        <source-position filename="src/panel-save-delegate.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="task" transfer-ownership="none">
            <type name="Gio.Task" c:type="GTask*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_async" invoker="save_async">
        <source-position filename="src/panel-save-delegate.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </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"
                     closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_finish" invoker="save_finish" throws="1">
        <source-position filename="src/panel-save-delegate.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="close" c:identifier="panel_save_delegate_close">
        <source-position filename="src/panel-save-delegate.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="discard" c:identifier="panel_save_delegate_discard">
        <source-position filename="src/panel-save-delegate.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="panel_save_delegate_get_icon"
              glib:get-property="icon">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="560">Gets the #GIcon for the save delegate, or %NULL if unset.</doc>
        <source-position filename="src/panel-save-delegate.h" line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="566">a #GIcon or %NULL</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="562">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="panel_save_delegate_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="388">Gets the icon name for the save delegate.</doc>
        <source-position filename="src/panel-save-delegate.h" line="62"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="394">the icon name or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="390">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_draft"
              c:identifier="panel_save_delegate_get_is_draft"
              glib:get-property="is-draft">
        <source-position filename="src/panel-save-delegate.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress"
              c:identifier="panel_save_delegate_get_progress"
              glib:get-property="progress">
        <source-position filename="src/panel-save-delegate.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle"
              c:identifier="panel_save_delegate_get_subtitle"
              glib:get-property="subtitle">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="436">Gets the subtitle for the save delegate.</doc>
        <source-position filename="src/panel-save-delegate.h" line="72"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="442">the subtitle or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="438">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="panel_save_delegate_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="473">Gets the title for the save delegate.</doc>
        <source-position filename="src/panel-save-delegate.h" line="77"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="479">the title or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="475">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_async" c:identifier="panel_save_delegate_save_async">
        <source-position filename="src/panel-save-delegate.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </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="save_finish"
              c:identifier="panel_save_delegate_save_finish"
              throws="1">
        <source-position filename="src/panel-save-delegate.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon"
              c:identifier="panel_save_delegate_set_icon"
              glib:set-property="icon">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="578">Sets the #GIcon for the save delegate. Pass %NULL to unset.</doc>
        <source-position filename="src/panel-save-delegate.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="580">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="581">a #GIcon or %NULL</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="panel_save_delegate_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="412">Sets the icon name for the save delegate. Pass %NULL to unset.</doc>
        <source-position filename="src/panel-save-delegate.h" line="64"/>
        <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/panel-save-delegate.c"
                 line="414">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="415">the icon name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_draft"
              c:identifier="panel_save_delegate_set_is_draft"
              glib:set-property="is-draft">
        <source-position filename="src/panel-save-delegate.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="is_draft" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress"
              c:identifier="panel_save_delegate_set_progress"
              glib:set-property="progress">
        <source-position filename="src/panel-save-delegate.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle"
              c:identifier="panel_save_delegate_set_subtitle"
              glib:set-property="subtitle">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="454">Sets the subtitle for the save delegate. Pass %NULL to unset.</doc>
        <source-position filename="src/panel-save-delegate.h" line="74"/>
        <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/panel-save-delegate.c"
                 line="456">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="subtitle"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="457">the subtitle or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="panel_save_delegate_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="491">Sets the title for the save delegate. Pass %NULL to unset.</doc>
        <source-position filename="src/panel-save-delegate.h" line="79"/>
        <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/panel-save-delegate.c"
                 line="493">a #PanelSaveDelegate</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </instance-parameter>
          <parameter name="title"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="494">the title or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="icon"
                writable="1"
                transfer-ownership="none"
                setter="set_icon"
                getter="get_icon">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="230">The "icon" property contains a #GIcon that describes the save
operation. Generally, this should be the symbolic icon of the
document class you are saving.

Alternatively, you can use #PanelSaveDelegate:icon-name for a
named icon.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="247">The "icon-name" property contains the name of an icon to use when
showing information about the save operation in UI such as a save
dialog.

You can also use #PanelSaveDelegate:icon to set a #GIcon instead of
an icon name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="is-draft"
                writable="1"
                transfer-ownership="none"
                setter="set_is_draft"
                getter="get_is_draft"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="264">The "is-draft" property indicates that the document represented by the
delegate is a draft and might be lost of not saved.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="progress"
                writable="1"
                transfer-ownership="none"
                setter="set_progress"
                getter="get_progress"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="277">The "progress" property contains progress between 0.0 and 1.0 and
should be updated by the delegate implementation as saving progresses.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="subtitle"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle"
                getter="get_subtitle"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="304">The "subtitle" property contains additional information that may
not make sense to put in the title. This might include the directory
that the file will be saved within.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="290">The "title" property contains the title of the document being saved.
Generally, this should be the base name of the document such as
`file.txt`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="close" when="last">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="343">This signal is emitted when the save delegate should close
the widget it is related to. This can happen after saving as
part of a close request and it is now save for the delegate to
close.

Implementations are encouraged to connect to this signal (or
implement the virtual method) and call panel_widget_force_close().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="discard" when="last">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="363">This signal is emitted when the user has requested that the
delegate discard the changes instead of saving them.

Implementations are encouraged to connect to this signal (or
implement the virtual method) and revert the document to the
last saved state and/or close the document.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="save" when="last">
        <doc xml:space="preserve"
             filename="src/panel-save-delegate.c"
             line="320">This signal can be used when subclassing #PanelSaveDelegate is not
possible or cumbersome. The default implementation of
#PanelSaveDelegateClass.save_async() will emit this signal to allow
the consumer to implement asynchronous save in a flexible manner.

The caller is expected to complete @task with a boolean when the
save operation has completed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-save-delegate.c"
               line="333">%TRUE if the operation was handled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="task" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-save-delegate.c"
                 line="323">a #GTask</doc>
            <type name="Gio.Task"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SaveDelegateClass"
            c:type="PanelSaveDelegateClass"
            glib:is-gtype-struct-for="SaveDelegate">
      <source-position filename="src/panel-save-delegate.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="save_async">
        <callback name="save_async">
          <source-position filename="src/panel-save-delegate.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="3">
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_finish">
        <callback name="save_finish" throws="1">
          <source-position filename="src/panel-save-delegate.h" line="42"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <source-position filename="src/panel-save-delegate.h" line="45"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
            </parameter>
            <parameter name="task" transfer-ownership="none">
              <type name="Gio.Task" c:type="GTask*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="discard">
        <callback name="discard">
          <source-position filename="src/panel-save-delegate.h" line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="close">
        <callback name="close">
          <source-position filename="src/panel-save-delegate.h" line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="SaveDialog"
           c:symbol-prefix="save_dialog"
           c:type="PanelSaveDialog"
           parent="Adw.MessageDialog"
           final="1"
           glib:type-name="PanelSaveDialog"
           glib:get-type="panel_save_dialog_get_type"
           glib:type-struct="SaveDialogClass">
      <source-position filename="src/panel-save-dialog.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new" c:identifier="panel_save_dialog_new">
        <doc xml:space="preserve"
             filename="src/panel-save-dialog.c"
             line="73">Create a new #PanelSaveDialog.</doc>
        <source-position filename="src/panel-save-dialog.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-save-dialog.c"
               line="78">a newly created #PanelSaveDialog</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_delegate"
              c:identifier="panel_save_dialog_add_delegate">
        <source-position filename="src/panel-save-dialog.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDialog" c:type="PanelSaveDialog*"/>
          </instance-parameter>
          <parameter name="delegate" transfer-ownership="none">
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_close_after_save"
              c:identifier="panel_save_dialog_get_close_after_save"
              glib:get-property="close-after-save">
        <source-position filename="src/panel-save-dialog.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDialog" c:type="PanelSaveDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run_async" c:identifier="panel_save_dialog_run_async">
        <source-position filename="src/panel-save-dialog.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDialog" c:type="PanelSaveDialog*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </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="run_finish"
              c:identifier="panel_save_dialog_run_finish"
              throws="1">
        <source-position filename="src/panel-save-dialog.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDialog" c:type="PanelSaveDialog*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_after_save"
              c:identifier="panel_save_dialog_set_close_after_save"
              glib:set-property="close-after-save">
        <source-position filename="src/panel-save-dialog.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="SaveDialog" c:type="PanelSaveDialog*"/>
          </instance-parameter>
          <parameter name="close_after_save" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="close-after-save"
                writable="1"
                transfer-ownership="none"
                setter="set_close_after_save"
                getter="get_close_after_save"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/panel-save-dialog.c"
             line="351">This property requests that the widget close after saving.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="SaveDialogClass"
            c:type="PanelSaveDialogClass"
            glib:is-gtype-struct-for="SaveDialog">
      <source-position filename="src/panel-save-dialog.h" line="32"/>
      <field name="parent_class">
        <type name="Adw.MessageDialogClass" c:type="AdwMessageDialogClass"/>
      </field>
    </record>
    <class name="Session"
           c:symbol-prefix="session"
           c:type="PanelSession"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelSession"
           glib:get-type="panel_session_get_type"
           glib:type-struct="SessionClass">
      <source-position filename="src/panel-session.h" line="35"/>
      <constructor name="new" c:identifier="panel_session_new">
        <source-position filename="src/panel-session.h" line="38"/>
        <return-value transfer-ownership="full">
          <type name="Session" c:type="PanelSession*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_variant"
                   c:identifier="panel_session_new_from_variant"
                   version="1.4"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/panel-session.c"
             line="176">Creates a new #PanelSession from a #GVariant.

This creates a new #PanelSession instance from a previous session
which had been serialized to @variant.</doc>
        <source-position filename="src/panel-session.h" line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-session.c"
               line="186">a #PanelSession</doc>
          <type name="Session" c:type="PanelSession*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="178">a #GVariant from panel_session_to_variant()</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append" c:identifier="panel_session_append">
        <source-position filename="src/panel-session.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item"
              c:identifier="panel_session_get_item"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-session.c"
             line="215">Gets the item at @position.</doc>
        <source-position filename="src/panel-session.h" line="58"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session.c"
               line="222">The #PanelSessionItem at @position
  or %NULL if there is no item at that position.</doc>
          <type name="SessionItem" c:type="PanelSessionItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="217">a #PanelSession</doc>
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="218">the index of the item</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_items" c:identifier="panel_session_get_n_items">
        <source-position filename="src/panel-session.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert" c:identifier="panel_session_insert">
        <source-position filename="src/panel-session.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="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_by_id"
              c:identifier="panel_session_lookup_by_id"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-session.c"
             line="293">Gets a session item matching @id.</doc>
        <source-position filename="src/panel-session.h" line="66"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session.c"
               line="300">an #PanelSessionItem or %NULL</doc>
          <type name="SessionItem" c:type="PanelSessionItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="295">a #PanelSession</doc>
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="296">the id of the item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="panel_session_prepend">
        <source-position filename="src/panel-session.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_session_remove">
        <source-position filename="src/panel-session.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="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_at" c:identifier="panel_session_remove_at">
        <source-position filename="src/panel-session.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_variant" c:identifier="panel_session_to_variant">
        <doc xml:space="preserve"
             filename="src/panel-session.c"
             line="60">Serializes a #PanelSession as a #GVariant

The result of this function may be passed to
panel_session_new_from_variant() to recreate a #PanelSession.

The resulting variant will not be floating.</doc>
        <source-position filename="src/panel-session.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/panel-session.c"
               line="71">a #GVariant</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session.c"
                 line="62">a #PanelSession</doc>
            <type name="Session" c:type="PanelSession*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="SessionClass"
            c:type="PanelSessionClass"
            glib:is-gtype-struct-for="Session">
      <source-position filename="src/panel-session.h" line="35"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SessionItem"
           c:symbol-prefix="session_item"
           c:type="PanelSessionItem"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelSessionItem"
           glib:get-type="panel_session_item_get_type"
           glib:type-struct="SessionItemClass">
      <source-position filename="src/panel-session-item.h" line="37"/>
      <constructor name="new" c:identifier="panel_session_item_new">
        <source-position filename="src/panel-session-item.h" line="40"/>
        <return-value transfer-ownership="full">
          <type name="SessionItem" c:type="PanelSessionItem*"/>
        </return-value>
      </constructor>
      <method name="get_id"
              c:identifier="panel_session_item_get_id"
              glib:get-property="id">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="183">Gets the id for the session item, if any.</doc>
        <source-position filename="src/panel-session-item.h" line="47"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="189">a string containing the id; otherwise %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="185">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata"
              c:identifier="panel_session_item_get_metadata"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="457">Extract a metadata value matching @format.

@format must not reference the #GVariant, which means you need to make
copies of data, such as "s" instead of "&amp;s".</doc>
        <source-position filename="src/panel-session-item.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="468">%TRUE if @key was found with @format and parameters were set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="459">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="460">the key for the metadata value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="461">the format of the value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_metadata_value"
              c:identifier="panel_session_item_get_metadata_value">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="499">Retrieves the metadata value for @key.

If @expected_type is non-%NULL, any non-%NULL value returned from this
function will match @expected_type.</doc>
        <source-position filename="src/panel-session-item.h" line="85"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="510">a non-floating #GVariant which should
  be released with g_variant_unref(); otherwise %NULL.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="501">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="502">the metadata key</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="expected_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="503">a #GVariantType or %NULL</doc>
            <type name="GLib.VariantType" c:type="const GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_module_name"
              c:identifier="panel_session_item_get_module_name"
              glib:get-property="module-name">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="219">Gets the module-name that created an item.</doc>
        <source-position filename="src/panel-session-item.h" line="57"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="225">a module-name or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="221">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position"
              c:identifier="panel_session_item_get_position"
              glib:get-property="position">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="326">Gets the #PanelPosition for the item.</doc>
        <source-position filename="src/panel-session-item.h" line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="332">a #PanelPosition or %NULL</doc>
          <type name="Position" c:type="PanelPosition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="328">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_type_hint"
              c:identifier="panel_session_item_get_type_hint"
              glib:get-property="type-hint">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="255">Gets the type hint for an item.</doc>
        <source-position filename="src/panel-session-item.h" line="62"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="261">a type-hint or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="257">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workspace"
              c:identifier="panel_session_item_get_workspace"
              glib:get-property="workspace">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="291">Gets the workspace id for the item.</doc>
        <source-position filename="src/panel-session-item.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="297">a workspace or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="293">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_metadata"
              c:identifier="panel_session_item_has_metadata">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="389">If the item contains a metadata value for @key.

Checks if a value exists for a metadata key and retrieves the #GVariantType
for that key.</doc>
        <source-position filename="src/panel-session-item.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="400">%TRUE if @self contains metadata named @key and @value_type is set
  to the value's #GVariantType. Otherwise %FALSE and @value_type is unchanged.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="391">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="392">the name of the metadata</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value_type"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="393">a location for a #GVariantType or %NULL</doc>
            <type name="GLib.VariantType" c:type="const GVariantType**"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_metadata_with_type"
              c:identifier="panel_session_item_has_metadata_with_type">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="429">Checks if the item contains metadata @key with @expected_type.</doc>
        <source-position filename="src/panel-session-item.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-session-item.c"
               line="437">%TRUE if a value was found for @key matching @expected_typed;
  otherwise %FALSE is returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="431">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="432">the metadata key</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="expected_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="433">the #GVariantType to check for @key</doc>
            <type name="GLib.VariantType" c:type="const GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id"
              c:identifier="panel_session_item_set_id"
              glib:set-property="id">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="199">Sets the identifier for the item.

The identifier should generally be global to the session as it would
not be expected to come across multiple items with the same id.</doc>
        <source-position filename="src/panel-session-item.h" line="49"/>
        <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/panel-session-item.c"
                 line="201">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="202">an optional identifier for the item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="panel_session_item_set_metadata"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="360">A variadic helper to set metadata.

The format should be identical to g_variant_new().</doc>
        <source-position filename="src/panel-session-item.h" line="80"/>
        <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/panel-session-item.c"
                 line="362">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata_value"
              c:identifier="panel_session_item_set_metadata_value">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="535">Sets the value for metadata @key.

If @value is %NULL, the metadata key is unset.</doc>
        <source-position filename="src/panel-session-item.h" line="89"/>
        <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/panel-session-item.c"
                 line="537">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="538">the metadata key</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="539">the value for @key or %NULL</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_module_name"
              c:identifier="panel_session_item_set_module_name"
              glib:set-property="module-name">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="235">Sets the module-name for the session item.

This is generally used to help determine which plugin created
the item when decoding them at project load time.</doc>
        <source-position filename="src/panel-session-item.h" line="59"/>
        <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/panel-session-item.c"
                 line="237">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="module_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="238">the module name owning the item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_position"
              c:identifier="panel_session_item_set_position"
              glib:set-property="position">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="342">Sets the position for @self, if any.</doc>
        <source-position filename="src/panel-session-item.h" line="44"/>
        <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/panel-session-item.c"
                 line="344">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="position"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="345">a #PanelPosition or %NULL</doc>
            <type name="Position" c:type="PanelPosition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_type_hint"
              c:identifier="panel_session_item_set_type_hint"
              glib:set-property="type-hint">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="271">Sets the type-hint value for the item.

This is generally used to help inflate the right version of
an object when loading session items.</doc>
        <source-position filename="src/panel-session-item.h" line="64"/>
        <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/panel-session-item.c"
                 line="273">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="type_hint"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="274">a type hint string for the item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_workspace"
              c:identifier="panel_session_item_set_workspace"
              glib:set-property="workspace">
        <doc xml:space="preserve"
             filename="src/panel-session-item.c"
             line="307">Sets the workspace id for the item.

This is generally used to tie an item to a specific workspace.</doc>
        <source-position filename="src/panel-session-item.h" line="54"/>
        <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/panel-session-item.c"
                 line="309">a #PanelSessionItem</doc>
            <type name="SessionItem" c:type="PanelSessionItem*"/>
          </instance-parameter>
          <parameter name="workspace"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-session-item.c"
                 line="310">a workspace string for the item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="id"
                writable="1"
                transfer-ownership="none"
                setter="set_id"
                getter="get_id"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="module-name"
                writable="1"
                transfer-ownership="none"
                setter="set_module_name"
                getter="get_module_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="position"
                writable="1"
                transfer-ownership="none"
                setter="set_position"
                getter="get_position">
        <type name="Position"/>
      </property>
      <property name="type-hint"
                writable="1"
                transfer-ownership="none"
                setter="set_type_hint"
                getter="get_type_hint"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="workspace"
                writable="1"
                transfer-ownership="none"
                setter="set_workspace"
                getter="get_workspace"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="SessionItemClass"
            c:type="PanelSessionItemClass"
            glib:is-gtype-struct-for="SessionItem">
      <source-position filename="src/panel-session-item.h" line="37"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Settings"
           c:symbol-prefix="settings"
           c:type="PanelSettings"
           parent="GObject.Object"
           final="1"
           glib:type-name="PanelSettings"
           glib:get-type="panel_settings_get_type"
           glib:type-struct="SettingsClass">
      <source-position filename="src/panel-settings.h" line="36"/>
      <implements name="Gio.ActionGroup"/>
      <constructor name="new" c:identifier="panel_settings_new">
        <source-position filename="src/panel-settings.h" line="45"/>
        <return-value transfer-ownership="full">
          <type name="Settings" c:type="PanelSettings*"/>
        </return-value>
        <parameters>
          <parameter name="identifier" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_relocatable"
                   c:identifier="panel_settings_new_relocatable">
        <source-position filename="src/panel-settings.h" line="52"/>
        <return-value transfer-ownership="full">
          <type name="Settings" c:type="PanelSettings*"/>
        </return-value>
        <parameters>
          <parameter name="identifier" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema_id_prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path_prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path_suffix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_path"
                   c:identifier="panel_settings_new_with_path">
        <source-position filename="src/panel-settings.h" line="48"/>
        <return-value transfer-ownership="full">
          <type name="Settings" c:type="PanelSettings*"/>
        </return-value>
        <parameters>
          <parameter name="identifier" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="resolve_schema_path"
                c:identifier="panel_settings_resolve_schema_path">
        <source-position filename="src/panel-settings.h" line="39"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="schema_id_prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="identifier" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path_prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="path_suffix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <method name="bind" c:identifier="panel_settings_bind">
        <source-position filename="src/panel-settings.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="Gio.SettingsBindFlags" c:type="GSettingsBindFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_with_mapping"
              c:identifier="panel_settings_bind_with_mapping">
        <doc xml:space="preserve"
             filename="src/panel-settings.c"
             line="661">Like panel_settings_bind() but allows transforming to and from settings storage using
@get_mapping and @set_mapping transformation functions.

Call panel_settings_unbind() to unbind the mapping.</doc>
        <source-position filename="src/panel-settings.h" line="114"/>
        <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/panel-settings.c"
                 line="663">An #PanelSettings</doc>
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="664">The settings key</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="665">the object to bind to</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="666">the property of @object to bind to</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="667">flags for the binding</doc>
            <type name="Gio.SettingsBindFlags" c:type="GSettingsBindFlags"/>
          </parameter>
          <parameter name="get_mapping"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="668">variant to value mapping</doc>
            <type name="Gio.SettingsBindGetMapping"
                  c:type="GSettingsBindGetMapping"/>
          </parameter>
          <parameter name="set_mapping"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="6"
                     destroy="7">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="669">value to variant mapping</doc>
            <type name="Gio.SettingsBindSetMapping"
                  c:type="GSettingsBindSetMapping"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="670">user data for @get_mapping and @set_mapping</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="671">destroy function to cleanup @user_data.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_boolean" c:identifier="panel_settings_get_boolean">
        <source-position filename="src/panel-settings.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_value"
              c:identifier="panel_settings_get_default_value">
        <source-position filename="src/panel-settings.h" line="60"/>
        <return-value transfer-ownership="full">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double" c:identifier="panel_settings_get_double">
        <source-position filename="src/panel-settings.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int" c:identifier="panel_settings_get_int">
        <source-position filename="src/panel-settings.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_schema_id"
              c:identifier="panel_settings_get_schema_id"
              glib:get-property="schema-id">
        <source-position filename="src/panel-settings.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_string" c:identifier="panel_settings_get_string">
        <source-position filename="src/panel-settings.h" line="82"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uint" c:identifier="panel_settings_get_uint">
        <source-position filename="src/panel-settings.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_value"
              c:identifier="panel_settings_get_user_value">
        <source-position filename="src/panel-settings.h" line="63"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-settings.c"
               line="508">the user's value, if set</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="505">a #PanelSettings</doc>
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-settings.c"
                 line="506">the key to get the user value for</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="panel_settings_get_value">
        <source-position filename="src/panel-settings.h" line="66"/>
        <return-value transfer-ownership="full">
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_boolean" c:identifier="panel_settings_set_boolean">
        <source-position filename="src/panel-settings.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double" c:identifier="panel_settings_set_double">
        <source-position filename="src/panel-settings.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="panel_settings_set_int">
        <source-position filename="src/panel-settings.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="panel_settings_set_string">
        <source-position filename="src/panel-settings.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uint" c:identifier="panel_settings_set_uint">
        <source-position filename="src/panel-settings.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="panel_settings_set_value">
        <source-position filename="src/panel-settings.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unbind" c:identifier="panel_settings_unbind">
        <source-position filename="src/panel-settings.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Settings" c:type="PanelSettings*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="identifier"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-settings.c"
             line="409">The "identifier" property is used to make unique paths.

This might be a unique "project-id" for example, in an IDE.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="path-prefix"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="path-suffix"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="schema-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_schema_id"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="schema-id-prefix"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="changed" when="last" detailed="1">
        <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>
    </class>
    <record name="SettingsClass"
            c:type="PanelSettingsClass"
            glib:is-gtype-struct-for="Settings">
      <source-position filename="src/panel-settings.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="PanelStatusbar"
           parent="Gtk.Widget"
           glib:type-name="PanelStatusbar"
           glib:get-type="panel_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <doc xml:space="preserve"
           filename="src/panel-statusbar.c"
           line="28">A panel status bar is meant to be displayed at the bottom of the
window. It can contain widgets in the prefix and in the suffix.</doc>
      <source-position filename="src/panel-statusbar.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_statusbar_new">
        <doc xml:space="preserve"
             filename="src/panel-statusbar.c"
             line="46">Create a new #PanelStatusbar.</doc>
        <source-position filename="src/panel-statusbar.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-statusbar.c"
               line="51">a newly created #PanelStatusBar.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_prefix" c:identifier="panel_statusbar_add_prefix">
        <doc xml:space="preserve"
             filename="src/panel-statusbar.c"
             line="174">Adds a widget into the prefix with @priority. The higher the
priority the closer to the start the widget will be added.</doc>
        <source-position filename="src/panel-statusbar.h" line="37"/>
        <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/panel-statusbar.c"
                 line="176">a #PanelStatusbar</doc>
            <type name="Statusbar" c:type="PanelStatusbar*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-statusbar.c"
                 line="177">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-statusbar.c"
                 line="178">a #GtkWidget to add.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix" c:identifier="panel_statusbar_add_suffix">
        <doc xml:space="preserve"
             filename="src/panel-statusbar.c"
             line="216">Adds a widget into the suffix with @priority. The higher the
priority the closer to the start the widget will be added.</doc>
        <source-position filename="src/panel-statusbar.h" line="41"/>
        <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/panel-statusbar.c"
                 line="218">a #PanelStatusbar</doc>
            <type name="Statusbar" c:type="PanelStatusbar*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-statusbar.c"
                 line="219">the priority</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-statusbar.c"
                 line="220">a #GtkWidget to add.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="panel_statusbar_remove">
        <doc xml:space="preserve"
             filename="src/panel-statusbar.c"
             line="258">Removes @widget from the #PanelStatusbar.</doc>
        <source-position filename="src/panel-statusbar.h" line="45"/>
        <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/panel-statusbar.c"
                 line="260">a #PanelStatusbar</doc>
            <type name="Statusbar" c:type="PanelStatusbar*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-statusbar.c"
                 line="261">a #GtkWidget to remove.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="StatusbarClass"
            c:type="PanelStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <source-position filename="src/panel-statusbar.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="ThemeSelector"
           c:symbol-prefix="theme_selector"
           c:type="PanelThemeSelector"
           parent="Gtk.Widget"
           glib:type-name="PanelThemeSelector"
           glib:get-type="panel_theme_selector_get_type"
           glib:type-struct="ThemeSelectorClass">
      <doc xml:space="preserve"
           filename="src/panel-theme-selector.c"
           line="27">A widget that allow selecting theme preference between "dark",
"light" and "follow" the system preference.

&lt;picture&gt;
  &lt;source srcset="theme-selector-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="theme-selector.png" alt="theme-selector"&gt;
&lt;/picture&gt;

Upon activation it will activate the named action in
#PanelThemeSelector:action-name.</doc>
      <source-position filename="src/panel-theme-selector.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_theme_selector_new">
        <doc xml:space="preserve"
             filename="src/panel-theme-selector.c"
             line="64">Create a new #ThemeSelector.</doc>
        <source-position filename="src/panel-theme-selector.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-theme-selector.c"
               line="69">a newly created #PanelThemeSelector.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_action_name"
              c:identifier="panel_theme_selector_get_action_name"
              glib:get-property="action-name">
        <doc xml:space="preserve"
             filename="src/panel-theme-selector.c"
             line="216">Gets the name of the action that will be activated.</doc>
        <source-position filename="src/panel-theme-selector.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-theme-selector.c"
               line="222">the name of the action.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-theme-selector.c"
                 line="218">a #PanelThemeSelector</doc>
            <type name="ThemeSelector" c:type="PanelThemeSelector*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_action_name"
              c:identifier="panel_theme_selector_set_action_name"
              glib:set-property="action-name">
        <doc xml:space="preserve"
             filename="src/panel-theme-selector.c"
             line="232">Sets the name of the action that will be activated.</doc>
        <source-position filename="src/panel-theme-selector.h" line="39"/>
        <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/panel-theme-selector.c"
                 line="234">a #PanelThemeSelector</doc>
            <type name="ThemeSelector" c:type="PanelThemeSelector*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-theme-selector.c"
                 line="235">the action name.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="action-name"
                writable="1"
                transfer-ownership="none"
                setter="set_action_name"
                getter="get_action_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-theme-selector.c"
             line="166">The name of the action activated on activation.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ThemeSelectorClass"
            c:type="PanelThemeSelectorClass"
            glib:is-gtype-struct-for="ThemeSelector">
      <source-position filename="src/panel-theme-selector.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="ToggleButton"
           c:symbol-prefix="toggle_button"
           c:type="PanelToggleButton"
           parent="Gtk.Widget"
           glib:type-name="PanelToggleButton"
           glib:get-type="panel_toggle_button_get_type"
           glib:type-struct="ToggleButtonClass">
      <doc xml:space="preserve"
           filename="src/panel-toggle-button.c"
           line="31">The `PanelToggleButton` is a button used to toggle the visibility
of a [class@PanelDock] area.

&lt;picture&gt;
  &lt;source srcset="toggle-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toggle-button.png" alt="toggle-button"&gt;
&lt;/picture&gt;

It will automatically reveal or unreveal the specified area from
#PanelToggleButton:dock.</doc>
      <source-position filename="src/panel-toggle-button.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_toggle_button_new">
        <doc xml:space="preserve"
             filename="src/panel-toggle-button.c"
             line="72">Creates a new #PanelToggleButton to hide the @dock in the @area.</doc>
        <source-position filename="src/panel-toggle-button.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-toggle-button.c"
               line="80">a newly created #PanelToggleButton</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dock" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-toggle-button.c"
                 line="74">#PanelDock the panel to control</doc>
            <type name="Dock" c:type="PanelDock*"/>
          </parameter>
          <parameter name="area" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-toggle-button.c"
                 line="75">#PanelArea the panel area. A value of
  [const@PanelArea.PANEL_AREA_CENTER] invalid.</doc>
            <type name="Area" c:type="PanelArea"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="area"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="PANEL_AREA_START">
        <doc xml:space="preserve"
             filename="src/panel-toggle-button.c"
             line="417">The area this button will reveal.</doc>
        <type name="Area"/>
      </property>
      <property name="dock" writable="1" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/panel-toggle-button.c"
             line="408">The associated #PanelDock</doc>
        <type name="Dock"/>
      </property>
    </class>
    <record name="ToggleButtonClass"
            c:type="PanelToggleButtonClass"
            glib:is-gtype-struct-for="ToggleButton">
      <source-position filename="src/panel-toggle-button.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <function-macro name="UNAVAILABLE"
                    c:identifier="PANEL_UNAVAILABLE"
                    introspectable="0">
      <source-position filename="src/panel-version-macros.h" line="34"/>
      <parameters>
        <parameter name="maj">
        </parameter>
        <parameter name="min">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="VERSION_S" value="1.4.0" c:type="PANEL_VERSION_S">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="64">libpanel version, encoded as a string, useful for printing and
concatenation.</doc>
      <source-position filename="src/panel-version.h" line="70"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="WIDGET_KIND_ANY" value="*" c:type="PANEL_WIDGET_KIND_ANY">
      <source-position filename="src/panel-widget.h" line="45"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="WIDGET_KIND_DOCUMENT"
              value="document"
              c:type="PANEL_WIDGET_KIND_DOCUMENT">
      <source-position filename="src/panel-widget.h" line="47"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="WIDGET_KIND_UNKNOWN"
              value="unknown"
              c:type="PANEL_WIDGET_KIND_UNKNOWN">
      <source-position filename="src/panel-widget.h" line="46"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="WIDGET_KIND_UTILITY"
              value="utility"
              c:type="PANEL_WIDGET_KIND_UTILITY">
      <source-position filename="src/panel-widget.h" line="48"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Widget"
           c:symbol-prefix="widget"
           c:type="PanelWidget"
           parent="Gtk.Widget"
           glib:type-name="PanelWidget"
           glib:get-type="panel_widget_get_type"
           glib:type-struct="WidgetClass">
      <doc xml:space="preserve"
           filename="src/panel-widget.c"
           line="56">PanelWidget is the base widget class for widgets added to a
#PanelFrame. It can be use as-is or you can subclass it.</doc>
      <source-position filename="src/panel-widget.h" line="43"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="panel_widget_new">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="263">Create a new #PanelWidget.</doc>
        <source-position filename="src/panel-widget.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="268">a newly created #PanelWidget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="get_default_focus" invoker="get_default_focus">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1326">Discovers the widget that should be focused as the default widget
for the #PanelWidget.

For example, if you want to focus a text editor by default, you might
return the #GtkTextView inside your widgetry.</doc>
        <source-position filename="src/panel-widget.h" line="38"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="1336">the default widget to focus within
  the #PanelWidget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1328">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="presented">
        <source-position filename="src/panel-widget.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="action_set_enabled"
              c:identifier="panel_widget_action_set_enabled">
        <source-position filename="src/panel-widget.h" line="149"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="widget" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="close" c:identifier="panel_widget_close">
        <source-position filename="src/panel-widget.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="focus_default" c:identifier="panel_widget_focus_default">
        <source-position filename="src/panel-widget.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="force_close" c:identifier="panel_widget_force_close">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1508">Closes the widget without any save dialogs.</doc>
        <source-position filename="src/panel-widget.h" line="138"/>
        <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/panel-widget.c"
                 line="1510">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_busy"
              c:identifier="panel_widget_get_busy"
              glib:get-property="busy">
        <source-position filename="src/panel-widget.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_maximize"
              c:identifier="panel_widget_get_can_maximize"
              glib:get-property="can-maximize">
        <source-position filename="src/panel-widget.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="panel_widget_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="969">Gets the child widget of the panel.</doc>
        <source-position filename="src/panel-widget.h" line="58"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="975">a #GtkWidget or %NULL</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="971">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_focus"
              c:identifier="panel_widget_get_default_focus">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1326">Discovers the widget that should be focused as the default widget
for the #PanelWidget.

For example, if you want to focus a text editor by default, you might
return the #GtkTextView inside your widgetry.</doc>
        <source-position filename="src/panel-widget.h" line="127"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="1336">the default widget to focus within
  the #PanelWidget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1328">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="panel_widget_get_icon"
              glib:get-property="icon">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="766">Gets a #GIcon for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="68"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="772">a #GIcon or %NULL</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="768">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="panel_widget_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="717">Gets the icon name for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="73"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="723">the icon name or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="719">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="panel_widget_get_id"
              glib:get-property="id">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="815">Gets the id of the panel widget.</doc>
        <source-position filename="src/panel-widget.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="821">The id of the panel widget.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="817">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="panel_widget_get_kind"
              glib:get-property="kind">
        <source-position filename="src/panel-widget.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_menu_model"
              c:identifier="panel_widget_get_menu_model"
              glib:get-property="menu-model">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1239">Gets the #GMenuModel for the widget.

#PanelFrameHeader may use this model to display additional options
for the page to the user via menus.</doc>
        <source-position filename="src/panel-widget.h" line="118"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="1248">a #GMenuModel</doc>
          <type name="Gio.MenuModel" c:type="GMenuModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1241">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified"
              c:identifier="panel_widget_get_modified"
              glib:get-property="modified">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="852">Gets the modified status of a panel widget</doc>
        <source-position filename="src/panel-widget.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="858">the modified status of the panel widget.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="854">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_needs_attention"
              c:identifier="panel_widget_get_needs_attention"
              glib:get-property="needs-attention">
        <source-position filename="src/panel-widget.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="panel_widget_get_position">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1736">Gets teh position of the widget within the dock.</doc>
        <source-position filename="src/panel-widget.h" line="123"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="1742">a #PanelPosition or %NULL if the
  widget isn't within a #PanelFrame.</doc>
          <type name="Position" c:type="PanelPosition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1738">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reorderable"
              c:identifier="panel_widget_get_reorderable"
              glib:get-property="reorderable">
        <source-position filename="src/panel-widget.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_save_delegate"
              c:identifier="panel_widget_get_save_delegate"
              glib:get-property="save-delegate">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1389">Gets the #PanelWidget:save-delegate property.

The save delegate may be used to perform save operations on the
content within the widget.

Document editors might use this to save the file to disk.</doc>
        <source-position filename="src/panel-widget.h" line="131"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="1400">a #PanelSaveDelegate or %NULL</doc>
          <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1391">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="panel_widget_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="895">Gets the title for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="63"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="901">the title or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="897">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tooltip"
              c:identifier="panel_widget_get_tooltip"
              glib:get-property="tooltip">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="932">Gets the tooltip for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="107"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="938">the tooltip or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="934">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_action_group"
              c:identifier="panel_widget_insert_action_group">
        <source-position filename="src/panel-widget.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="Gio.ActionGroup" c:type="GActionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="mark_busy" c:identifier="panel_widget_mark_busy">
        <source-position filename="src/panel-widget.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="maximize" c:identifier="panel_widget_maximize">
        <source-position filename="src/panel-widget.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="raise" c:identifier="panel_widget_raise">
        <source-position filename="src/panel-widget.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_maximize"
              c:identifier="panel_widget_set_can_maximize"
              glib:set-property="can-maximize">
        <source-position filename="src/panel-widget.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="can_maximize" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="panel_widget_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="987">Sets the child widget of the panel.</doc>
        <source-position filename="src/panel-widget.h" line="60"/>
        <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/panel-widget.c"
                 line="989">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="990">a #GtkWidget or %NULL</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon"
              c:identifier="panel_widget_set_icon"
              glib:set-property="icon">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="787">Sets a #GIcon for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="70"/>
        <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/panel-widget.c"
                 line="789">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="790">a #GIcon or %NULL</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="panel_widget_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="743">Sets the icon name for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="75"/>
        <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/panel-widget.c"
                 line="745">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="746">the icon name or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id"
              c:identifier="panel_widget_set_id"
              glib:set-property="id">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="833">Sets the id of the panel widget.</doc>
        <source-position filename="src/panel-widget.h" line="55"/>
        <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/panel-widget.c"
                 line="835">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="836">the id to set for the panel widget.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_kind"
              c:identifier="panel_widget_set_kind"
              glib:set-property="kind">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1149">Sets the kind of the widget.</doc>
        <source-position filename="src/panel-widget.h" line="104"/>
        <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/panel-widget.c"
                 line="1151">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="kind"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1152">the kind of this widget</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_menu_model"
              c:identifier="panel_widget_set_menu_model"
              glib:set-property="menu-model">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1260">Sets the #GMenuModel for the widget.

#PanelFrameHeader may use this model to display additional options
for the page to the user via menus.</doc>
        <source-position filename="src/panel-widget.h" line="120"/>
        <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/panel-widget.c"
                 line="1262">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="menu_model"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1263">a #GMenuModel</doc>
            <type name="Gio.MenuModel" c:type="GMenuModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modified"
              c:identifier="panel_widget_set_modified"
              glib:set-property="modified">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="870">Sets the modified status of a panel widget.</doc>
        <source-position filename="src/panel-widget.h" line="90"/>
        <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/panel-widget.c"
                 line="872">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="modified" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="873">the modified status</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_needs_attention"
              c:identifier="panel_widget_set_needs_attention"
              glib:set-property="needs-attention">
        <source-position filename="src/panel-widget.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="needs_attention" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reorderable"
              c:identifier="panel_widget_set_reorderable"
              glib:set-property="reorderable">
        <source-position filename="src/panel-widget.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="reorderable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_save_delegate"
              c:identifier="panel_widget_set_save_delegate"
              glib:set-property="save-delegate">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1423">Sets the #PanelWidget:save-delegate property.

The save delegate may be used to perform save operations on the
content within the widget.

Document editors might use this to save the file to disk.</doc>
        <source-position filename="src/panel-widget.h" line="133"/>
        <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/panel-widget.c"
                 line="1425">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="save_delegate"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1426">a #PanelSaveDelegate or %NULL</doc>
            <type name="SaveDelegate" c:type="PanelSaveDelegate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="panel_widget_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="913">Sets the title for the widget.</doc>
        <source-position filename="src/panel-widget.h" line="65"/>
        <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/panel-widget.c"
                 line="915">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="title"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="916">the title or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tooltip"
              c:identifier="panel_widget_set_tooltip"
              glib:set-property="tooltip">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="950">Sets the tooltip for the widget to be displayed in tabs.</doc>
        <source-position filename="src/panel-widget.h" line="109"/>
        <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/panel-widget.c"
                 line="952">a #PanelWidget</doc>
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
          <parameter name="tooltip"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="953">the tooltip or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmark_busy" c:identifier="panel_widget_unmark_busy">
        <source-position filename="src/panel-widget.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unmaximize" c:identifier="panel_widget_unmaximize">
        <source-position filename="src/panel-widget.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Widget" c:type="PanelWidget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="busy"
                transfer-ownership="none"
                getter="get_busy"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-maximize"
                writable="1"
                transfer-ownership="none"
                setter="set_can_maximize"
                getter="get_can_maximize"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="616">The child inside this widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="icon"
                writable="1"
                transfer-ownership="none"
                setter="set_icon"
                getter="get_icon">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="534">The icon for this widget.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="546">The icon name for this widget.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="id"
                writable="1"
                transfer-ownership="none"
                setter="set_id"
                getter="get_id"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="kind"
                writable="1"
                transfer-ownership="none"
                setter="set_kind"
                getter="get_kind"
                default-value="unknown">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="menu-model"
                writable="1"
                transfer-ownership="none"
                setter="set_menu_model"
                getter="get_menu_model">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="572">A menu model to display additional options for the page to the user via
menus.</doc>
        <type name="Gio.MenuModel"/>
      </property>
      <property name="modified"
                writable="1"
                transfer-ownership="none"
                setter="set_modified"
                getter="get_modified"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="needs-attention"
                writable="1"
                transfer-ownership="none"
                setter="set_needs_attention"
                getter="get_needs_attention"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reorderable"
                writable="1"
                transfer-ownership="none"
                setter="set_reorderable"
                getter="get_reorderable"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="save-delegate"
                writable="1"
                transfer-ownership="none"
                setter="set_save_delegate"
                getter="get_save_delegate">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="642">The save delegate attached to this widget.</doc>
        <type name="SaveDelegate"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="592">The title for this widget.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tooltip"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_tooltip"
                getter="get_tooltip"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="604">The tooltip to display in tabs for the widget.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="get-default-focus" when="last">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="656">Gets the default widget to focus within the #PanelWidget. The first
handler for this signal is expected to return a widget, or %NULL if
there is nothing to focus.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-widget.c"
               line="664">a #GtkWidget within #PanelWidget
  or %NULL.</doc>
          <type name="Gtk.Widget"/>
        </return-value>
      </glib:signal>
      <glib:signal name="presented" when="last">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="676">The "presented" signal is emitted when the widget is brought
to the front of a frame.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WidgetClass"
            c:type="PanelWidgetClass"
            glib:is-gtype-struct-for="Widget">
      <source-position filename="src/panel-widget.h" line="43"/>
      <field name="parent_instance">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="get_default_focus">
        <callback name="get_default_focus">
          <source-position filename="src/panel-widget.h" line="38"/>
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1336">the default widget to focus within
  the #PanelWidget.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/panel-widget.c"
                   line="1328">a #PanelWidget</doc>
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="presented">
        <callback name="presented">
          <source-position filename="src/panel-widget.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Widget" c:type="PanelWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="install_action"
              c:identifier="panel_widget_class_install_action">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1582">This should be called at class initialization time to specify
actions to be added for all instances of this class.

Actions installed by this function are stateless. The only state
they have is whether they are enabled or not.</doc>
        <source-position filename="src/panel-widget.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="widget_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1584">a `PanelWidgetClass`</doc>
            <type name="WidgetClass" c:type="PanelWidgetClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1585">a prefixed action name, such as "clipboard.paste"</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="parameter_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1586">the parameter type</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="activate"
                     transfer-ownership="none"
                     scope="notified">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1587">callback to use when the action is activated</doc>
            <type name="Gtk.WidgetActionActivateFunc"
                  c:type="GtkWidgetActionActivateFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_property_action"
              c:identifier="panel_widget_class_install_property_action">
        <doc xml:space="preserve"
             filename="src/panel-widget.c"
             line="1648">Installs an action called @action_name on @widget_class and
binds its state to the value of the @property_name property.

This function will perform a few santity checks on the property selected
via @property_name. Namely, the property must exist, must be readable,
writable and must not be construct-only. There are also restrictions
on the type of the given property, it must be boolean, int, unsigned int,
double or string. If any of these conditions are not met, a critical
warning will be printed and no action will be added.

The state type of the action matches the property type.

If the property is boolean, the action will have no parameter and
toggle the property value. Otherwise, the action will have a parameter
of the same type as the property.</doc>
        <source-position filename="src/panel-widget.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="widget_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1650">a `GtkWidgetClass`</doc>
            <type name="WidgetClass" c:type="PanelWidgetClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1651">name of the action</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-widget.c"
                 line="1652">name of the property in instances of @widget_class
  or any parent class.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="Workbench"
           c:symbol-prefix="workbench"
           c:type="PanelWorkbench"
           parent="Gtk.WindowGroup"
           glib:type-name="PanelWorkbench"
           glib:get-type="panel_workbench_get_type"
           glib:type-struct="WorkbenchClass">
      <source-position filename="src/panel-workbench.h" line="72"/>
      <constructor name="new" c:identifier="panel_workbench_new">
        <source-position filename="src/panel-workbench.h" line="75"/>
        <return-value transfer-ownership="full">
          <type name="Workbench" c:type="PanelWorkbench*"/>
        </return-value>
      </constructor>
      <function name="find_from_widget"
                c:identifier="panel_workbench_find_from_widget"
                version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="326">Finds the workbench that contains @widget.</doc>
        <source-position filename="src/panel-workbench.h" line="77"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-workbench.c"
               line="332">a #PanelWorkbench or %NULL</doc>
          <type name="Workbench" c:type="PanelWorkbench*"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="328">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="activate" invoker="activate">
        <source-position filename="src/panel-workbench.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unload_async">
        <source-position filename="src/panel-workbench.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </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"
                     closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unload_finish" throws="1">
        <source-position filename="src/panel-workbench.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="action_set_enabled"
              c:identifier="panel_workbench_action_set_enabled">
        <source-position filename="src/panel-workbench.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="activate" c:identifier="panel_workbench_activate">
        <source-position filename="src/panel-workbench.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="add_workspace"
              c:identifier="panel_workbench_add_workspace">
        <source-position filename="src/panel-workbench.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_workspace_typed"
              c:identifier="panel_workbench_find_workspace_typed"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="294">Locates a workspace in @self with a type matching @type.</doc>
        <source-position filename="src/panel-workbench.h" line="99"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-workbench.c"
               line="300">a #PanelWorkspace or %NULL</doc>
          <type name="Workspace" c:type="PanelWorkspace*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="296">a #PanelWorkbench</doc>
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="workspace_type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_workspace"
              c:identifier="panel_workbench_focus_workspace">
        <source-position filename="src/panel-workbench.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_workspace"
              c:identifier="panel_workbench_foreach_workspace"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="246">Calls @foreach_func for each workspace in the workbench.</doc>
        <source-position filename="src/panel-workbench.h" line="95"/>
        <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/panel-workbench.c"
                 line="248">a #PanelWorkbench</doc>
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="foreach_func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="249">a function to call for each workspace</doc>
            <type name="WorkspaceForeach" c:type="PanelWorkspaceForeach"/>
          </parameter>
          <parameter name="foreach_func_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="250">the data for the @foreach_func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="panel_workbench_get_id"
              glib:get-property="id">
        <source-position filename="src/panel-workbench.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_workspace"
              c:identifier="panel_workbench_remove_workspace">
        <source-position filename="src/panel-workbench.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="workspace" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id"
              c:identifier="panel_workbench_set_id"
              glib:set-property="id">
        <source-position filename="src/panel-workbench.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workbench" c:type="PanelWorkbench*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="id"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_id"
                getter="get_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="137">The "id" of the workbench.

This is generally used by applications to help destinguish between
projects, so that the project-id matches the workbench-id.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.WindowGroup" c:type="GtkWindowGroup"/>
      </field>
      <glib:signal name="activate" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WorkbenchClass"
            c:type="PanelWorkbenchClass"
            glib:is-gtype-struct-for="Workbench">
      <source-position filename="src/panel-workbench.h" line="72"/>
      <field name="parent_class">
        <type name="Gtk.WindowGroupClass" c:type="GtkWindowGroupClass"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="src/panel-workbench.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Workbench" c:type="PanelWorkbench*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unload_async">
        <callback name="unload_async">
          <source-position filename="src/panel-workbench.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Workbench" c:type="PanelWorkbench*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="3">
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unload_finish">
        <callback name="unload_finish" throws="1">
          <source-position filename="src/panel-workbench.h" line="66"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Workbench" c:type="PanelWorkbench*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="install_action"
              c:identifier="panel_workbench_class_install_action">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="211">This should be called at class initialization time to specify
actions to be added for all instances of this class.

Actions installed by this function are stateless. The only state
they have is whether they are enabled or not.</doc>
        <source-position filename="src/panel-workbench.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="workbench_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="213">a `PanelWorkspaceClass`</doc>
            <type name="WorkbenchClass" c:type="PanelWorkbenchClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="214">a prefixed action name, such as "project.open"</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="parameter_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="215">the parameter type</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="activate"
                     transfer-ownership="none"
                     scope="notified">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="216">callback to use when the action is activated</doc>
            <type name="ActionActivateFunc" c:type="PanelActionActivateFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_property_action"
              c:identifier="panel_workbench_class_install_property_action"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workbench.c"
             line="456">Installs an action called @action_name on @workbench_class and
binds its state to the value of the @property_name property.

This function will perform a few santity checks on the property selected
via @property_name. Namely, the property must exist, must be readable,
writable and must not be construct-only. There are also restrictions
on the type of the given property, it must be boolean, int, unsigned int,
double or string. If any of these conditions are not met, a critical
warning will be printed and no action will be added.

The state type of the action matches the property type.

If the property is boolean, the action will have no parameter and
toggle the property value. Otherwise, the action will have a parameter
of the same type as the property.</doc>
        <source-position filename="src/panel-workbench.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="workbench_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="458">a `GtkWorkbenchClass`</doc>
            <type name="WorkbenchClass" c:type="PanelWorkbenchClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="459">name of the action</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workbench.c"
                 line="460">name of the property in instances of @workbench_class
  or any parent class.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="Workspace"
           c:symbol-prefix="workspace"
           c:type="PanelWorkspace"
           parent="Adw.ApplicationWindow"
           glib:type-name="PanelWorkspace"
           glib:get-type="panel_workspace_get_type"
           glib:type-struct="WorkspaceClass">
      <source-position filename="src/panel-workbench.h" line="121"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <function name="find_from_widget"
                c:identifier="panel_workspace_find_from_widget"
                version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="228">Finds the workspace that contains @widget.</doc>
        <source-position filename="src/panel-workbench.h" line="124"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-workspace.c"
               line="234">a #PanelWorkspace or %NULL</doc>
          <type name="Workspace" c:type="PanelWorkspace*"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="230">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </function>
      <method name="action_set_enabled"
              c:identifier="panel_workspace_action_set_enabled">
        <source-position filename="src/panel-workbench.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="panel_workspace_get_id"
              glib:get-property="id">
        <source-position filename="src/panel-workbench.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_workbench"
              c:identifier="panel_workspace_get_workbench"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="394">Gets the #PanelWorkbench @self is a part of.</doc>
        <source-position filename="src/panel-workbench.h" line="126"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-workspace.c"
               line="400">a #PanelWorkbench, or %NULL</doc>
          <type name="Workbench" c:type="PanelWorkbench*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="396">a #PanelWorkspace</doc>
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="inhibit"
              c:identifier="panel_workspace_inhibit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="419">Inhibits one or more particular actions in the session.

When the resulting #PanelInhibitor releases it's last reference
the inhibitor will be dismissed. Alternatively, you may force the
release of the inhibit using panel_inhibitor_uninhibit().</doc>
        <source-position filename="src/panel-workbench.h" line="133"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/panel-workspace.c"
               line="431">a #PanelInhibitor or %NULL</doc>
          <type name="Inhibitor" c:type="PanelInhibitor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="421">a #PanelWorkspace</doc>
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="422">the inhibit flags</doc>
            <type name="Gtk.ApplicationInhibitFlags"
                  c:type="GtkApplicationInhibitFlags"/>
          </parameter>
          <parameter name="reason" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="423">the reason for the inhibit</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id"
              c:identifier="panel_workspace_set_id"
              glib:set-property="id">
        <source-position filename="src/panel-workbench.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Workspace" c:type="PanelWorkspace*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="id"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_id"
                getter="get_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="125">The "id" of the workspace.

This is generally used by applications to help destinguish between
types of workspaces, particularly when saving session state.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Adw.ApplicationWindow" c:type="AdwApplicationWindow"/>
      </field>
    </class>
    <record name="WorkspaceClass"
            c:type="PanelWorkspaceClass"
            glib:is-gtype-struct-for="Workspace">
      <source-position filename="src/panel-workbench.h" line="121"/>
      <field name="parent_class">
        <type name="Adw.ApplicationWindowClass"
              c:type="AdwApplicationWindowClass"/>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="install_action"
              c:identifier="panel_workspace_class_install_action">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="193">This should be called at class initialization time to specify
actions to be added for all instances of this class.

Actions installed by this function are stateless. The only state
they have is whether they are enabled or not.</doc>
        <source-position filename="src/panel-workbench.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="195">a `PanelWorkspaceClass`</doc>
            <type name="WorkspaceClass" c:type="PanelWorkspaceClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="196">a prefixed action name, such as "project.open"</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="parameter_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="197">the parameter type</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="activate"
                     transfer-ownership="none"
                     scope="notified">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="198">callback to use when the action is activated</doc>
            <type name="ActionActivateFunc" c:type="PanelActionActivateFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_property_action"
              c:identifier="panel_workspace_class_install_property_action"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/panel-workspace.c"
             line="293">Installs an action called @action_name on @workspace_class and
binds its state to the value of the @property_name property.

This function will perform a few santity checks on the property selected
via @property_name. Namely, the property must exist, must be readable,
writable and must not be construct-only. There are also restrictions
on the type of the given property, it must be boolean, int, unsigned int,
double or string. If any of these conditions are not met, a critical
warning will be printed and no action will be added.

The state type of the action matches the property type.

If the property is boolean, the action will have no parameter and
toggle the property value. Otherwise, the action will have a parameter
of the same type as the property.</doc>
        <source-position filename="src/panel-workbench.h" line="146"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="workspace_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="295">a `GtkWorkspaceClass`</doc>
            <type name="WorkspaceClass" c:type="PanelWorkspaceClass*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="296">name of the action</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/panel-workspace.c"
                 line="297">name of the property in instances of @workspace_class
  or any parent class.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="WorkspaceForeach"
              c:type="PanelWorkspaceForeach"
              version="1.4">
      <doc xml:space="preserve"
           filename="src/panel-workbench.h"
           line="44">This function is called for each workspace window within a #PanelWorkbench
when using panel_workbench_foreach_workspace().</doc>
      <source-position filename="src/panel-workbench.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="workspace" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/panel-workbench.h"
               line="46">a #PanelWorkspace</doc>
          <type name="Workspace" c:type="PanelWorkspace*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/panel-workbench.h"
               line="47">closure data provided with foreach func</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <function name="check_version" c:identifier="panel_check_version">
      <source-position filename="src/panel-version-macros.h" line="158"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="major" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="minor" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="micro" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="finalize" c:identifier="panel_finalize">
      <source-position filename="src/panel-init.h" line="30"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="get_major_version" c:identifier="panel_get_major_version">
      <source-position filename="src/panel-version-macros.h" line="152"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_micro_version" c:identifier="panel_get_micro_version">
      <source-position filename="src/panel-version-macros.h" line="156"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_minor_version" c:identifier="panel_get_minor_version">
      <source-position filename="src/panel-version-macros.h" line="154"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_resource" c:identifier="panel_get_resource">
      <source-position filename="src/panel-resources.h" line="6"/>
      <return-value transfer-ownership="full">
        <type name="Gio.Resource" c:type="GResource*"/>
      </return-value>
    </function>
    <function name="init" c:identifier="panel_init">
      <source-position filename="src/panel-init.h" line="28"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="marshal_BOOLEAN__OBJECT_OBJECT"
              c:identifier="panel_marshal_BOOLEAN__OBJECT_OBJECT">
      <source-position filename="src/panel-marshal.h" line="10"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_BOOLEAN__OBJECT_OBJECTv"
              c:identifier="panel_marshal_BOOLEAN__OBJECT_OBJECTv"
              introspectable="0">
      <source-position filename="src/panel-marshal.h" line="17"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_params" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="param_types" transfer-ownership="none">
          <type name="GType" c:type="GType*"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_OBJECT__OBJECT"
              c:identifier="panel_marshal_OBJECT__OBJECT">
      <source-position filename="src/panel-marshal.h" line="27"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_OBJECT__OBJECTv"
              c:identifier="panel_marshal_OBJECT__OBJECTv"
              introspectable="0">
      <source-position filename="src/panel-marshal.h" line="34"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="instance"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_params" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="param_types" transfer-ownership="none">
          <type name="GType" c:type="GType*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="panel-settings">
      <doc xml:space="preserve"
           filename="src/panel-settings.c"
           line="32">This provides a #GSettings-like object that can have overrides for
specific identifiers.

Typically, this is used for features like per-project overrides where
the #PanelSettings:identifier is a unique identifer for a project.

It uses layers of #GSettings internally to retrieve modified settings
at the override level, then falling back to the default path (which
may or may not have a user-value itself).</doc>
    </docsection>
    <docsection name="panel-version">
      <doc xml:space="preserve"
           filename="src/panel-version.h"
           line="27">This module provides various macros that may be used to build code based
on the version of libpanel at build time.</doc>
    </docsection>
  </namespace>
</repository>
