<?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="Gtk" version="3.0"/>
  <include name="GtkSource" version="3.0"/>
  <namespace name="Pluma"
             version="1.0"
             shared-library=""
             c:identifier-prefixes="Pluma"
             c:symbol-prefixes="pluma">
    <class name="App"
           c:symbol-prefix="app"
           c:type="PlumaApp"
           parent="GObject.Object"
           glib:type-name="PlumaApp"
           glib:get-type="pluma_app_get_type"
           glib:type-struct="AppClass">
      <function name="get_default" c:identifier="pluma_app_get_default">
        <doc xml:space="preserve">Returns the #PlumaApp object. This object is a singleton and
represents the running pluma instance.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaApp pointer</doc>
          <type name="App" c:type="PlumaApp*"/>
        </return-value>
      </function>
      <method name="create_window" c:identifier="pluma_app_create_window">
        <doc xml:space="preserve">Create a new #PlumaWindow part of @app.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the new #PlumaWindow</doc>
          <type name="Window" c:type="PlumaWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
          <parameter name="screen"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_window"
              c:identifier="pluma_app_get_active_window">
        <doc xml:space="preserve">Retrives the #PlumaWindow currently active.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #PlumaWindow</doc>
          <type name="Window" c:type="PlumaWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="pluma_app_get_documents">
        <doc xml:space="preserve">Returns all the documents currently open in #PlumaApp.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">
