|
| 1 | +--- |
| 2 | +name: gnome-sdk-docs |
| 3 | +description: "Browse GNOME SDK documentation including GObject Introspection (.gir) files, D-Bus interfaces or icons that can be useful for GNOME apps development." |
| 4 | +--- |
| 5 | + |
| 6 | +# Browsing GNOME SDK Documentation |
| 7 | + |
| 8 | +This skill provides access to various GNOME SDK resources for development purposes. |
| 9 | + |
| 10 | +## GObject Introspection Files |
| 11 | + |
| 12 | +GObject Introspection (`.gir`) files are XML files describing the API of GNOME libraries. They are located at `/usr/share/gir-1.0/`. |
| 13 | + |
| 14 | +The libraries used by this project and their corresponding files: |
| 15 | + |
| 16 | +- `/usr/share/gir-1.0/Gtk-4.0.gir` |
| 17 | +- `/usr/share/gir-1.0/Adw-1.gir` |
| 18 | +- `/usr/share/gir-1.0/Gio-2.0.gir` |
| 19 | +- `/usr/share/gir-1.0/GLib-2.0.gir` |
| 20 | +- `/usr/share/gir-1.0/GObject-2.0.gir` |
| 21 | +- `/usr/share/gir-1.0/Soup-3.0.gir` |
| 22 | + |
| 23 | +These files are large XML documents. Use Grep to search for specific class names, method names, property names, or signal names rather than reading entire files. For example: |
| 24 | + |
| 25 | +- To find a class: `Grep` for `<class name="Button"` in the relevant `.gir` file. |
| 26 | +- To find a method: `Grep` for `<method name="set_label"`. |
| 27 | +- To find properties of a class: `Grep` for `<property name=` near the class definition. |
| 28 | +- To find signals: `Grep` for `<glib:signal name=`. |
| 29 | + |
| 30 | +## D-Bus Interfaces |
| 31 | + |
| 32 | +D-Bus interface definitions are XML files describing D-Bus services and their methods, signals, and properties. They are located at `/usr/share/dbus-1/interfaces/`. |
| 33 | + |
| 34 | +Use Grep to search for specific interface names, method names, or signal names. For example: |
| 35 | + |
| 36 | +- To find an interface: `Grep` for `<interface name="org.freedesktop.portal.Notification"` in the relevant interface file. |
| 37 | + |
| 38 | +## Icons |
| 39 | + |
| 40 | +GNOME icons are stored in `/usr/share/icons/`. This directory contains icon themes like Adwaita, with icons in various sizes and formats. |
| 41 | + |
| 42 | +Use file listing tools to browse available icons by theme and size. For example: |
| 43 | + |
| 44 | +- List themes: `ls /usr/share/icons/` |
| 45 | +- List icons in a theme: `ls /usr/share/icons/Adwaita/` |
| 46 | + |
| 47 | +Remember to use symbolic-icons for UI elements, unless showing the icon of a specific app |
0 commit comments