<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <namespace name="GtkosxApplication"
             version="1.0"
             shared-library="@executable_path/../Resources/lib/libgtkmacintegration-gtk3.2.dylib"
             c:identifier-prefixes="Gtkosx"
             c:symbol-prefixes="gtkosx">
    <function-macro name="APPLICATION"
                    c:identifier="GTKOSX_APPLICATION"
                    introspectable="0">
      <source-position filename="gtkosxapplication.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_CLASS"
                    c:identifier="GTKOSX_APPLICATION_CLASS"
                    introspectable="0">
      <source-position filename="gtkosxapplication.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APPLICATION_GET_CLASS"
                    c:identifier="GTKOSX_APPLICATION_GET_CLASS"
                    introspectable="0">
      <source-position filename="gtkosxapplication.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="GtkosxApplication"
           parent="GObject.Object"
           glib:type-name="GtkosxApplication"
           glib:get-type="gtkosx_application_get_type"
           glib:type-struct="ApplicationClass">
      <doc xml:space="preserve"
           filename="gtkosxapplication.c"
           line="30">Exposes to the Gtk+ program important functions of
OS X's NSApplication class for use by Gtk+ applications running with
the quartz Gdk backend and provides addtional functions for
integrating a Gtk+ program into the OS X user environment.

Using GtkosxApplication is pretty simple.
First, create an instance at startup:

|[&lt;!-- language="C" --&gt;
GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
]|

Do this early in your program, shortly after you run
|[
gtk_init()
]|
Don't forget to guard it, and all other calls into the library, with
|[
#ifdef MAC_INTEGRATION
]|

You don't want your Linux users' builds failing because of this.
The application object is a singleton, so you can call g_object_new
as often as you like. You'll always get the same pointer
back. There's no need to pass it around as an argument. Do note
that all of the GtkosxApplication functions take theApp as an
argument, even if they don't use it. This seems silly in C, and
perhaps it is, but it's needed to make the Python binding logic
recognize that they're class methods.

Just having the application object created will get you some
benefits, like having the Quit menu item in the dock menu work. But
you'll obviously want more. So the next place to visit is your main
window code. If you have a simple application, you might be
constructing the menu by hand, but you're more likely to be using
GtkBuilder. In either case, you need to get a pointer to the
menubar. If you're building by hand, you've already got it lying
around because you needed it to add the menus to. With GtkBuilder,
you need to ask the GtkUIManager for a pointer. Once everything is
more-or-less set up on the Gtk+ side, you need only hide the menu
and call gtkosx_application_set_main_menu(). Here's an example with
GtkBuilder:

## Setting the MenuBar
|[&lt;!-- language="C" --&gt;
  GtkUIManager *mgr = gtk_ui_manager_new();
  GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
  ...
  mergeid = gtk_ui_manager_add_ui_from_file(mgr, "src/testui.xml", &amp;err);
  ...
  menubar = gtk_ui_manager_get_widget(mgr, "/menubar");
  gtk_widget_hide (menubar);
  gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
]|

There are a couple of wrinkles, though, if you use
accelerators. First off, there are two event paths for
accelerators: Quartz, where the keystroke is processed by OS X and
the menu item action event is placed on the event queue by OS X, or
Gtk, where the accelerator key event is passed through to Gtk to
recognize. This is controlled by
gtkosx_application_set_use_quartz_accelerators() (you can test the
value with gtkosx_application_use_quartz_accelerators()), and the
default is to use Quartz handling. This has two advantages:
- It works without any extra steps
- It changes stock accelerators (like Ctrl-O for open file) to
the stock OS X keyEquivalent (Cmd-O in that case).

If you need to use Gtk+ keyboard accelerator handling *and*
you're using GtkMenuItems instead of GtkActions, you'll need to
connect a special handler as shown in the following example:
## Enabling Accelerators on Hidden Menus
|[&lt;!-- language="C" --&gt;
static gboolean
can_activate_cb(GtkWidget* widget, guint signal_id, gpointer data)
{
  return gtk_widget_is_sensitive(widget);
}
...
  g_signal_connect(menubar, "can-activate-accel",
                   G_CALLBACK(can_activate_cb), NULL);
]|