a newly allocated list of #PlumaDocument objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_lockdown" c:identifier="pluma_app_get_lockdown">
        <doc xml:space="preserve">Gets the lockdown mask (see #PlumaLockdownMask) for the application.
The lockdown mask determines which functions are locked down using
the MATE-wise lockdown GSettings keys.</doc>
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="PlumaLockdownMask"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="pluma_app_get_views">
        <doc xml:space="preserve">Returns all the views currently present in #PlumaApp.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">
a newly allocated list of #PlumaView objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows" c:identifier="pluma_app_get_windows">
        <doc xml:space="preserve">Returns all the windows currently present in #PlumaApp.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the list of #PlumaWindows objects.
The list should not be freed</doc>
          <type name="GLib.List" c:type="const GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="lockdown" transfer-ownership="none">
        <type name="LockdownMask"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="AppPrivate" c:type="PlumaAppPrivate*"/>
      </field>
    </class>
    <record name="AppClass"
            c:type="PlumaAppClass"
            glib:is-gtype-struct-for="App">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="AppPrivate" c:type="PlumaAppPrivate" disguised="1">
    </record>
    <bitfield name="DebugSection"
              glib:type-name="PlumaDebugSection"
              glib:get-type="pluma_debug_section_get_type"
              c:type="PlumaDebugSection">
      <member name="no_debug"
              value="0"
              c:identifier="PLUMA_NO_DEBUG"
              glib:nick="no-debug">
      </member>
      <member name="debug_view"
              value="1"
              c:identifier="PLUMA_DEBUG_VIEW"
              glib:nick="debug-view">
      </member>
      <member name="debug_search"
              value="2"
              c:identifier="PLUMA_DEBUG_SEARCH"
              glib:nick="debug-search">
      </member>
      <member name="debug_print"
              value="4"
              c:identifier="PLUMA_DEBUG_PRINT"
              glib:nick="debug-print">
      </member>
      <member name="debug_prefs"
              value="8"
              c:identifier="PLUMA_DEBUG_PREFS"
              glib:nick="debug-prefs">
      </member>
      <member name="debug_plugins"
              value="16"
              c:identifier="PLUMA_DEBUG_PLUGINS"
              glib:nick="debug-plugins">
      </member>
      <member name="debug_tab"
              value="32"
              c:identifier="PLUMA_DEBUG_TAB"
              glib:nick="debug-tab">
      </member>
      <member name="debug_document"
              value="64"
              c:identifier="PLUMA_DEBUG_DOCUMENT"
              glib:nick="debug-document">
      </member>
      <member name="debug_commands"
              value="128"
              c:identifier="PLUMA_DEBUG_COMMANDS"
              glib:nick="debug-commands">
      </member>
      <member name="debug_app"
              value="256"
              c:identifier="PLUMA_DEBUG_APP"
              glib:nick="debug-app">
      </member>
      <member name="debug_session"
              value="512"
              c:identifier="PLUMA_DEBUG_SESSION"
              glib:nick="debug-session">
      </member>
      <member name="debug_utils"
              value="1024"
              c:identifier="PLUMA_DEBUG_UTILS"
              glib:nick="debug-utils">
      </member>
      <member name="debug_metadata"
              value="2048"
              c:identifier="PLUMA_DEBUG_METADATA"
              glib:nick="debug-metadata">
      </member>
      <member name="debug_window"
              value="4096"
              c:identifier="PLUMA_DEBUG_WINDOW"
              glib:nick="debug-window">
      </member>
      <member name="debug_loader"
              value="8192"
              c:identifier="PLUMA_DEBUG_LOADER"
              glib:nick="debug-loader">
      </member>
      <member name="debug_saver"
              value="16384"
              c:identifier="PLUMA_DEBUG_SAVER"
              glib:nick="debug-saver">
      </member>
    </bitfield>
    <class name="Document"
           c:symbol-prefix="document"
           c:type="PlumaDocument"
           parent="GtkSource.Buffer"
           glib:type-name="PlumaDocument"
           glib:get-type="pluma_document_get_type"
           glib:type-struct="DocumentClass">
      <constructor name="new" c:identifier="pluma_document_new">
        <return-value transfer-ownership="full">
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
      </constructor>
      <function name="error_quark" c:identifier="pluma_document_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="cursor_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load" invoker="load">
        <doc xml:space="preserve">Load a document. This results in the "load" signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri where to load the document from.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loading">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
          <parameter name="total_size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saving">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
          <parameter name="total_size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_highlight_updated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_can_search_again"
              c:identifier="pluma_document_get_can_search_again">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_type"
              c:identifier="pluma_document_get_content_type">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_deleted" c:identifier="pluma_document_get_deleted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_search_highlighting"
              c:identifier="pluma_document_get_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding" c:identifier="pluma_document_get_encoding">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="pluma_document_get_language">
        <return-value transfer-ownership="none">
          <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_last_replace_text"
              c:identifier="pluma_document_get_last_replace_text">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location" c:identifier="pluma_document_get_location">
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">a new #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata" c:identifier="pluma_document_get_metadata">
        <doc xml:space="preserve">Gets the metadata assigned to @key.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the value assigned to @key.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">name of the key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type" c:identifier="pluma_document_get_mime_type">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="pluma_document_get_newline_type">
        <return-value transfer-ownership="none">
          <type name="DocumentNewlineType" c:type="PlumaDocumentNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_readonly" c:identifier="pluma_document_get_readonly">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_text"
              c:identifier="pluma_document_get_search_text">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="flags"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_short_name_for_display"
              c:identifier="pluma_document_get_short_name_for_display">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri" c:identifier="pluma_document_get_uri">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="pluma_document_get_uri_for_display">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="goto_line" c:identifier="pluma_document_goto_line">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_line_offset"
              c:identifier="pluma_document_goto_line_offset">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="line_offset" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_file" c:identifier="pluma_document_insert_file">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_local" c:identifier="pluma_document_is_local">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untitled" c:identifier="pluma_document_is_untitled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untouched" c:identifier="pluma_document_is_untouched">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="pluma_document_load">
        <doc xml:space="preserve">Load a document. This results in the "load" signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri where to load the document from.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_cancel" c:identifier="pluma_document_load_cancel">
        <doc xml:space="preserve">Cancel load of a document.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="replace_all" c:identifier="pluma_document_replace_all">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="find" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="pluma_document_save">
        <doc xml:space="preserve">Save the document to its previous location. This results in the "save"
signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">optionnal #PlumaDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_as" c:identifier="pluma_document_save_as">
        <doc xml:space="preserve">Save the document to a new location. This results in the "save" signal
to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri where to save the document.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">optionnal #PlumaDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_backward"
              c:identifier="pluma_document_search_backward">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_forward"
              c:identifier="pluma_document_search_forward">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_type"
              c:identifier="pluma_document_set_content_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_search_highlighting"
              c:identifier="pluma_document_set_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="pluma_document_set_language">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_last_replace_text"
              c:identifier="pluma_document_set_last_replace_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="pluma_document_set_metadata"
              introspectable="0">
        <doc xml:space="preserve">Sets metadata on a document.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="first_key" transfer-ownership="none">
            <doc xml:space="preserve">name of the first key to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">value for the first key, followed optionally by more key/value pairs,
followed by %NULL.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_newline_type"
              c:identifier="pluma_document_set_newline_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="newline_type" transfer-ownership="none">
            <type name="DocumentNewlineType"
                  c:type="PlumaDocumentNewlineType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="pluma_document_set_search_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_short_name_for_display"
              c:identifier="pluma_document_set_short_name_for_display">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="pluma_document_set_uri">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-search-again" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content-type" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="enable-search-highlighting"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="encoding" transfer-ownership="none">
        <type name="Encoding"/>
      </property>
      <property name="mime-type" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="newline-type" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The :newline-type property determines what is considered
as a line ending when saving the document</doc>
        <type name="DocumentNewlineType"/>
      </property>
      <property name="read-only" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="shortname" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="uri" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="buffer">
        <type name="GtkSource.Buffer" c:type="GtkSourceBuffer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DocumentPrivate" c:type="PlumaDocumentPrivate*"/>
      </field>
      <glib:signal name="cursor-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load" when="last">
        <doc xml:space="preserve">The "load" signal is emitted when a document is loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri where to load the document from.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loading" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="save" when="last">
        <doc xml:space="preserve">The "save" signal is emitted when the document is saved.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri where the document is about to be saved.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaEncoding used to save the document.</doc>
            <type name="Encoding"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaDocumentSaveFlags for the save operation.</doc>
            <type name="DocumentSaveFlags"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saving" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="search-highlight-updated" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Gtk.TextIter"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DocumentClass"
            c:type="PlumaDocumentClass"
            glib:is-gtype-struct-for="Document">
      <field name="parent_class">
        <type name="GtkSource.BufferClass" c:type="GtkSourceBufferClass"/>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load">
        <callback name="load">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <doc xml:space="preserve">the uri where to load the document from.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="encoding" transfer-ownership="none">
              <doc xml:space="preserve">the #PlumaEncoding to encode the document.</doc>
              <type name="Encoding" c:type="const PlumaEncoding*"/>
            </parameter>
            <parameter name="line_pos" transfer-ownership="none">
              <doc xml:space="preserve">the line to show.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="create" transfer-ownership="none">
              <doc xml:space="preserve">whether the document should be created if it doesn't exist.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loading">
        <callback name="loading">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
            <parameter name="total_size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loaded">
        <callback name="loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="encoding" transfer-ownership="none">
              <type name="Encoding" c:type="const PlumaEncoding*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saving">
        <callback name="saving">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
            <parameter name="total_size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saved">
        <callback name="saved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_highlight_updated">
        <callback name="search_highlight_updated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="PlumaDocument*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="DocumentNewlineType"
                 glib:type-name="PlumaDocumentNewlineType"
                 glib:get-type="pluma_document_newline_type_get_type"
                 c:type="PlumaDocumentNewlineType">
      <member name="lf"
              value="0"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_LF"
              glib:nick="lf">
      </member>
      <member name="cr"
              value="1"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_CR"
              glib:nick="cr">
      </member>
      <member name="cr_lf"
              value="2"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_CR_LF"
              glib:nick="cr-lf">
      </member>
    </enumeration>
    <record name="DocumentPrivate" c:type="PlumaDocumentPrivate" disguised="1">
    </record>
    <bitfield name="DocumentSaveFlags"
              glib:type-name="PlumaDocumentSaveFlags"
              glib:get-type="pluma_document_save_flags_get_type"
              c:type="PlumaDocumentSaveFlags">
      <member name="ignore_mtime"
              value="1"
              c:identifier="PLUMA_DOCUMENT_SAVE_IGNORE_MTIME"
              glib:nick="ignore-mtime">
        <doc xml:space="preserve">save file despite external modifications.</doc>
      </member>
      <member name="ignore_backup"
              value="2"
              c:identifier="PLUMA_DOCUMENT_SAVE_IGNORE_BACKUP"
              glib:nick="ignore-backup">
        <doc xml:space="preserve">write the file directly without attempting to backup.</doc>
      </member>
      <member name="preserve_backup"
              value="4"
              c:identifier="PLUMA_DOCUMENT_SAVE_PRESERVE_BACKUP"
              glib:nick="preserve-backup">
        <doc xml:space="preserve">preserve previous backup file, needed to support autosaving.</doc>
      </member>
    </bitfield>
    <record name="Encoding"
            c:type="PlumaEncoding"
            glib:type-name="PlumaEncoding"
            glib:get-type="pluma_encoding_get_type"
            c:symbol-prefix="encoding">
      <method name="copy" c:identifier="pluma_encoding_copy">
        <return-value transfer-ownership="full">
          <type name="Encoding" c:type="PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="pluma_encoding_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_charset" c:identifier="pluma_encoding_get_charset">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="pluma_encoding_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="pluma_encoding_to_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_current" c:identifier="pluma_encoding_get_current">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
      </function>
      <function name="get_from_charset"
                c:identifier="pluma_encoding_get_from_charset">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_from_index"
                c:identifier="pluma_encoding_get_from_index">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_utf8" c:identifier="pluma_encoding_get_utf8">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
      </function>
    </record>
    <class name="EncodingsComboBox"
           c:symbol-prefix="encodings_combo_box"
           c:type="PlumaEncodingsComboBox"
           parent="Gtk.ComboBox"
           glib:type-name="PlumaEncodingsComboBox"
           glib:get-type="pluma_encodings_combo_box_get_type"
           glib:type-struct="EncodingsComboBoxClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="pluma_encodings_combo_box_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="save_mode" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_selected_encoding"
              c:identifier="pluma_encodings_combo_box_get_selected_encoding">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="EncodingsComboBox" c:type="PlumaEncodingsComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selected_encoding"
              c:identifier="pluma_encodings_combo_box_set_selected_encoding">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="EncodingsComboBox" c:type="PlumaEncodingsComboBox*"/>
          </instance-parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <property name="save-mode"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <field name="priv">
        <type name="EncodingsComboBoxPrivate"
              c:type="PlumaEncodingsComboBoxPrivate*"/>
      </field>
    </class>
    <record name="EncodingsComboBoxClass"
            c:type="PlumaEncodingsComboBoxClass"
            glib:is-gtype-struct-for="EncodingsComboBox">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <record name="EncodingsComboBoxPrivate"
            c:type="PlumaEncodingsComboBoxPrivate"
            disguised="1">
    </record>
    <bitfield name="LockdownMask"
              glib:type-name="PlumaLockdownMask"
              glib:get-type="pluma_lockdown_mask_get_type"
              c:type="PlumaLockdownMask">
      <member name="command_line"
              value="1"
              c:identifier="PLUMA_LOCKDOWN_COMMAND_LINE"
              glib:nick="command-line">
      </member>
      <member name="printing"
              value="2"
              c:identifier="PLUMA_LOCKDOWN_PRINTING"
              glib:nick="printing">
      </member>
      <member name="print_setup"
              value="4"
              c:identifier="PLUMA_LOCKDOWN_PRINT_SETUP"
              glib:nick="print-setup">
      </member>
      <member name="save_to_disk"
              value="8"
              c:identifier="PLUMA_LOCKDOWN_SAVE_TO_DISK"
              glib:nick="save-to-disk">
      </member>
      <member name="all"
              value="15"
              c:identifier="PLUMA_LOCKDOWN_ALL"
              glib:nick="all">
      </member>
    </bitfield>
    <constant name="METADATA_ATTRIBUTE_ENCODING"
              value="metadata::pluma-encoding"
              c:type="PLUMA_METADATA_ATTRIBUTE_ENCODING">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_LANGUAGE"
              value="metadata::pluma-language"
              c:type="PLUMA_METADATA_ATTRIBUTE_LANGUAGE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_POSITION"
              value="metadata::pluma-position"
              c:type="PLUMA_METADATA_ATTRIBUTE_POSITION">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Message"
           c:symbol-prefix="message"
           c:type="PlumaMessage"
           parent="GObject.Object"
           glib:type-name="PlumaMessage"
           glib:get-type="pluma_message_get_type"
           glib:type-struct="MessageClass">
      <method name="get" c:identifier="pluma_message_get" introspectable="0">
        <doc xml:space="preserve">Get values of message arguments. The supplied @var_args should contain
pairs of keys and pointers to variables which are set to the argument
value for the specified key.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">a %NULL variable argument list of key/value container pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key_type" c:identifier="pluma_message_get_key_type">
        <doc xml:space="preserve">Get the type of a message argument.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the type of @key</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_message_type"
              c:identifier="pluma_message_get_message_type">
        <return-value transfer-ownership="none" nullable="1">
          <type name="gpointer" c:type="_PlumaMessageType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_method" c:identifier="pluma_message_get_method">
        <doc xml:space="preserve">Get the message method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="pluma_message_get_object_path">
        <doc xml:space="preserve">Get the message object path.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_valist"
              c:identifier="pluma_message_get_valist"
              introspectable="0">
        <doc xml:space="preserve">Get values of message arguments. The supplied @var_args should contain
pairs of keys and pointers to variables which are set to the argument
value for the specified key.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve">a %NULL variable argument list of key/value container pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="pluma_message_get_value">
        <doc xml:space="preserve">Get the value of a specific message argument. @value will be initialized
with the correct type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve">value return container</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_key" c:identifier="pluma_message_has_key">
        <doc xml:space="preserve">Check whether the message has a specific key.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @message has argument @key</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="pluma_message_set" introspectable="0">
        <doc xml:space="preserve">Set values of message arguments. The supplied @var_args should contain
pairs of keys and argument values.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">a %NULL terminated variable list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valist"
              c:identifier="pluma_message_set_valist"
              introspectable="0">
        <doc xml:space="preserve">Set values of message arguments. The supplied @var_args should contain
pairs of keys and argument values.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve">a %NULL terminated variable list of key/value pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="pluma_message_set_value">
        <doc xml:space="preserve">Set value of message argument @key to @value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve">the argument value</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valuesv" c:identifier="pluma_message_set_valuesv">
        <doc xml:space="preserve">Set message argument values.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="keys" transfer-ownership="none">
            <doc xml:space="preserve">keys to set values for</doc>
            <array length="2" zero-terminated="0" c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve">values to set</doc>
            <array length="2" zero-terminated="0" c:type="GValue*">
              <type name="GObject.Value" c:type="GValue"/>
            </array>
          </parameter>
          <parameter name="n_values" transfer-ownership="none">
            <doc xml:space="preserve">number of arguments to set values for</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate" c:identifier="pluma_message_validate">
        <doc xml:space="preserve">Validates the message arguments according to the message type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the message is valid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="method" transfer-ownership="none">
        <doc xml:space="preserve">The messages method.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="object-path" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="type"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="MessageType"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessagePrivate" c:type="PlumaMessagePrivate*"/>
      </field>
    </class>
    <class name="MessageBus"
           c:symbol-prefix="message_bus"
           c:type="PlumaMessageBus"
           parent="GObject.Object"
           glib:type-name="PlumaMessageBus"
           glib:get-type="pluma_message_bus_get_type"
           glib:type-struct="MessageBusClass">
      <constructor name="new" c:identifier="pluma_message_bus_new">
        <doc xml:space="preserve">Create a new message bus. Use pluma_message_bus_get_default() to get the
default, application wide, message bus. Creating a new bus is useful for
associating a specific bus with for instance a #PlumaWindow.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #PlumaMessageBus</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="pluma_message_bus_get_default">
        <doc xml:space="preserve">Get the default application #PlumaMessageBus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the default #PlumaMessageBus</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
      </function>
      <virtual-method name="dispatch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="registered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unregistered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="block" c:identifier="pluma_message_bus_block">
        <doc xml:space="preserve">Blocks evoking the callback specified by @id. Unblock the callback by
using pluma_message_bus_unblock().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_by_func"
              c:identifier="pluma_message_bus_block_by_func">
        <doc xml:space="preserve">Blocks evoking the callback that matches provided @callback and @userdata.
Unblock the callback using pluma_message_unblock_by_func().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect" c:identifier="pluma_message_bus_connect">
        <doc xml:space="preserve">Connect a callback handler to be evoked when message @method at @object_path
is sent over the bus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the callback identifier</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve">function to be called when message @method at @object_path is sent</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">userdata to use for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_data"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:space="preserve">function to evoke with @userdata as argument when @userdata
               needs to be freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect" c:identifier="pluma_message_bus_disconnect">
        <doc xml:space="preserve">Disconnects a previously connected message callback.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id as returned by pluma_message_bus_connect()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect_by_func"
              c:identifier="pluma_message_bus_disconnect_by_func">
        <doc xml:space="preserve">Disconnects a previously connected message callback by matching the
provided callback function and userdata. See also
pluma_message_bus_disconnect().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the connected callback</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="pluma_message_bus_foreach">
        <doc xml:space="preserve">Calls @func for each message type registered on the bus</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessagebus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve">the callback function</doc>
            <type name="MessageBusForeach" c:type="PlumaMessageBusForeach"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the user data to supply to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_registered"
              c:identifier="pluma_message_bus_is_registered">
        <doc xml:space="preserve">Check whether a message type @method at @object_path is registered on the
bus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the @method at @object_path is a registered message
              type on the bus</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="pluma_message_bus_lookup">
        <doc xml:space="preserve">Get the registered #PlumaMessageType for @method at @object_path. The
returned #PlumaMessageType is owned by the bus and should not be unreffed.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the registered #PlumaMessageType or %NULL if no message type
              is registered for @method at @object_path</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register"
              c:identifier="pluma_message_bus_register"
              introspectable="0">
        <doc xml:space="preserve">Register a message on the bus. A message must be registered on the bus before
it can be send. This function registers the type arguments for @method at
@object_path. The arguments are specified with the variable arguments which
should contain pairs of const gchar *key and GType terminated by %NULL. The
last @num_optional arguments are registered as optional (and are thus not
required when sending a message).

This function emits a #PlumaMessageBus::registered signal.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the registered #PlumaMessageType. The returned reference is
              owned by the bus. If you want to keep it alive after
              unregistering, use pluma_message_type_ref().</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method to register</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve">the number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated list of key/gtype method argument pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send"
              c:identifier="pluma_message_bus_send"
              introspectable="0">
        <doc xml:space="preserve">This provides a convenient way to quickly send a message @method at
@object_path asynchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message arguments.
To send a message synchronously use pluma_message_bus_send_sync().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message"
              c:identifier="pluma_message_bus_send_message">
        <doc xml:space="preserve">This sends the provided @message asynchronously over the bus. To send
a message synchronously, use pluma_message_bus_send_message_sync(). The
convenience function pluma_message_bus_send() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the message to send</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message_sync"
              c:identifier="pluma_message_bus_send_message_sync">
        <doc xml:space="preserve">This sends the provided @message synchronously over the bus. To send
a message asynchronously, use pluma_message_bus_send_message(). The
convenience function pluma_message_bus_send_sync() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the message to send</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_sync"
              c:identifier="pluma_message_bus_send_sync"
              introspectable="0">
        <doc xml:space="preserve">This provides a convenient way to quickly send a message @method at
@object_path synchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message
arguments. To send a message asynchronously use pluma_message_bus_send().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the constructed #PlumaMessage. The caller owns a reference
              to the #PlumaMessage and should call g_object_unref() when
              it is no longer needed</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock" c:identifier="pluma_message_bus_unblock">
        <doc xml:space="preserve">Unblocks the callback specified by @id.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_by_func"
              c:identifier="pluma_message_bus_unblock_by_func">
        <doc xml:space="preserve">Unblocks the callback that matches provided @callback and @userdata.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister" c:identifier="pluma_message_bus_unregister">
        <doc xml:space="preserve">Unregisters a previously registered message type. This is especially useful
for plugins which should unregister message types when they are deactivated.

This function emits the #PlumaMessageBus::unregistered signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType to unregister</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_all"
              c:identifier="pluma_message_bus_unregister_all">
        <doc xml:space="preserve">Unregisters all message types for @object_path. This is especially useful for
plugins which should unregister message types when they are deactivated.

This function emits the #PlumaMessageBus::unregistered signal for all
unregistered message types.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessageBusPrivate" c:type="PlumaMessageBusPrivate*"/>
      </field>
      <glib:signal name="dispatch" when="last">
        <doc xml:space="preserve">The "dispatch" signal is emitted when a message is to be dispatched.
The message is dispatched in the default handler of this signal.
Primary use of this signal is to customize the dispatch of a message
(for instance to automatically dispatch all messages over DBus).
2</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessage to dispatch</doc>
            <type name="Message"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="registered" when="last">
        <doc xml:space="preserve">The "registered" signal is emitted when a message has been registered
on the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the registered #PlumaMessageType</doc>
            <type name="MessageType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unregistered" when="last">
        <doc xml:space="preserve">The "unregistered" signal is emitted when a message has been
unregistered from the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the unregistered #PlumaMessageType</doc>
            <type name="MessageType"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageBusClass"
            c:type="PlumaMessageBusClass"
            glib:is-gtype-struct-for="MessageBus">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="Message" c:type="PlumaMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="registered">
        <callback name="registered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message_type" transfer-ownership="none">
              <type name="MessageType" c:type="PlumaMessageType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unregistered">
        <callback name="unregistered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message_type" transfer-ownership="none">
              <type name="MessageType" c:type="PlumaMessageType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="MessageBusForeach" c:type="PlumaMessageBusForeach">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="message_type" transfer-ownership="none">
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageBusPrivate"
            c:type="PlumaMessageBusPrivate"
            disguised="1">
    </record>
    <callback name="MessageCallback" c:type="PlumaMessageCallback">
      <doc xml:space="preserve">Callback signature used for connecting callback functions to be called
when a message is received (see pluma_message_bus_connect()).</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bus" transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaMessageBus on which the message was sent</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaMessage which was sent</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the supplied user data when connecting the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageClass"
            c:type="PlumaMessageClass"
            glib:is-gtype-struct-for="Message">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MessagePrivate" c:type="PlumaMessagePrivate" disguised="1">
    </record>
    <record name="MessageType"
            c:type="PlumaMessageType"
            glib:type-name="PlumaMessageType"
            glib:get-type="pluma_message_type_get_type"
            c:symbol-prefix="message_type">
      <constructor name="new"
                   c:identifier="pluma_message_type_new"
                   introspectable="0">
        <doc xml:space="preserve">Create a new #PlumaMessageType for @method at @object_path. Argument names
and values are supplied by the NULL terminated variable argument list.
The last @num_optional provided arguments are considered optional.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the newly constructed #PlumaMessageType</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">key/gtype pair variable argument list</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_valist"
                   c:identifier="pluma_message_type_new_valist"
                   introspectable="0">
        <doc xml:space="preserve">Create a new #PlumaMessageType for @method at @object_path. Argument names
and values are supplied by the NULL terminated variable argument list.
The last @num_optional provided arguments are considered optional.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the newly constructed #PlumaMessageType</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="va_args" transfer-ownership="none">
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="foreach" c:identifier="pluma_message_type_foreach">
        <doc xml:space="preserve">Calls @func for each argument in the message type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve">the callback function</doc>
            <type name="MessageTypeForeach" c:type="PlumaMessageTypeForeach"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user data supplied to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_method" c:identifier="pluma_message_type_get_method">
        <doc xml:space="preserve">Get the message type method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message type method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="pluma_message_type_get_object_path">
        <doc xml:space="preserve">Get the message type object path.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message type object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="instantiate"
              c:identifier="pluma_message_type_instantiate"
              introspectable="0">
        <doc xml:space="preserve">Instantiate a new message from the message type with specific values
for the message arguments.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the newly created message</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated variable list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="instantiate_valist"
              c:identifier="pluma_message_type_instantiate_valist"
              introspectable="0">
        <doc xml:space="preserve">Instantiate a new message from the message type with specific values
for the message arguments.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the newly created message</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="va_args" transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated variable list of key/value pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="pluma_message_type_lookup">
        <doc xml:space="preserve">Get the argument key #GType.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GType of @key</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="pluma_message_type_ref">
        <doc xml:space="preserve">Increases the reference count on @message_type.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">@message_type</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set"
              c:identifier="pluma_message_type_set"
              introspectable="0">
        <doc xml:space="preserve">Sets argument names/types supplied by the NULL terminated variable
argument list. The last @num_optional provided arguments are considered
optional.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">key/gtype pair variable argument list</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valist"
              c:identifier="pluma_message_type_set_valist"
              introspectable="0">
        <doc xml:space="preserve">Sets argument names/types supplied by the NULL terminated variable
argument list @var_args. The last @num_optional provided arguments are
considered optional.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="va_args" transfer-ownership="none">
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="pluma_message_type_unref">
        <doc xml:space="preserve">Decreases the reference count on @message_type. When the reference count
drops to 0, @message_type is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="identifier" c:identifier="pluma_message_type_identifier">
        <doc xml:space="preserve">Get the string identifier for @method at @object_path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the identifier for @method at @object_path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_supported"
                c:identifier="pluma_message_type_is_supported">
        <doc xml:space="preserve">Returns if @type is #GType supported by the message system.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @type is a supported #GType</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">the #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_valid_object_path"
                c:identifier="pluma_message_type_is_valid_object_path">
        <doc xml:space="preserve">Returns whether @object_path is a valid object path</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @object_path is a valid object path</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <callback name="MessageTypeForeach" c:type="PlumaMessageTypeForeach">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="required" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="MountOperationFactory"
              c:type="PlumaMountOperationFactory"
              introspectable="0">
      <return-value>
        <type name="Gio.MountOperation" c:type="GMountOperation*"/>
      </return-value>
      <parameters>
        <parameter name="doc" transfer-ownership="none">
          <type name="Document" c:type="PlumaDocument*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Notebook"
           c:symbol-prefix="notebook"
           c:type="PlumaNotebook"
           parent="Gtk.Notebook"
           glib:type-name="PlumaNotebook"
           glib:get-type="pluma_notebook_get_type"
           glib:type-struct="NotebookClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="pluma_notebook_new">
        <doc xml:space="preserve">Creates a new #PlumaNotebook object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #PlumaNotebook</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="tab_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_close_request">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_detached">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_tab" c:identifier="pluma_notebook_add_tab">
        <doc xml:space="preserve">Adds the specified @tab to the @nb.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve">the position where the @tab should be added</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the @tab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_close_buttons_sensitive"
              c:identifier="pluma_notebook_get_close_buttons_sensitive">
        <doc xml:space="preserve">Whether the close buttons are sensitive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the close buttons are sensitive</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_drag_and_drop_enabled"
              c:identifier="pluma_notebook_get_tab_drag_and_drop_enabled">
        <doc xml:space="preserve">Whether the drag and drop is enabled in the @nb.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the drag and drop is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_tab" c:identifier="pluma_notebook_move_tab">
        <doc xml:space="preserve">Moves @tab from @src to @dest.
If dest_position is greater than or equal to the number of tabs
of the destination nootebook or negative, tab will be moved to the
end of the tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="dest_position" transfer-ownership="none">
            <doc xml:space="preserve">the position for @tab</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all_tabs"
              c:identifier="pluma_notebook_remove_all_tabs">
        <doc xml:space="preserve">Removes all #PlumaTab from @nb.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_tab" c:identifier="pluma_notebook_remove_tab">
        <doc xml:space="preserve">Removes @tab from @nb.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_tab" c:identifier="pluma_notebook_reorder_tab">
        <doc xml:space="preserve">Reorders the page containing @tab, so that it appears in @dest_position position.
If dest_position is greater than or equal to the number of tabs
of the destination notebook or negative, tab will be moved to the
end of the tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="dest_position" transfer-ownership="none">
            <doc xml:space="preserve">the position for @tab</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_always_show_tabs"
              c:identifier="pluma_notebook_set_always_show_tabs">
        <doc xml:space="preserve">Sets the visibility of the tabs in the @nb.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="show_tabs" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to always show the tabs</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_buttons_sensitive"
              c:identifier="pluma_notebook_set_close_buttons_sensitive">
        <doc xml:space="preserve">Sets whether the close buttons in the tabs of @nb are sensitive.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="sensitive" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to make the buttons sensitive</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tab_drag_and_drop_enabled"
              c:identifier="pluma_notebook_set_tab_drag_and_drop_enabled">
        <doc xml:space="preserve">Sets whether drag and drop of tabs in the @nb is enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to enable the drag and drop</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="notebook">
        <type name="Gtk.Notebook" c:type="GtkNotebook"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="NotebookPrivate" c:type="PlumaNotebookPrivate*"/>
      </field>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-close-request" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-detached" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="NotebookClass"
            c:type="PlumaNotebookClass"
            glib:is-gtype-struct-for="Notebook">
      <field name="parent_class">
        <type name="Gtk.NotebookClass" c:type="GtkNotebookClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_detached">
        <callback name="tab_detached">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tabs_reordered">
        <callback name="tabs_reordered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_close_request">
        <callback name="tab_close_request">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="NotebookPrivate" c:type="PlumaNotebookPrivate" disguised="1">
    </record>
    <class name="Panel"
           c:symbol-prefix="panel"
           c:type="PlumaPanel"
           parent="Gtk.Box"
           glib:type-name="PlumaPanel"
           glib:get-type="pluma_panel_get_type"
           glib:type-struct="PanelClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_panel_new">
        <doc xml:space="preserve">Creates a new #PlumaPanel with the given @orientation. You shouldn't create
a new panel use pluma_window_get_side_panel() or pluma_window_get_bottom_panel()
instead.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #PlumaPanel object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkOrientation</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_document">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="item_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="item_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_item" c:identifier="pluma_panel_activate_item">
        <doc xml:space="preserve">Switches to the page that contains @item.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if it was activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve">the item to be activated</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item" c:identifier="pluma_panel_add_item">
        <doc xml:space="preserve">Adds a new item to the @panel.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">the image to be shown in the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item_with_stock_icon"
              c:identifier="pluma_panel_add_item_with_stock_icon">
        <doc xml:space="preserve">Same as pluma_panel_add_item() but using an image from stock.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_items" c:identifier="pluma_panel_get_n_items">
        <doc xml:space="preserve">Gets the number of items in a @panel.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of items contained in #PlumaPanel</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="pluma_panel_get_orientation">
        <doc xml:space="preserve">Gets the orientation of the @panel.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkOrientation of #PlumaPanel</doc>
          <type name="Gtk.Orientation" c:type="GtkOrientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="item_is_active" c:identifier="pluma_panel_item_is_active">
        <doc xml:space="preserve">Returns whether @item is the active widget in @panel</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @item is the active widget</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_item" c:identifier="pluma_panel_remove_item">
        <doc xml:space="preserve">Removes the widget @item from the panel if it is in the @panel and returns
%TRUE if there was not any problem.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if it was well removed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve">the item to be removed from the panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="panel-orientation"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Orientation"/>
      </property>
      <field name="vbox">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PanelPrivate" c:type="PlumaPanelPrivate*"/>
      </field>
      <glib:signal name="close" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="focus-document" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="item-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="item-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PanelClass"
            c:type="PlumaPanelClass"
            glib:is-gtype-struct-for="Panel">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="item_added">
        <callback name="item_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="PlumaPanel*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="item_removed">
        <callback name="item_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="PlumaPanel*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="close">
        <callback name="close">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="PlumaPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="focus_document">
        <callback name="focus_document">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="PlumaPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_pluma_reserved1" introspectable="0">
        <callback name="_pluma_reserved1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved2" introspectable="0">
        <callback name="_pluma_reserved2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved3" introspectable="0">
        <callback name="_pluma_reserved3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved4" introspectable="0">
        <callback name="_pluma_reserved4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="PanelPrivate" c:type="PlumaPanelPrivate" disguised="1">
    </record>
    <record name="PrefsManager" c:type="PlumaPrefsManager">
      <field name="settings" writable="1">
        <type name="Gio.Settings" c:type="GSettings*"/>
      </field>
      <field name="lockdown_settings" writable="1">
        <type name="Gio.Settings" c:type="GSettings*"/>
      </field>
      <field name="interface_settings" writable="1">
        <type name="Gio.Settings" c:type="GSettings*"/>
      </field>
      <function name="active_file_filter_can_set"
                c:identifier="pluma_prefs_manager_active_file_filter_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="active_plugins_can_set"
                c:identifier="pluma_prefs_manager_active_plugins_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="app_init" c:identifier="pluma_prefs_manager_app_init">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="app_shutdown"
                c:identifier="pluma_prefs_manager_app_shutdown">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="auto_indent_can_set"
                c:identifier="pluma_prefs_manager_auto_indent_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="auto_save_can_set"
                c:identifier="pluma_prefs_manager_auto_save_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="auto_save_interval_can_set"
                c:identifier="pluma_prefs_manager_auto_save_interval_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="bottom_panel_active_page_can_set"
                c:identifier="pluma_prefs_manager_bottom_panel_active_page_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="bottom_panel_size_can_set"
                c:identifier="pluma_prefs_manager_bottom_panel_size_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="bottom_panel_visible_can_set"
                c:identifier="pluma_prefs_manager_bottom_panel_visible_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="bracket_matching_can_set"
                c:identifier="pluma_prefs_manager_bracket_matching_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="create_backup_copy_can_set"
                c:identifier="pluma_prefs_manager_create_backup_copy_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="display_line_numbers_can_set"
                c:identifier="pluma_prefs_manager_display_line_numbers_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="display_right_margin_can_set"
                c:identifier="pluma_prefs_manager_display_right_margin_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="editor_font_can_set"
                c:identifier="pluma_prefs_manager_editor_font_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="enable_search_highlighting_can_set"
                c:identifier="pluma_prefs_manager_enable_search_highlighting_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="enable_syntax_highlighting_can_set"
                c:identifier="pluma_prefs_manager_enable_syntax_highlighting_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_active_file_filter"
                c:identifier="pluma_prefs_manager_get_active_file_filter">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_active_plugins"
                c:identifier="pluma_prefs_manager_get_active_plugins"
                introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <function name="get_auto_detected_encodings"
                c:identifier="pluma_prefs_manager_get_auto_detected_encodings"
                introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <function name="get_auto_indent"
                c:identifier="pluma_prefs_manager_get_auto_indent">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_auto_save"
                c:identifier="pluma_prefs_manager_get_auto_save">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_auto_save_interval"
                c:identifier="pluma_prefs_manager_get_auto_save_interval">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_bottom_panel_active_page"
                c:identifier="pluma_prefs_manager_get_bottom_panel_active_page">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_bottom_panel_size"
                c:identifier="pluma_prefs_manager_get_bottom_panel_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_bottom_panel_visible"
                c:identifier="pluma_prefs_manager_get_bottom_panel_visible">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_bracket_matching"
                c:identifier="pluma_prefs_manager_get_bracket_matching">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_create_backup_copy"
                c:identifier="pluma_prefs_manager_get_create_backup_copy">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_default_bottom_panel_size"
                c:identifier="pluma_prefs_manager_get_default_bottom_panel_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_default_print_font_body"
                c:identifier="pluma_prefs_manager_get_default_print_font_body">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_default_print_font_header"
                c:identifier="pluma_prefs_manager_get_default_print_font_header">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_default_print_font_numbers"
                c:identifier="pluma_prefs_manager_get_default_print_font_numbers">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_default_side_panel_size"
                c:identifier="pluma_prefs_manager_get_default_side_panel_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_default_window_size"
                c:identifier="pluma_prefs_manager_get_default_window_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_display_line_numbers"
                c:identifier="pluma_prefs_manager_get_display_line_numbers">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_display_right_margin"
                c:identifier="pluma_prefs_manager_get_display_right_margin">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_editor_font"
                c:identifier="pluma_prefs_manager_get_editor_font">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_enable_search_highlighting"
                c:identifier="pluma_prefs_manager_get_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_enable_syntax_highlighting"
                c:identifier="pluma_prefs_manager_get_enable_syntax_highlighting">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_gslist"
                c:identifier="pluma_prefs_manager_get_gslist"
                introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_highlight_current_line"
                c:identifier="pluma_prefs_manager_get_highlight_current_line">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_insert_spaces"
                c:identifier="pluma_prefs_manager_get_insert_spaces">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_lockdown"
                c:identifier="pluma_prefs_manager_get_lockdown">
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="PlumaLockdownMask"/>
        </return-value>
      </function>
      <function name="get_max_recents"
                c:identifier="pluma_prefs_manager_get_max_recents">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_print_font_body"
                c:identifier="pluma_prefs_manager_get_print_font_body">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_print_font_header"
                c:identifier="pluma_prefs_manager_get_print_font_header">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_print_font_numbers"
                c:identifier="pluma_prefs_manager_get_print_font_numbers">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_print_header"
                c:identifier="pluma_prefs_manager_get_print_header">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_print_line_numbers"
                c:identifier="pluma_prefs_manager_get_print_line_numbers">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_print_syntax_hl"
                c:identifier="pluma_prefs_manager_get_print_syntax_hl">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_print_wrap_mode"
                c:identifier="pluma_prefs_manager_get_print_wrap_mode">
        <return-value transfer-ownership="none">
          <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
        </return-value>
      </function>
      <function name="get_restore_cursor_position"
                c:identifier="pluma_prefs_manager_get_restore_cursor_position">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_right_margin_position"
                c:identifier="pluma_prefs_manager_get_right_margin_position">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_shown_in_menu_encodings"
                c:identifier="pluma_prefs_manager_get_shown_in_menu_encodings"
                introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <function name="get_side_pane_visible"
                c:identifier="pluma_prefs_manager_get_side_pane_visible">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_side_panel_active_page"
                c:identifier="pluma_prefs_manager_get_side_panel_active_page">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_side_panel_size"
                c:identifier="pluma_prefs_manager_get_side_panel_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_smart_home_end"
                c:identifier="pluma_prefs_manager_get_smart_home_end">
        <return-value transfer-ownership="none">
          <type name="GtkSource.SmartHomeEndType"
                c:type="GtkSourceSmartHomeEndType"/>
        </return-value>
      </function>
      <function name="get_source_style_scheme"
                c:identifier="pluma_prefs_manager_get_source_style_scheme">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_statusbar_visible"
                c:identifier="pluma_prefs_manager_get_statusbar_visible">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_system_font"
                c:identifier="pluma_prefs_manager_get_system_font">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_tabs_size"
                c:identifier="pluma_prefs_manager_get_tabs_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_toolbar_buttons_style"
                c:identifier="pluma_prefs_manager_get_toolbar_buttons_style">
        <return-value transfer-ownership="none">
          <type name="ToolbarSetting" c:type="PlumaToolbarSetting"/>
        </return-value>
      </function>
      <function name="get_toolbar_visible"
                c:identifier="pluma_prefs_manager_get_toolbar_visible">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_undo_actions_limit"
                c:identifier="pluma_prefs_manager_get_undo_actions_limit">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_use_default_font"
                c:identifier="pluma_prefs_manager_get_use_default_font">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="get_window_size"
                c:identifier="pluma_prefs_manager_get_window_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_window_state"
                c:identifier="pluma_prefs_manager_get_window_state">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </function>
      <function name="get_wrap_mode"
                c:identifier="pluma_prefs_manager_get_wrap_mode">
        <return-value transfer-ownership="none">
          <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
        </return-value>
      </function>
      <function name="get_writable_vfs_schemes"
                c:identifier="pluma_prefs_manager_get_writable_vfs_schemes"
                introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <function name="highlight_current_line_can_set"
                c:identifier="pluma_prefs_manager_highlight_current_line_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="init" c:identifier="pluma_prefs_manager_init">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="insert_spaces_can_set"
                c:identifier="pluma_prefs_manager_insert_spaces_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_font_body_can_set"
                c:identifier="pluma_prefs_manager_print_font_body_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_font_header_can_set"
                c:identifier="pluma_prefs_manager_print_font_header_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_font_numbers_can_set"
                c:identifier="pluma_prefs_manager_print_font_numbers_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_header_can_set"
                c:identifier="pluma_prefs_manager_print_header_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_line_numbers_can_set"
                c:identifier="pluma_prefs_manager_print_line_numbers_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_syntax_hl_can_set"
                c:identifier="pluma_prefs_manager_print_syntax_hl_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="print_wrap_mode_can_set"
                c:identifier="pluma_prefs_manager_print_wrap_mode_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="right_margin_position_can_set"
                c:identifier="pluma_prefs_manager_right_margin_position_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="set_active_file_filter"
                c:identifier="pluma_prefs_manager_set_active_file_filter">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_active_plugins"
                c:identifier="pluma_prefs_manager_set_active_plugins"
                introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugins" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </function>
      <function name="set_auto_indent"
                c:identifier="pluma_prefs_manager_set_auto_indent">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ai" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_auto_save"
                c:identifier="pluma_prefs_manager_set_auto_save">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="as" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_auto_save_interval"
                c:identifier="pluma_prefs_manager_set_auto_save_interval">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="asi" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_bottom_panel_active_page"
                c:identifier="pluma_prefs_manager_set_bottom_panel_active_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_bottom_panel_size"
                c:identifier="pluma_prefs_manager_set_bottom_panel_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ps" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_bottom_panel_visible"
                c:identifier="pluma_prefs_manager_set_bottom_panel_visible">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tv" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_bracket_matching"
                c:identifier="pluma_prefs_manager_set_bracket_matching">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="bm" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_create_backup_copy"
                c:identifier="pluma_prefs_manager_set_create_backup_copy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cbc" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_display_line_numbers"
                c:identifier="pluma_prefs_manager_set_display_line_numbers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dln" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_display_right_margin"
                c:identifier="pluma_prefs_manager_set_display_right_margin">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="drm" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_editor_font"
                c:identifier="pluma_prefs_manager_set_editor_font">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="font" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_enable_search_highlighting"
                c:identifier="pluma_prefs_manager_set_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="esh" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_enable_syntax_highlighting"
                c:identifier="pluma_prefs_manager_set_enable_syntax_highlighting">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="esh" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_gslist"
                c:identifier="pluma_prefs_manager_set_gslist"
                introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </function>
      <function name="set_highlight_current_line"
                c:identifier="pluma_prefs_manager_set_highlight_current_line">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hl" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_insert_spaces"
                c:identifier="pluma_prefs_manager_set_insert_spaces">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ai" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_font_body"
                c:identifier="pluma_prefs_manager_set_print_font_body">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="font" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_font_header"
                c:identifier="pluma_prefs_manager_set_print_font_header">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="font" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_font_numbers"
                c:identifier="pluma_prefs_manager_set_print_font_numbers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="font" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_header"
                c:identifier="pluma_prefs_manager_set_print_header">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ph" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_line_numbers"
                c:identifier="pluma_prefs_manager_set_print_line_numbers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pln" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_syntax_hl"
                c:identifier="pluma_prefs_manager_set_print_syntax_hl">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ps" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_print_wrap_mode"
                c:identifier="pluma_prefs_manager_set_print_wrap_mode">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pwm" transfer-ownership="none">
            <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_right_margin_position"
                c:identifier="pluma_prefs_manager_set_right_margin_position">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rmp" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_shown_in_menu_encodings"
                c:identifier="pluma_prefs_manager_set_shown_in_menu_encodings"
                introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="encs" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </function>
      <function name="set_side_pane_visible"
                c:identifier="pluma_prefs_manager_set_side_pane_visible">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tv" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_side_panel_active_page"
                c:identifier="pluma_prefs_manager_set_side_panel_active_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_side_panel_size"
                c:identifier="pluma_prefs_manager_set_side_panel_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ps" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_smart_home_end"
                c:identifier="pluma_prefs_manager_set_smart_home_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="smart_he" transfer-ownership="none">
            <type name="GtkSource.SmartHomeEndType"
                  c:type="GtkSourceSmartHomeEndType"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_source_style_scheme"
                c:identifier="pluma_prefs_manager_set_source_style_scheme">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scheme" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_statusbar_visible"
                c:identifier="pluma_prefs_manager_set_statusbar_visible">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sv" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_tabs_size"
                c:identifier="pluma_prefs_manager_set_tabs_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ts" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_toolbar_buttons_style"
                c:identifier="pluma_prefs_manager_set_toolbar_buttons_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tbs" transfer-ownership="none">
            <type name="ToolbarSetting" c:type="PlumaToolbarSetting"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_toolbar_visible"
                c:identifier="pluma_prefs_manager_set_toolbar_visible">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tv" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_undo_actions_limit"
                c:identifier="pluma_prefs_manager_set_undo_actions_limit">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ual" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_use_default_font"
                c:identifier="pluma_prefs_manager_set_use_default_font">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="udf" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_window_size"
                c:identifier="pluma_prefs_manager_set_window_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_window_state"
                c:identifier="pluma_prefs_manager_set_window_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ws" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_wrap_mode"
                c:identifier="pluma_prefs_manager_set_wrap_mode">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="wp" transfer-ownership="none">
            <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
          </parameter>
        </parameters>
      </function>
      <function name="shown_in_menu_encodings_can_set"
                c:identifier="pluma_prefs_manager_shown_in_menu_encodings_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="shutdown" c:identifier="pluma_prefs_manager_shutdown">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="side_pane_visible_can_set"
                c:identifier="pluma_prefs_manager_side_pane_visible_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="side_panel_active_page_can_set"
                c:identifier="pluma_prefs_manager_side_panel_active_page_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="side_panel_size_can_set"
                c:identifier="pluma_prefs_manager_side_panel_size_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="smart_home_end_can_set"
                c:identifier="pluma_prefs_manager_smart_home_end_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="source_style_scheme_can_set"
                c:identifier="pluma_prefs_manager_source_style_scheme_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="statusbar_visible_can_set"
                c:identifier="pluma_prefs_manager_statusbar_visible_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="tabs_size_can_set"
                c:identifier="pluma_prefs_manager_tabs_size_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="toolbar_buttons_style_can_set"
                c:identifier="pluma_prefs_manager_toolbar_buttons_style_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="toolbar_visible_can_set"
                c:identifier="pluma_prefs_manager_toolbar_visible_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="undo_actions_limit_can_set"
                c:identifier="pluma_prefs_manager_undo_actions_limit_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="use_default_font_can_set"
                c:identifier="pluma_prefs_manager_use_default_font_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="window_size_can_set"
                c:identifier="pluma_prefs_manager_window_size_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="window_state_can_set"
                c:identifier="pluma_prefs_manager_window_state_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="wrap_mode_can_set"
                c:identifier="pluma_prefs_manager_wrap_mode_can_set">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
    </record>
    <class name="ProgressMessageArea"
           c:symbol-prefix="progress_message_area"
           c:type="PlumaProgressMessageArea"
           parent="Gtk.InfoBar"
           glib:type-name="PlumaProgressMessageArea"
           glib:get-type="pluma_progress_message_area_get_type"
           glib:type-struct="ProgressMessageAreaClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_progress_message_area_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="stock_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="has_cancel" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="pulse" c:identifier="pluma_progress_message_area_pulse">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fraction"
              c:identifier="pluma_progress_message_area_set_fraction">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="pluma_progress_message_area_set_markup">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stock_image"
              c:identifier="pluma_progress_message_area_set_stock_image">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="pluma_progress_message_area_set_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-cancel-button"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.InfoBar" c:type="GtkInfoBar"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ProgressMessageAreaPrivate"
              c:type="PlumaProgressMessageAreaPrivate*"/>
      </field>
    </class>
    <record name="ProgressMessageAreaClass"
            c:type="PlumaProgressMessageAreaClass"
            glib:is-gtype-struct-for="ProgressMessageArea">
      <field name="parent_class">
        <type name="Gtk.InfoBarClass" c:type="GtkInfoBarClass"/>
      </field>
    </record>
    <record name="ProgressMessageAreaPrivate"
            c:type="PlumaProgressMessageAreaPrivate"
            disguised="1">
    </record>
    <constant name="SCHEMA" value="org.mate.pluma" c:type="PLUMA_SCHEMA">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <bitfield name="SearchFlags"
              glib:type-name="PlumaSearchFlags"
              glib:get-type="pluma_search_flags_get_type"
              c:type="PlumaSearchFlags">
      <member name="dont_set_flags"
              value="1"
              c:identifier="PLUMA_SEARCH_DONT_SET_FLAGS"
              glib:nick="dont-set-flags">
      </member>
      <member name="entire_word"
              value="2"
              c:identifier="PLUMA_SEARCH_ENTIRE_WORD"
              glib:nick="entire-word">
      </member>
      <member name="case_sensitive"
              value="4"
              c:identifier="PLUMA_SEARCH_CASE_SENSITIVE"
              glib:nick="case-sensitive">
      </member>
      <member name="parse_escapes"
              value="8"
              c:identifier="PLUMA_SEARCH_PARSE_ESCAPES"
              glib:nick="parse-escapes">
      </member>
      <member name="match_regex"
              value="16"
              c:identifier="PLUMA_SEARCH_MATCH_REGEX"
              glib:nick="match-regex">
      </member>
    </bitfield>
    <class name="StatusComboBox"
           c:symbol-prefix="status_combo_box"
           c:type="PlumaStatusComboBox"
           parent="Gtk.EventBox"
           glib:type-name="PlumaStatusComboBox"
           glib:get-type="pluma_status_combo_box_get_type"
           glib:type-struct="StatusComboBoxClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="pluma_status_combo_box_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_item" c:identifier="pluma_status_combo_box_add_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item_label"
              c:identifier="pluma_status_combo_box_get_item_label"
              introspectable="0">
        <return-value>
          <type name="Gtk.Label" c:type="GtkLabel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_item_text"
              c:identifier="pluma_status_combo_box_get_item_text">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_items" c:identifier="pluma_status_combo_box_get_items">
        <return-value transfer-ownership="container">
          <type name="GLib.List" c:type="GList*">
            <type name="Gtk.Widget"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label" c:identifier="pluma_status_combo_box_get_label">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_item"
              c:identifier="pluma_status_combo_box_remove_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item" c:identifier="pluma_status_combo_box_set_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_text"
              c:identifier="pluma_status_combo_box_set_item_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label" c:identifier="pluma_status_combo_box_set_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="Gtk.EventBox" c:type="GtkEventBox"/>
      </field>
      <field name="priv">
        <type name="StatusComboBoxPrivate"
              c:type="PlumaStatusComboBoxPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.MenuItem"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="StatusComboBoxClass"
            c:type="PlumaStatusComboBoxClass"
            glib:is-gtype-struct-for="StatusComboBox">
      <field name="parent_class">
        <type name="Gtk.EventBoxClass" c:type="GtkEventBoxClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="combo" transfer-ownership="none">
              <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="StatusComboBoxPrivate"
            c:type="PlumaStatusComboBoxPrivate"
            disguised="1">
    </record>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="PlumaStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="PlumaStatusbar"
           glib:get-type="pluma_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_statusbar_new">
        <doc xml:space="preserve">Creates a new #PlumaStatusbar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the new #PlumaStatusbar object</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="clear_overwrite"
              c:identifier="pluma_statusbar_clear_overwrite">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="flash_message"
              c:identifier="pluma_statusbar_flash_message"
              introspectable="0">
        <doc xml:space="preserve">Flash a temporary message on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaStatusbar</doc>
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="context_id" transfer-ownership="none">
            <doc xml:space="preserve">message context_id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">message to flash on the statusbar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_position"
              c:identifier="pluma_statusbar_set_cursor_position">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="col" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_overwrite"
              c:identifier="pluma_statusbar_set_overwrite">
        <doc xml:space="preserve">Sets the overwrite mode on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaStatusbar</doc>
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="overwrite" transfer-ownership="none">
            <doc xml:space="preserve">if the overwrite mode is set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_state"
              c:identifier="pluma_statusbar_set_window_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="WindowState" c:type="PlumaWindowState"/>
          </parameter>
          <parameter name="num_of_errors" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Statusbar" c:type="GtkStatusbar"/>
      </field>
      <field name="priv">
        <type name="StatusbarPrivate" c:type="PlumaStatusbarPrivate*"/>
      </field>
    </class>
    <record name="StatusbarClass"
            c:type="PlumaStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <record name="StatusbarPrivate"
            c:type="PlumaStatusbarPrivate"
            disguised="1">
    </record>
    <class name="Tab"
           c:symbol-prefix="tab"
           c:type="PlumaTab"
           parent="Gtk.Box"
           glib:type-name="PlumaTab"
           glib:get-type="pluma_tab_get_type"
           glib:type-struct="TabClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <function name="get_from_document"
                c:identifier="pluma_tab_get_from_document">
        <doc xml:space="preserve">Gets the #PlumaTab associated with @doc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaTab associated with @doc</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_auto_save_enabled"
              c:identifier="pluma_tab_get_auto_save_enabled">
        <doc xml:space="preserve">Gets the current state for the autosave feature</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the autosave is enabled, else %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auto_save_interval"
              c:identifier="pluma_tab_get_auto_save_interval">
        <doc xml:space="preserve">Gets the current interval for the autosaves</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the value of the autosave</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="pluma_tab_get_document">
        <doc xml:space="preserve">Gets the #PlumaDocument associated to @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaDocument associated to @tab</doc>
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="pluma_tab_get_state">
        <doc xml:space="preserve">Gets the #PlumaTabState of @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaTabState of @tab</doc>
          <type name="TabState" c:type="PlumaTabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="pluma_tab_get_view">
        <doc xml:space="preserve">Gets the #PlumaView inside @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaView inside @tab</doc>
          <type name="View" c:type="PlumaView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_auto_save_enabled"
              c:identifier="pluma_tab_set_auto_save_enabled">
        <doc xml:space="preserve">Enables or disables the autosave feature. It does not install an
autosave timeout if the document is new or is read-only</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve">enable (%TRUE) or disable (%FALSE) auto save</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_save_interval"
              c:identifier="pluma_tab_set_auto_save_interval">
        <doc xml:space="preserve">Sets the interval for the autosave feature. It does nothing if the
interval is the same as the one already present. It removes the old
interval timeout and adds a new one with the autosave passed as
argument.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve">the new interval</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info_bar" c:identifier="pluma_tab_set_info_bar">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="info_bar" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="autosave" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="name" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="TabState"/>
      </property>
      <field name="vbox">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TabPrivate" c:type="PlumaTabPrivate*"/>
      </field>
    </class>
    <record name="TabClass"
            c:type="PlumaTabClass"
            glib:is-gtype-struct-for="Tab">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="TabPrivate" c:type="PlumaTabPrivate" disguised="1">
    </record>
    <enumeration name="TabState"
                 glib:type-name="PlumaTabState"
                 glib:get-type="pluma_tab_state_get_type"
                 c:type="PlumaTabState">
      <member name="state_normal"
              value="0"
              c:identifier="PLUMA_TAB_STATE_NORMAL"
              glib:nick="state-normal">
      </member>
      <member name="state_loading"
              value="1"
              c:identifier="PLUMA_TAB_STATE_LOADING"
              glib:nick="state-loading">
      </member>
      <member name="state_reverting"
              value="2"
              c:identifier="PLUMA_TAB_STATE_REVERTING"
              glib:nick="state-reverting">
      </member>
      <member name="state_saving"
              value="3"
              c:identifier="PLUMA_TAB_STATE_SAVING"
              glib:nick="state-saving">
      </member>
      <member name="state_printing"
              value="4"
              c:identifier="PLUMA_TAB_STATE_PRINTING"
              glib:nick="state-printing">
      </member>
      <member name="state_print_previewing"
              value="5"
              c:identifier="PLUMA_TAB_STATE_PRINT_PREVIEWING"
              glib:nick="state-print-previewing">
      </member>
      <member name="state_showing_print_preview"
              value="6"
              c:identifier="PLUMA_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="state-showing-print-preview">
      </member>
      <member name="state_generic_not_editable"
              value="7"
              c:identifier="PLUMA_TAB_STATE_GENERIC_NOT_EDITABLE"
              glib:nick="state-generic-not-editable">
      </member>
      <member name="state_loading_error"
              value="8"
              c:identifier="PLUMA_TAB_STATE_LOADING_ERROR"
              glib:nick="state-loading-error">
      </member>
      <member name="state_reverting_error"
              value="9"
              c:identifier="PLUMA_TAB_STATE_REVERTING_ERROR"
              glib:nick="state-reverting-error">
      </member>
      <member name="state_saving_error"
              value="10"
              c:identifier="PLUMA_TAB_STATE_SAVING_ERROR"
              glib:nick="state-saving-error">
      </member>
      <member name="state_generic_error"
              value="11"
              c:identifier="PLUMA_TAB_STATE_GENERIC_ERROR"
              glib:nick="state-generic-error">
      </member>
      <member name="state_closing"
              value="12"
              c:identifier="PLUMA_TAB_STATE_CLOSING"
              glib:nick="state-closing">
      </member>
      <member name="state_externally_modified_notification"
              value="13"
              c:identifier="PLUMA_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="state-externally-modified-notification">
      </member>
      <member name="num_of_states"
              value="14"
              c:identifier="PLUMA_TAB_NUM_OF_STATES"
              glib:nick="num-of-states">
      </member>
    </enumeration>
    <enumeration name="ToolbarSetting"
                 glib:type-name="PlumaToolbarSetting"
                 glib:get-type="pluma_toolbar_setting_get_type"
                 c:type="PlumaToolbarSetting">
      <member name="system"
              value="0"
              c:identifier="PLUMA_TOOLBAR_SYSTEM"
              glib:nick="system">
      </member>
      <member name="icons"
              value="1"
              c:identifier="PLUMA_TOOLBAR_ICONS"
              glib:nick="icons">
      </member>
      <member name="icons_and_text"
              value="2"
              c:identifier="PLUMA_TOOLBAR_ICONS_AND_TEXT"
              glib:nick="icons-and-text">
      </member>
      <member name="icons_both_horiz"
              value="3"
              c:identifier="PLUMA_TOOLBAR_ICONS_BOTH_HORIZ"
              glib:nick="icons-both-horiz">
      </member>
    </enumeration>
    <class name="View"
           c:symbol-prefix="view"
           c:type="PlumaView"
           parent="GtkSource.View"
           glib:type-name="PlumaView"
           glib:get-type="pluma_view_get_type"
           glib:type-struct="ViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="pluma_view_new">
        <doc xml:space="preserve">Creates a new #PlumaView object displaying the @doc document.
@doc cannot be %NULL.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #PlumaView</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="drop_uris">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="reset_searched_text">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start_interactive_goto_line">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start_interactive_search">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="copy_clipboard" c:identifier="pluma_view_copy_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cut_clipboard" c:identifier="pluma_view_cut_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="delete_selection"
              c:identifier="pluma_view_delete_selection">
        <doc xml:space="preserve">Deletes the text currently selected in the #GtkTextBuffer associated
to the view and scroll to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paste_clipboard" c:identifier="pluma_view_paste_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scroll_to_cursor"
              c:identifier="pluma_view_scroll_to_cursor">
        <doc xml:space="preserve">Scrolls the @view to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_all" c:identifier="pluma_view_select_all">
        <doc xml:space="preserve">Selects all the text displayed in the @view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_font" c:identifier="pluma_view_set_font">
        <doc xml:space="preserve">If @def is #TRUE, resets the font of the @view to the default font
otherwise sets it to @font_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
          <parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">whether to reset the default font</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the font to use</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="view">
        <type name="GtkSource.View" c:type="GtkSourceView"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ViewPrivate" c:type="PlumaViewPrivate*"/>
      </field>
      <glib:signal name="drop-uris" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="reset-searched-text" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="start-interactive-goto-line" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="start-interactive-search" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ViewClass"
            c:type="PlumaViewClass"
            glib:is-gtype-struct-for="View">
      <field name="parent_class">
        <type name="GtkSource.ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="start_interactive_search">
        <callback name="start_interactive_search">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start_interactive_goto_line">
        <callback name="start_interactive_goto_line">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reset_searched_text">
        <callback name="reset_searched_text">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
            <parameter name="uri_list" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewPrivate" c:type="PlumaViewPrivate" disguised="1">
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="PlumaWindow"
           parent="Gtk.Window"
           glib:type-name="PlumaWindow"
           glib:get-type="pluma_window_get_type"
           glib:type-struct="WindowClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="active_tab_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="active_tab_state_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="close_all_tabs" c:identifier="pluma_window_close_all_tabs">
        <doc xml:space="preserve">Closes all opened tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="close_tab" c:identifier="pluma_window_close_tab">
        <doc xml:space="preserve">Closes the @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">the #PlumaTab to close</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_tabs" c:identifier="pluma_window_close_tabs">
        <doc xml:space="preserve">Closes all tabs specified by @tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tabs" transfer-ownership="none">
            <doc xml:space="preserve">a list of #PlumaTab</doc>
            <type name="GLib.List" c:type="const GList*">
              <type name="Tab"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab" c:identifier="pluma_window_create_tab">
        <doc xml:space="preserve">Creates a new #PlumaTab and adds the new tab to the #PlumaNotebook.
In case @jump_to is %TRUE the #PlumaNotebook switches to that new #PlumaTab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #PlumaTab</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the new #PlumaTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_uri"
              c:identifier="pluma_window_create_tab_from_uri">
        <doc xml:space="preserve">Creates a new #PlumaTab loading the document specified by @uri.
In case @jump_to is %TRUE the #PlumaNotebook swithes to that new #PlumaTab.
Whether @create is %TRUE, creates a new empty document if location does
not refer to an existing file</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #PlumaTab</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">the uri of the document</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaEncoding</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to create a new document in case @uri does exist</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the new #PlumaTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_document"
              c:identifier="pluma_window_get_active_document">
        <doc xml:space="preserve">Gets the active #PlumaDocument.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #PlumaDocument</doc>
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_tab" c:identifier="pluma_window_get_active_tab">
        <doc xml:space="preserve">Gets the active #PlumaTab in the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #PlumaTab in the @window.</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_view"
              c:identifier="pluma_window_get_active_view">
        <doc xml:space="preserve">Gets the active #PlumaView.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #PlumaView</doc>
          <type name="View" c:type="PlumaView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_panel"
              c:identifier="pluma_window_get_bottom_panel">
        <doc xml:space="preserve">Gets the bottom #PlumaPanel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the bottom #PlumaPanel.</doc>
          <type name="Panel" c:type="PlumaPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="pluma_window_get_documents">
        <doc xml:space="preserve">Gets a newly allocated list with all the documents in the window.
This list must be freed.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a newly
allocated list with all the documents in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="pluma_window_get_group">
        <doc xml:space="preserve">Gets the #GtkWindowGroup in which @window resides.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkWindowGroup</doc>
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message_bus"
              c:identifier="pluma_window_get_message_bus">
        <doc xml:space="preserve">Gets the #PlumaMessageBus associated with @window. The returned reference
is owned by the window and should not be unreffed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaMessageBus associated with @window</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_side_panel" c:identifier="pluma_window_get_side_panel">
        <doc xml:space="preserve">Gets the side #PlumaPanel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the side #PlumaPanel.</doc>
          <type name="Panel" c:type="PlumaPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="pluma_window_get_state">
        <doc xml:space="preserve">Retrieves the state of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current #PlumaWindowState of the @window.</doc>
          <type name="WindowState" c:type="PlumaWindowState"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="pluma_window_get_statusbar">
        <doc xml:space="preserve">Gets the #PlumaStatusbar of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaStatusbar of the @window.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_from_location"
              c:identifier="pluma_window_get_tab_from_location">
        <doc xml:space="preserve">Gets the #PlumaTab that matches with the given @location.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #PlumaTab that matches with the given @location.</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ui_manager" c:identifier="pluma_window_get_ui_manager">
        <doc xml:space="preserve">Gets the #GtkUIManager associated with the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkUIManager of the @window.</doc>
          <type name="Gtk.UIManager" c:type="GtkUIManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unsaved_documents"
              c:identifier="pluma_window_get_unsaved_documents">
        <doc xml:space="preserve">Gets the list of documents that need to be saved before closing the window.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a list of
#PlumaDocument that need to be saved before closing the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="pluma_window_get_views">
        <doc xml:space="preserve">Gets a list with all the views in the window. This list must be freed.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a newly allocated
list with all the views in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active_tab" c:identifier="pluma_window_set_active_tab">
        <doc xml:space="preserve">Switches to the tab that matches with @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <property name="state" transfer-ownership="none">
        <type name="WindowState"/>
      </property>
      <field name="window">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="WindowPrivate" c:type="PlumaWindowPrivate*"/>
      </field>
      <glib:signal name="active-tab-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="active-tab-state-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WindowClass"
            c:type="PlumaWindowClass"
            glib:is-gtype-struct-for="Window">
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tabs_reordered">
        <callback name="tabs_reordered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="PlumaWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_changed">
        <callback name="active_tab_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_state_changed">
        <callback name="active_tab_state_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="PlumaWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate" c:type="PlumaWindowPrivate" disguised="1">
    </record>
    <bitfield name="WindowState"
              glib:type-name="PlumaWindowState"
              glib:get-type="pluma_window_state_get_type"
              c:type="PlumaWindowState">
      <member name="normal"
              value="0"
              c:identifier="PLUMA_WINDOW_STATE_NORMAL"
              glib:nick="normal">
      </member>
      <member name="saving"
              value="2"
              c:identifier="PLUMA_WINDOW_STATE_SAVING"
              glib:nick="saving">
      </member>
      <member name="printing"
              value="4"
              c:identifier="PLUMA_WINDOW_STATE_PRINTING"
              glib:nick="printing">
      </member>
      <member name="loading"
              value="8"
              c:identifier="PLUMA_WINDOW_STATE_LOADING"
              glib:nick="loading">
      </member>
      <member name="error"
              value="16"
              c:identifier="PLUMA_WINDOW_STATE_ERROR"
              glib:nick="error">
      </member>
      <member name="saving_session"
              value="32"
              c:identifier="PLUMA_WINDOW_STATE_SAVING_SESSION"
              glib:nick="saving-session">
      </member>
    </bitfield>
    <function name="commands_load_uri" c:identifier="pluma_commands_load_uri">
      <doc xml:space="preserve">Do nothing if uri does not exist</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="PlumaWindow*"/>
        </parameter>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_load_uris"
              c:identifier="pluma_commands_load_uris"
              introspectable="0">
      <doc xml:space="preserve">Ignore non-existing URIs</doc>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="PlumaWindow*"/>
        </parameter>
        <parameter name="uris" transfer-ownership="none">
          <type name="GLib.SList" c:type="const GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="encoding" transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_all_documents"
              c:identifier="pluma_commands_save_all_documents">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="PlumaWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document"
              c:identifier="pluma_commands_save_document">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="PlumaWindow*"/>
        </parameter>
        <parameter name="document" transfer-ownership="none">
          <type name="Document" c:type="PlumaDocument*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug" c:identifier="pluma_debug">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <type name="DebugSection" c:type="PlumaDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="pluma_debug_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="debug_message"
              c:identifier="pluma_debug_message"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <type name="DebugSection" c:type="PlumaDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="dialog_add_button" c:identifier="pluma_dialog_add_button">
      <return-value transfer-ownership="none">
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="dialog" transfer-ownership="none">
          <type name="Gtk.Dialog" c:type="GtkDialog*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="response_id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_current"
              c:identifier="pluma_encoding_get_current"
              moved-to="Encoding.get_current">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
    </function>
    <function name="encoding_get_from_charset"
              c:identifier="pluma_encoding_get_from_charset"
              moved-to="Encoding.get_from_charset">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_from_index"
              c:identifier="pluma_encoding_get_from_index"
              moved-to="Encoding.get_from_index">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="index" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_utf8"
              c:identifier="pluma_encoding_get_utf8"
              moved-to="Encoding.get_utf8">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
    </function>
    <function name="gtk_button_new_with_stock_icon"
              c:identifier="pluma_gtk_button_new_with_stock_icon">
      <return-value transfer-ownership="full">
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="label" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_text_iter_regex_search"
              c:identifier="pluma_gtk_text_iter_regex_search">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="Gtk.TextSearchFlags" c:type="GtkTextSearchFlags"/>
        </parameter>
        <parameter name="match_start" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
        </parameter>
        <parameter name="match_end" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
        </parameter>
        <parameter name="limit" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
        </parameter>
        <parameter name="forward_search" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="replace_text" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="help_display" c:identifier="pluma_help_display">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="link_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_BOOLEAN__OBJECT"
              c:identifier="pluma_marshal_BOOLEAN__OBJECT">
      <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__VOID"
              c:identifier="pluma_marshal_BOOLEAN__VOID">
      <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_VOID__BOOLEAN_POINTER"
              c:identifier="pluma_marshal_VOID__BOOLEAN_POINTER">
      <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_VOID__BOXED_BOXED"
              c:identifier="pluma_marshal_VOID__BOXED_BOXED">
      <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_VOID__INT_INT"
              c:identifier="pluma_marshal_VOID__INT_INT">
      <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_VOID__STRING_BOXED_FLAGS"
              c:identifier="pluma_marshal_VOID__STRING_BOXED_FLAGS">
      <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_VOID__STRING_BOXED_INT_BOOLEAN"
              c:identifier="pluma_marshal_VOID__STRING_BOXED_INT_BOOLEAN">
      <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_VOID__UINT64_UINT64"
              c:identifier="pluma_marshal_VOID__UINT64_UINT64">
      <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="message_type_identifier"
              c:identifier="pluma_message_type_identifier"
              moved-to="MessageType.identifier">
      <doc xml:space="preserve">Get the string identifier for @method at @object_path.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">the identifier for @method at @object_path</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="object_path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="method"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="message_type_is_supported"
              c:identifier="pluma_message_type_is_supported"
              moved-to="MessageType.is_supported">
      <doc xml:space="preserve">Returns if @type is #GType supported by the message system.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if @type is a supported #GType</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve">the #GType</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
      </parameters>
    </function>
    <function name="message_type_is_valid_object_path"
              c:identifier="pluma_message_type_is_valid_object_path"
              moved-to="MessageType.is_valid_object_path">
      <doc xml:space="preserve">Returns whether @object_path is a valid object path</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if @object_path is a valid object path</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="object_path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_active_file_filter_can_set"
              c:identifier="pluma_prefs_manager_active_file_filter_can_set"
              moved-to="PrefsManager.active_file_filter_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_active_plugins_can_set"
              c:identifier="pluma_prefs_manager_active_plugins_can_set"
              moved-to="PrefsManager.active_plugins_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_app_init"
              c:identifier="pluma_prefs_manager_app_init"
              moved-to="PrefsManager.app_init">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_app_shutdown"
              c:identifier="pluma_prefs_manager_app_shutdown"
              moved-to="PrefsManager.app_shutdown">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="prefs_manager_auto_indent_can_set"
              c:identifier="pluma_prefs_manager_auto_indent_can_set"
              moved-to="PrefsManager.auto_indent_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_auto_save_can_set"
              c:identifier="pluma_prefs_manager_auto_save_can_set"
              moved-to="PrefsManager.auto_save_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_auto_save_interval_can_set"
              c:identifier="pluma_prefs_manager_auto_save_interval_can_set"
              moved-to="PrefsManager.auto_save_interval_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_bottom_panel_active_page_can_set"
              c:identifier="pluma_prefs_manager_bottom_panel_active_page_can_set"
              moved-to="PrefsManager.bottom_panel_active_page_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_bottom_panel_size_can_set"
              c:identifier="pluma_prefs_manager_bottom_panel_size_can_set"
              moved-to="PrefsManager.bottom_panel_size_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_bottom_panel_visible_can_set"
              c:identifier="pluma_prefs_manager_bottom_panel_visible_can_set"
              moved-to="PrefsManager.bottom_panel_visible_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_bracket_matching_can_set"
              c:identifier="pluma_prefs_manager_bracket_matching_can_set"
              moved-to="PrefsManager.bracket_matching_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_create_backup_copy_can_set"
              c:identifier="pluma_prefs_manager_create_backup_copy_can_set"
              moved-to="PrefsManager.create_backup_copy_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_display_line_numbers_can_set"
              c:identifier="pluma_prefs_manager_display_line_numbers_can_set"
              moved-to="PrefsManager.display_line_numbers_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_display_right_margin_can_set"
              c:identifier="pluma_prefs_manager_display_right_margin_can_set"
              moved-to="PrefsManager.display_right_margin_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_editor_font_can_set"
              c:identifier="pluma_prefs_manager_editor_font_can_set"
              moved-to="PrefsManager.editor_font_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_enable_search_highlighting_can_set"
              c:identifier="pluma_prefs_manager_enable_search_highlighting_can_set"
              moved-to="PrefsManager.enable_search_highlighting_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_enable_syntax_highlighting_can_set"
              c:identifier="pluma_prefs_manager_enable_syntax_highlighting_can_set"
              moved-to="PrefsManager.enable_syntax_highlighting_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_active_file_filter"
              c:identifier="pluma_prefs_manager_get_active_file_filter"
              moved-to="PrefsManager.get_active_file_filter">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_auto_indent"
              c:identifier="pluma_prefs_manager_get_auto_indent"
              moved-to="PrefsManager.get_auto_indent">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_auto_save"
              c:identifier="pluma_prefs_manager_get_auto_save"
              moved-to="PrefsManager.get_auto_save">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_auto_save_interval"
              c:identifier="pluma_prefs_manager_get_auto_save_interval"
              moved-to="PrefsManager.get_auto_save_interval">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_bottom_panel_active_page"
              c:identifier="pluma_prefs_manager_get_bottom_panel_active_page"
              moved-to="PrefsManager.get_bottom_panel_active_page">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_bottom_panel_size"
              c:identifier="pluma_prefs_manager_get_bottom_panel_size"
              moved-to="PrefsManager.get_bottom_panel_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_bottom_panel_visible"
              c:identifier="pluma_prefs_manager_get_bottom_panel_visible"
              moved-to="PrefsManager.get_bottom_panel_visible">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_bracket_matching"
              c:identifier="pluma_prefs_manager_get_bracket_matching"
              moved-to="PrefsManager.get_bracket_matching">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_create_backup_copy"
              c:identifier="pluma_prefs_manager_get_create_backup_copy"
              moved-to="PrefsManager.get_create_backup_copy">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_bottom_panel_size"
              c:identifier="pluma_prefs_manager_get_default_bottom_panel_size"
              moved-to="PrefsManager.get_default_bottom_panel_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_print_font_body"
              c:identifier="pluma_prefs_manager_get_default_print_font_body"
              moved-to="PrefsManager.get_default_print_font_body">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_print_font_header"
              c:identifier="pluma_prefs_manager_get_default_print_font_header"
              moved-to="PrefsManager.get_default_print_font_header">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_print_font_numbers"
              c:identifier="pluma_prefs_manager_get_default_print_font_numbers"
              moved-to="PrefsManager.get_default_print_font_numbers">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_side_panel_size"
              c:identifier="pluma_prefs_manager_get_default_side_panel_size"
              moved-to="PrefsManager.get_default_side_panel_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_default_window_size"
              c:identifier="pluma_prefs_manager_get_default_window_size"
              moved-to="PrefsManager.get_default_window_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="width" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_get_display_line_numbers"
              c:identifier="pluma_prefs_manager_get_display_line_numbers"
              moved-to="PrefsManager.get_display_line_numbers">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_display_right_margin"
              c:identifier="pluma_prefs_manager_get_display_right_margin"
              moved-to="PrefsManager.get_display_right_margin">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_editor_font"
              c:identifier="pluma_prefs_manager_get_editor_font"
              moved-to="PrefsManager.get_editor_font">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_enable_search_highlighting"
              c:identifier="pluma_prefs_manager_get_enable_search_highlighting"
              moved-to="PrefsManager.get_enable_search_highlighting">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_enable_syntax_highlighting"
              c:identifier="pluma_prefs_manager_get_enable_syntax_highlighting"
              moved-to="PrefsManager.get_enable_syntax_highlighting">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_highlight_current_line"
              c:identifier="pluma_prefs_manager_get_highlight_current_line"
              moved-to="PrefsManager.get_highlight_current_line">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_insert_spaces"
              c:identifier="pluma_prefs_manager_get_insert_spaces"
              moved-to="PrefsManager.get_insert_spaces">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_lockdown"
              c:identifier="pluma_prefs_manager_get_lockdown"
              moved-to="PrefsManager.get_lockdown">
      <return-value transfer-ownership="none">
        <type name="LockdownMask" c:type="PlumaLockdownMask"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_max_recents"
              c:identifier="pluma_prefs_manager_get_max_recents"
              moved-to="PrefsManager.get_max_recents">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_font_body"
              c:identifier="pluma_prefs_manager_get_print_font_body"
              moved-to="PrefsManager.get_print_font_body">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_font_header"
              c:identifier="pluma_prefs_manager_get_print_font_header"
              moved-to="PrefsManager.get_print_font_header">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_font_numbers"
              c:identifier="pluma_prefs_manager_get_print_font_numbers"
              moved-to="PrefsManager.get_print_font_numbers">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_header"
              c:identifier="pluma_prefs_manager_get_print_header"
              moved-to="PrefsManager.get_print_header">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_line_numbers"
              c:identifier="pluma_prefs_manager_get_print_line_numbers"
              moved-to="PrefsManager.get_print_line_numbers">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_syntax_hl"
              c:identifier="pluma_prefs_manager_get_print_syntax_hl"
              moved-to="PrefsManager.get_print_syntax_hl">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_print_wrap_mode"
              c:identifier="pluma_prefs_manager_get_print_wrap_mode"
              moved-to="PrefsManager.get_print_wrap_mode">
      <return-value transfer-ownership="none">
        <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_restore_cursor_position"
              c:identifier="pluma_prefs_manager_get_restore_cursor_position"
              moved-to="PrefsManager.get_restore_cursor_position">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_right_margin_position"
              c:identifier="pluma_prefs_manager_get_right_margin_position"
              moved-to="PrefsManager.get_right_margin_position">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_side_pane_visible"
              c:identifier="pluma_prefs_manager_get_side_pane_visible"
              moved-to="PrefsManager.get_side_pane_visible">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_side_panel_active_page"
              c:identifier="pluma_prefs_manager_get_side_panel_active_page"
              moved-to="PrefsManager.get_side_panel_active_page">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_side_panel_size"
              c:identifier="pluma_prefs_manager_get_side_panel_size"
              moved-to="PrefsManager.get_side_panel_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_smart_home_end"
              c:identifier="pluma_prefs_manager_get_smart_home_end"
              moved-to="PrefsManager.get_smart_home_end">
      <return-value transfer-ownership="none">
        <type name="GtkSource.SmartHomeEndType"
              c:type="GtkSourceSmartHomeEndType"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_source_style_scheme"
              c:identifier="pluma_prefs_manager_get_source_style_scheme"
              moved-to="PrefsManager.get_source_style_scheme">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_statusbar_visible"
              c:identifier="pluma_prefs_manager_get_statusbar_visible"
              moved-to="PrefsManager.get_statusbar_visible">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_system_font"
              c:identifier="pluma_prefs_manager_get_system_font"
              moved-to="PrefsManager.get_system_font">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_tabs_size"
              c:identifier="pluma_prefs_manager_get_tabs_size"
              moved-to="PrefsManager.get_tabs_size">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_toolbar_buttons_style"
              c:identifier="pluma_prefs_manager_get_toolbar_buttons_style"
              moved-to="PrefsManager.get_toolbar_buttons_style">
      <return-value transfer-ownership="none">
        <type name="ToolbarSetting" c:type="PlumaToolbarSetting"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_toolbar_visible"
              c:identifier="pluma_prefs_manager_get_toolbar_visible"
              moved-to="PrefsManager.get_toolbar_visible">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_undo_actions_limit"
              c:identifier="pluma_prefs_manager_get_undo_actions_limit"
              moved-to="PrefsManager.get_undo_actions_limit">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_use_default_font"
              c:identifier="pluma_prefs_manager_get_use_default_font"
              moved-to="PrefsManager.get_use_default_font">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_window_size"
              c:identifier="pluma_prefs_manager_get_window_size"
              moved-to="PrefsManager.get_window_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="width" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_get_window_state"
              c:identifier="pluma_prefs_manager_get_window_state"
              moved-to="PrefsManager.get_window_state">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="prefs_manager_get_wrap_mode"
              c:identifier="pluma_prefs_manager_get_wrap_mode"
              moved-to="PrefsManager.get_wrap_mode">
      <return-value transfer-ownership="none">
        <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
      </return-value>
    </function>
    <function name="prefs_manager_highlight_current_line_can_set"
              c:identifier="pluma_prefs_manager_highlight_current_line_can_set"
              moved-to="PrefsManager.highlight_current_line_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_init"
              c:identifier="pluma_prefs_manager_init"
              moved-to="PrefsManager.init">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_insert_spaces_can_set"
              c:identifier="pluma_prefs_manager_insert_spaces_can_set"
              moved-to="PrefsManager.insert_spaces_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_font_body_can_set"
              c:identifier="pluma_prefs_manager_print_font_body_can_set"
              moved-to="PrefsManager.print_font_body_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_font_header_can_set"
              c:identifier="pluma_prefs_manager_print_font_header_can_set"
              moved-to="PrefsManager.print_font_header_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_font_numbers_can_set"
              c:identifier="pluma_prefs_manager_print_font_numbers_can_set"
              moved-to="PrefsManager.print_font_numbers_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_header_can_set"
              c:identifier="pluma_prefs_manager_print_header_can_set"
              moved-to="PrefsManager.print_header_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_line_numbers_can_set"
              c:identifier="pluma_prefs_manager_print_line_numbers_can_set"
              moved-to="PrefsManager.print_line_numbers_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_syntax_hl_can_set"
              c:identifier="pluma_prefs_manager_print_syntax_hl_can_set"
              moved-to="PrefsManager.print_syntax_hl_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_print_wrap_mode_can_set"
              c:identifier="pluma_prefs_manager_print_wrap_mode_can_set"
              moved-to="PrefsManager.print_wrap_mode_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_right_margin_position_can_set"
              c:identifier="pluma_prefs_manager_right_margin_position_can_set"
              moved-to="PrefsManager.right_margin_position_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_set_active_file_filter"
              c:identifier="pluma_prefs_manager_set_active_file_filter"
              moved-to="PrefsManager.set_active_file_filter">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_auto_indent"
              c:identifier="pluma_prefs_manager_set_auto_indent"
              moved-to="PrefsManager.set_auto_indent">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ai" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_auto_save"
              c:identifier="pluma_prefs_manager_set_auto_save"
              moved-to="PrefsManager.set_auto_save">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="as" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_auto_save_interval"
              c:identifier="pluma_prefs_manager_set_auto_save_interval"
              moved-to="PrefsManager.set_auto_save_interval">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="asi" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_bottom_panel_active_page"
              c:identifier="pluma_prefs_manager_set_bottom_panel_active_page"
              moved-to="PrefsManager.set_bottom_panel_active_page">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_bottom_panel_size"
              c:identifier="pluma_prefs_manager_set_bottom_panel_size"
              moved-to="PrefsManager.set_bottom_panel_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ps" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_bottom_panel_visible"
              c:identifier="pluma_prefs_manager_set_bottom_panel_visible"
              moved-to="PrefsManager.set_bottom_panel_visible">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tv" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_bracket_matching"
              c:identifier="pluma_prefs_manager_set_bracket_matching"
              moved-to="PrefsManager.set_bracket_matching">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bm" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_create_backup_copy"
              c:identifier="pluma_prefs_manager_set_create_backup_copy"
              moved-to="PrefsManager.set_create_backup_copy">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="cbc" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_display_line_numbers"
              c:identifier="pluma_prefs_manager_set_display_line_numbers"
              moved-to="PrefsManager.set_display_line_numbers">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dln" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_display_right_margin"
              c:identifier="pluma_prefs_manager_set_display_right_margin"
              moved-to="PrefsManager.set_display_right_margin">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="drm" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_editor_font"
              c:identifier="pluma_prefs_manager_set_editor_font"
              moved-to="PrefsManager.set_editor_font">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_enable_search_highlighting"
              c:identifier="pluma_prefs_manager_set_enable_search_highlighting"
              moved-to="PrefsManager.set_enable_search_highlighting">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="esh" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_enable_syntax_highlighting"
              c:identifier="pluma_prefs_manager_set_enable_syntax_highlighting"
              moved-to="PrefsManager.set_enable_syntax_highlighting">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="esh" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_highlight_current_line"
              c:identifier="pluma_prefs_manager_set_highlight_current_line"
              moved-to="PrefsManager.set_highlight_current_line">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hl" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_insert_spaces"
              c:identifier="pluma_prefs_manager_set_insert_spaces"
              moved-to="PrefsManager.set_insert_spaces">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ai" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_font_body"
              c:identifier="pluma_prefs_manager_set_print_font_body"
              moved-to="PrefsManager.set_print_font_body">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_font_header"
              c:identifier="pluma_prefs_manager_set_print_font_header"
              moved-to="PrefsManager.set_print_font_header">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_font_numbers"
              c:identifier="pluma_prefs_manager_set_print_font_numbers"
              moved-to="PrefsManager.set_print_font_numbers">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_header"
              c:identifier="pluma_prefs_manager_set_print_header"
              moved-to="PrefsManager.set_print_header">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ph" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_line_numbers"
              c:identifier="pluma_prefs_manager_set_print_line_numbers"
              moved-to="PrefsManager.set_print_line_numbers">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pln" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_syntax_hl"
              c:identifier="pluma_prefs_manager_set_print_syntax_hl"
              moved-to="PrefsManager.set_print_syntax_hl">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ps" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_print_wrap_mode"
              c:identifier="pluma_prefs_manager_set_print_wrap_mode"
              moved-to="PrefsManager.set_print_wrap_mode">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pwm" transfer-ownership="none">
          <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_right_margin_position"
              c:identifier="pluma_prefs_manager_set_right_margin_position"
              moved-to="PrefsManager.set_right_margin_position">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="rmp" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_side_pane_visible"
              c:identifier="pluma_prefs_manager_set_side_pane_visible"
              moved-to="PrefsManager.set_side_pane_visible">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tv" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_side_panel_active_page"
              c:identifier="pluma_prefs_manager_set_side_panel_active_page"
              moved-to="PrefsManager.set_side_panel_active_page">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_side_panel_size"
              c:identifier="pluma_prefs_manager_set_side_panel_size"
              moved-to="PrefsManager.set_side_panel_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ps" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_smart_home_end"
              c:identifier="pluma_prefs_manager_set_smart_home_end"
              moved-to="PrefsManager.set_smart_home_end">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="smart_he" transfer-ownership="none">
          <type name="GtkSource.SmartHomeEndType"
                c:type="GtkSourceSmartHomeEndType"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_source_style_scheme"
              c:identifier="pluma_prefs_manager_set_source_style_scheme"
              moved-to="PrefsManager.set_source_style_scheme">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="scheme" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_statusbar_visible"
              c:identifier="pluma_prefs_manager_set_statusbar_visible"
              moved-to="PrefsManager.set_statusbar_visible">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="sv" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_tabs_size"
              c:identifier="pluma_prefs_manager_set_tabs_size"
              moved-to="PrefsManager.set_tabs_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ts" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_toolbar_buttons_style"
              c:identifier="pluma_prefs_manager_set_toolbar_buttons_style"
              moved-to="PrefsManager.set_toolbar_buttons_style">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tbs" transfer-ownership="none">
          <type name="ToolbarSetting" c:type="PlumaToolbarSetting"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_toolbar_visible"
              c:identifier="pluma_prefs_manager_set_toolbar_visible"
              moved-to="PrefsManager.set_toolbar_visible">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tv" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_undo_actions_limit"
              c:identifier="pluma_prefs_manager_set_undo_actions_limit"
              moved-to="PrefsManager.set_undo_actions_limit">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ual" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_use_default_font"
              c:identifier="pluma_prefs_manager_set_use_default_font"
              moved-to="PrefsManager.set_use_default_font">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="udf" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_window_size"
              c:identifier="pluma_prefs_manager_set_window_size"
              moved-to="PrefsManager.set_window_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="width" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_window_state"
              c:identifier="pluma_prefs_manager_set_window_state"
              moved-to="PrefsManager.set_window_state">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ws" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_set_wrap_mode"
              c:identifier="pluma_prefs_manager_set_wrap_mode"
              moved-to="PrefsManager.set_wrap_mode">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="wp" transfer-ownership="none">
          <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefs_manager_shown_in_menu_encodings_can_set"
              c:identifier="pluma_prefs_manager_shown_in_menu_encodings_can_set"
              moved-to="PrefsManager.shown_in_menu_encodings_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_shutdown"
              c:identifier="pluma_prefs_manager_shutdown"
              moved-to="PrefsManager.shutdown">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="prefs_manager_side_pane_visible_can_set"
              c:identifier="pluma_prefs_manager_side_pane_visible_can_set"
              moved-to="PrefsManager.side_pane_visible_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_side_panel_active_page_can_set"
              c:identifier="pluma_prefs_manager_side_panel_active_page_can_set"
              moved-to="PrefsManager.side_panel_active_page_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_side_panel_size_can_set"
              c:identifier="pluma_prefs_manager_side_panel_size_can_set"
              moved-to="PrefsManager.side_panel_size_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_smart_home_end_can_set"
              c:identifier="pluma_prefs_manager_smart_home_end_can_set"
              moved-to="PrefsManager.smart_home_end_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_source_style_scheme_can_set"
              c:identifier="pluma_prefs_manager_source_style_scheme_can_set"
              moved-to="PrefsManager.source_style_scheme_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_statusbar_visible_can_set"
              c:identifier="pluma_prefs_manager_statusbar_visible_can_set"
              moved-to="PrefsManager.statusbar_visible_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_tabs_size_can_set"
              c:identifier="pluma_prefs_manager_tabs_size_can_set"
              moved-to="PrefsManager.tabs_size_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_toolbar_buttons_style_can_set"
              c:identifier="pluma_prefs_manager_toolbar_buttons_style_can_set"
              moved-to="PrefsManager.toolbar_buttons_style_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_toolbar_visible_can_set"
              c:identifier="pluma_prefs_manager_toolbar_visible_can_set"
              moved-to="PrefsManager.toolbar_visible_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_undo_actions_limit_can_set"
              c:identifier="pluma_prefs_manager_undo_actions_limit_can_set"
              moved-to="PrefsManager.undo_actions_limit_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_use_default_font_can_set"
              c:identifier="pluma_prefs_manager_use_default_font_can_set"
              moved-to="PrefsManager.use_default_font_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_window_size_can_set"
              c:identifier="pluma_prefs_manager_window_size_can_set"
              moved-to="PrefsManager.window_size_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_window_state_can_set"
              c:identifier="pluma_prefs_manager_window_state_can_set"
              moved-to="PrefsManager.window_state_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="prefs_manager_wrap_mode_can_set"
              c:identifier="pluma_prefs_manager_wrap_mode_can_set"
              moved-to="PrefsManager.wrap_mode_can_set">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="utils_basename_for_display"
              c:identifier="pluma_utils_basename_for_display">
      <doc xml:space="preserve">Return the basename of a file suitable for display to users.</doc>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve">uri for which the basename should be displayed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_decode_uri" c:identifier="pluma_utils_decode_uri">
      <doc xml:space="preserve">Parse and break an uri apart in its individual components like the uri
scheme, user info, port, host and path. The return value pointer can be
%NULL to ignore certain parts of the uri. If the function returns %TRUE, then
all return value pointers should be freed using g_free</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if the uri could be properly decoded, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve">the uri to decode</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="scheme"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri's
scheme (e.g. http, sftp, ...), or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="user"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri user info, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="port"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri port, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="host"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri host, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri path, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_drop_get_uris"
              c:identifier="pluma_utils_drop_get_uris">
      <doc xml:space="preserve">Create a list of valid uri's from a uri-list drop.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a string array which will hold the uris or %NULL if there
	 were no valid uris. g_strfreev should be used when the
	 string array is no longer used</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:space="preserve">the #GtkSelectionData from drag_data_received</doc>
          <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_search_text"
              c:identifier="pluma_utils_escape_search_text">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_underscores"
              c:identifier="pluma_utils_escape_underscores">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_file_has_parent"
              c:identifier="pluma_utils_file_has_parent">
      <doc xml:space="preserve">Return %TRUE if the specified gfile has a parent (is not the root), %FALSE
otherwise</doc>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="gfile" transfer-ownership="none">
          <doc xml:space="preserve">the GFile to check the parent for</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_viewport"
              c:identifier="pluma_utils_get_current_viewport">
      <doc xml:space="preserve">Get the current viewport origin

Get the currently visible viewport origin for the #GdkScreen.

If the X11 window property isn't found, (0, 0) is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_workspace"
              c:identifier="pluma_utils_get_current_workspace">
      <doc xml:space="preserve">Get the current workspace

Get the currently visible workspace for the #GdkScreen.

If the X11 window property isn't found, 0 (the first workspace)
is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects"
              c:identifier="pluma_utils_get_ui_objects"
              introspectable="0">
      <doc xml:space="preserve">This function gets the requested objects from a GtkBuilder ui file. In case
of error it returns %FALSE and sets error_widget to a GtkLabel containing
the error message to display.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%FALSE if an error occurs, %TRUE on success.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve">the path to the gtk builder file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:space="preserve">a %NULL terminated list of root objects to load or NULL to
               load all objects</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error_widget" transfer-ownership="none">
          <doc xml:space="preserve">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:space="preserve">the name of the first object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve">a pointer were the first object is returned, followed by more
      name / object pairs and terminated by %NULL.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_window_workspace"
              c:identifier="pluma_utils_get_window_workspace">
      <doc xml:space="preserve">Get the workspace the window is on

This function gets the workspace that the #GtkWindow is visible on,
it returns PLUMA_ALL_WORKSPACES if the window is sticky, or if
the window manager doesn support this function</doc>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="gtkwindow" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_is_valid_uri"
              c:identifier="pluma_utils_is_valid_uri">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_location_get_dirname_for_display"
              c:identifier="pluma_utils_location_get_dirname_for_display">
      <doc xml:space="preserve">Returns a string suitable to be displayed in the UI indicating
the name of the directory where the file is located.
For remote files it may also contain the hostname etc.
For local files it tries to replace the home dir with ~.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a string to display the dirname</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_canonical_uri_from_shell_arg"
              c:identifier="pluma_utils_make_canonical_uri_from_shell_arg">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_valid_utf8"
              c:identifier="pluma_utils_make_valid_utf8">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_tree_view"
              c:identifier="pluma_utils_menu_position_under_tree_view">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_widget"
              c:identifier="pluma_utils_menu_position_under_widget">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_replace_home_dir_with_tilde"
              c:identifier="pluma_utils_replace_home_dir_with_tilde">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_name_description"
              c:identifier="pluma_utils_set_atk_name_description">
      <doc xml:space="preserve">This function sets up name and description
for a specified gtk widget.</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">The Gtk widget for which name/description to be set</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve">Atk name string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve">Atk description string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_relation"
              c:identifier="pluma_utils_set_atk_relation">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="obj1" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="obj2" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="rel_type" transfer-ownership="none">
          <type name="Atk.RelationType" c:type="AtkRelationType"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_end_truncate"
              c:identifier="pluma_utils_str_end_truncate">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_middle_truncate"
              c:identifier="pluma_utils_str_middle_truncate">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_unescape_search_text"
              c:identifier="pluma_utils_unescape_search_text">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_exists" c:identifier="pluma_utils_uri_exists">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="text_uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_for_display"
              c:identifier="pluma_utils_uri_for_display">
      <doc xml:space="preserve">Filter, modify, unescape and change @uri to make it appropriate
for display to users.

This function is a convenient wrapper for g_file_get_parse_name</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a string which represents @uri and can be displayed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve">uri to be displayed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_get_dirname"
              c:identifier="pluma_utils_uri_get_dirname">
      <doc xml:space="preserve">Note: this function replace home dir with ~</doc>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_has_file_scheme"
              c:identifier="pluma_utils_uri_has_file_scheme">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_has_writable_scheme"
              c:identifier="pluma_utils_uri_has_writable_scheme">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="pluma_warning" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