The next task to make your application appear more normal for Mac
users is to move some menu items from their normal Gtk locations to
the so-called "App" menu. That's the menu all the way at the left
of the menubar that has the currently-running application's
name. There are 3 menu items that normally go there:
- Help|About
- Edit|Preferences
- File|Quit

File|Quit is a special case, because OS X handles it itself and
automatically includes it, so the only thing you need do is hide it
on the File menu so that it doesn't show up twice:
|[
gtk_widget_hide(GTK_WIDGET(file_quit_menu_item));
]|
The other two must be moved in code, and there are two functions
for doing that. The first one creates "goups", which is just an
easy way to manage separators, and the second adds the actual menu
items to the groups. Here's an example:
|[
 GtkosxApplicationMenuGroup *group;
 GtkMenuItem *about_item, *preferences_item;
 about_item = gtk_ui_manager_get_widget(mgr, "/menubar/Help/About");
 preferences_item = gtk_ui_manager_get_widget(mgr, "/menubar/Edit/Preferences");

 group = gtkosx_application_add_app_menu_group (theApp);
 gtkosx_application_add_app_menu_item  (theApp, group,
                                        GTK_MENU_ITEM (about_item));

 group = gtkosx_application_add_app_menu_group (theApp);
 gtkosx_application_add_app_menu_item  (theApp, group,
                                        GTK_MENU_ITEM (preferences_item));
]|
Once we have everything set up for as many windows as we're going
to open before we call gtk_main_loop(), we need to tell OS X that
we're ready:
|[
gtkosx_application_ready(theApp);
]|

If you add other windows later, you must do everything above for
each one's menubar. Most of the time the internal notifictations
will ensure that the GtkosxApplication is able to keep everything
in sync. However, if you at any time disconnect or block signals
and change the menu (perhaps because of a context change within a
window, as with changing pages in a GtkNotebook) you need to call
|[
gtkosx_application_sync_menubar(theApp)
]|

N.B.: One GtkMenu function, gtk_menu_reorder_child(), changes the
menu appearance without emitting a signal, so if you use that
function in your code you'll need to call
gtkosx_application_sync_menubar() afterwards.

## Dock Support
The dock is that bar of icons that normally lives at the bottom of
the display on a Mac (though it can be moved to one of the other
sides; this author likes his on the left, which is where it was
originally on a NeXT). Each running application has a "dock tile",
an icon on the dock. Users can, if they like, add application (or
document) icons to the dock, and those can be used to launch the
application. Apple allows limited customization of the dock tile,
and GtkosxApplication has an interface for adding to the dock's
menu and for changing the icon that is displayed for the the
application. GtkosxApplication also provides an interface to
AttentionRequest, which bounces the dock tile if the application
doesn't have focus. You might want to do that at the end of a long
task so that the user will know that it's finished if she's
switched to another application while she waits for yours.
They're all pretty simple, so you can just read the details below.
- gtkosx_application_set_doc_menu()
- gtkosx_application_set_doc_icon_pixbuf()
- gtkosx_application_set_dock_icon_resource()
- gtkosx_application_attention_request()
- gtkosx_application_cancel_attention_request()

## Bundle Support
The last feature to which GtkosxApplication provides an interface
is the bundle. Normally in OS X, graphical applications are packaged
along with their non-standard dependencies and their resources
(graphical elements, translations, and such) in special directory
structures called "bundles". To easily package your Gtk+
application, have a look at gtk-mac-bundler, also available from
the Gtk-OSX project.

OS X provides a variety of functions pertaining to bundles, most of
which are not likely to interest someone porting a Gtk+
application. GtkosxApplication has wrapped a few that might be:
- gtkosx_application_get_bundle_path()
- gtkosx_application_get_resource_path()
- gtkosx_application_get_executable_path()
- gtkosx_application_get_bundle_id()
- gtkosx_application_get_bundle_info()

The first three just get a UTF8-encoded path. An interesting note
is that they'll return the path to the executable or the folder
it's in regardless of whether it's actually in a bundle. To find
out if one is actually dealing with a bundle,
gtkosx_application_get_bundle_id() will return "" if it can't find
the key %CFBundleIdentifier from the bundle's Info.plist -- which it
won't if the application isn't in a bundle or wasn't launched by
opening the bundle. (In other words, even if you have your
application installed in Foo.app, if you launch it from the command
line as
|[
$ Foo.app/Contents/MacOS/Foo
]|
the Info.plist won't have been opened and
gtkosx_application_get_bundle_id() will return "". Of course, it
will also return "" if you didn't set %CFBundleIdentifier in the
Info.plist, so make sure that you do!

The last function, gtkosx_application_get_bundle_info(), will
return the value associated with an arbitrary key from Info.plist
as long as that value is a string. If it isn't, then the function
returns a null string ("").

## Notifications
Finally, notice the signals. These are emitted in response to the
indicated OS X notifications. Except for
#GtkosxApplication::NSApplicationBlockTermination, most programs
won't need to do anything with
them. #GtkosxApplication::NSApplicationBlockTermination is telling
you that OS X is planning to shut down your program. If you have any
cleanup to do (like saving open files), or if you want to ask the
user if it's OK, you should connect to the signal and do your
cleanup. Your handler can return %TRUE to prevent the application
from quitting.</doc>
      <source-position filename="gtkosxapplication.h" line="60"/>
      <function name="get" c:identifier="gtkosx_application_get">
        <source-position filename="gtkosxapplication.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtkosxapplication.c"
               line="253">the singleton application object.</doc>
          <type name="Application" c:type="GtkosxApplication*"/>
        </return-value>
      </function>
      <function name="get_bundle_id"
                c:identifier="gtkosx_application_get_bundle_id">
        <source-position filename="gtkosxapplication.h" line="154"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_bundle_info"
                c:identifier="gtkosx_application_get_bundle_info">
        <source-position filename="gtkosxapplication.h" line="155"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_bundle_path"
                c:identifier="gtkosx_application_get_bundle_path">
        <source-position filename="gtkosxapplication.h" line="151"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_executable_path"
                c:identifier="gtkosx_application_get_executable_path">
        <source-position filename="gtkosxapplication.h" line="153"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <function name="get_resource_path"
                c:identifier="gtkosx_application_get_resource_path">
        <source-position filename="gtkosxapplication.h" line="152"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </function>
      <method name="attention_request"
              c:identifier="gtkosx_application_attention_request">
        <source-position filename="gtkosxapplication.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="ApplicationAttentionType"
                  c:type="GtkosxApplicationAttentionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel_attention_request"
              c:identifier="gtkosx_application_cancel_attention_request">
        <source-position filename="gtkosxapplication.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_app_menu_item"
              c:identifier="gtkosx_application_insert_app_menu_item">
        <source-position filename="gtkosxapplication.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="menu_item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="ready" c:identifier="gtkosx_application_ready">
        <source-position filename="gtkosxapplication.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_about_item"
              c:identifier="gtkosx_application_set_about_item">
        <source-position filename="gtkosxapplication.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dock_icon_pixbuf"
              c:identifier="gtkosx_application_set_dock_icon_pixbuf">
        <source-position filename="gtkosxapplication.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dock_icon_resource"
              c:identifier="gtkosx_application_set_dock_icon_resource">
        <source-position filename="gtkosxapplication.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="subdir" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dock_menu"
              c:identifier="gtkosx_application_set_dock_menu">
        <source-position filename="gtkosxapplication.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="menu_shell" transfer-ownership="none">
            <type name="Gtk.MenuShell" c:type="GtkMenuShell*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_help_menu"
              c:identifier="gtkosx_application_set_help_menu">
        <source-position filename="gtkosxapplication.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="menu_item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_menu_bar"
              c:identifier="gtkosx_application_set_menu_bar">
        <source-position filename="gtkosxapplication.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="menu_shell" transfer-ownership="none">
            <type name="Gtk.MenuShell" c:type="GtkMenuShell*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_quartz_accelerators"
              c:identifier="gtkosx_application_set_use_quartz_accelerators">
        <doc xml:space="preserve"
             filename="gtkosxapplication.c"
             line="276">Set quartz accelerator handling; TRUE (default) uses quartz; FALSE
uses Gtk+. Quartz accelerator handling is required for normal OS X
accelerators (e.g., command-q to quit) to work.</doc>
        <source-position filename="gtkosxapplication.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtkosxapplication.c"
                 line="278">The GtkosxApplication pointer.</doc>
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="use_quartz_accelerators" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtkosxapplication.c"
                 line="279">Gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_menu"
              c:identifier="gtkosx_application_set_window_menu">
        <source-position filename="gtkosxapplication.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
          <parameter name="menu_item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync_menubar"
              c:identifier="gtkosx_application_sync_menubar">
        <source-position filename="gtkosxapplication.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="use_quartz_accelerators"
              c:identifier="gtkosx_application_use_quartz_accelerators">
        <doc xml:space="preserve"
             filename="gtkosxapplication.c"
             line="262">Are we using Quartz or Gtk+ accelerator handling?</doc>
        <source-position filename="gtkosxapplication.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gtkosxapplication.c"
               line="268">a gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gtkosxapplication.c"
                 line="264">The GtkosxApplication pointer.</doc>
            <type name="Application" c:type="GtkosxApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ApplicationPrivate" c:type="GtkosxApplicationPrivate*"/>
      </field>
      <glib:signal name="NSApplicationBlockTermination"
                   no-recurse="1"
                   action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="NSApplicationDidBecomeActive"
                   no-recurse="1"
                   action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="NSApplicationOpenFile" no-recurse="1" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="NSApplicationWillResignActive"
                   no-recurse="1"
                   action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="NSApplicationWillTerminate" no-recurse="1" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <enumeration name="ApplicationAttentionType"
                 c:type="GtkosxApplicationAttentionType">
      <source-position filename="gtkosxapplication.h" line="104"/>
      <member name="ritical_request" value="0" c:identifier="CRITICAL_REQUEST">
        <doc xml:space="preserve"
             filename="gtkosxapplication.h"
             line="98">Bounce the icon until the app is activated.</doc>
      </member>
      <member name="nfo_request" value="10" c:identifier="INFO_REQUEST">
        <doc xml:space="preserve"
             filename="gtkosxapplication.h"
             line="99">Bounce the icon for one second.</doc>
      </member>
    </enumeration>
    <record name="ApplicationClass"
            c:type="GtkosxApplicationClass"
            glib:is-gtype-struct-for="Application">
      <source-position filename="gtkosxapplication.h" line="60"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ApplicationMenuGroup" c:type="GtkosxApplicationMenuGroup">
      <doc xml:space="preserve"
           filename="gtkosxapplication.h"
           line="41">A menu group is used to collect menu items between separators in
the Application menu.</doc>
      <source-position filename="gtkosxapplication.h" line="65"/>
      <field name="items" writable="1">
        <doc xml:space="preserve"
             filename="gtkosxapplication.h"
             line="43">List of menu items in the group.</doc>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </record>
    <record name="ApplicationPrivate"
            c:type="GtkosxApplicationPrivate"
            disguised="1">
      <source-position filename="gtkosxapplication.h" line="39"/>
    </record>
    <function-macro name="IS_APPLICATION"
                    c:identifier="GTKOSX_IS_APPLICATION"
                    introspectable="0">
      <source-position filename="gtkosxapplication.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_APPLICATION_CLASS"
                    c:identifier="GTKOSX_IS_APPLICATION_CLASS"
                    introspectable="0">
      <source-position filename="gtkosxapplication.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function name="type_application_attention_type_get_type"
              c:identifier="gtkosx_type_application_attention_type_get_type">
      <source-position filename="gtkosxapplication.h" line="108"/>
      <return-value transfer-ownership="none">
        <type name="GType" c:type="GType"/>
      </return-value>
    </function>
  </namespace>
</repository>
