This page describes the interface classifications for items shipped with the GNOME desktop. For the definitions of the interface classifications, see attributes(7).
Those wishing to integrate with the GNOME desktop are recommended to depend on interfaces marked as Committed. These interfaces will not break after upgrade. The set of Committed interfaces is a subset of the GNOME Platform libraries (plus additional interfaces such as FreeDesktop interfaces and pkg-config).
Oracle believes that the list of Committed interfaces is suitable for writing a great GTK+ based application. Examples of programs that depend only on these interfaces include: GIMP, Firefox, and Thunderbird.
Note that when you build software, any configure script may use the pkg-config to identify what libraries are installed to the system. Solaris includes pc files for non-Committed interfaces in /usr/lib/pkgconfig, so be aware of the commitment level of any dependencies you may be using. Some such dependencies are optional and configure options can disable them. It is recommended that non-Committed interfaces are not enabled if you require stability.
GNOME Platform libraries have an API/ABI stability guarantee from the external GNOME community. While it is unlikely that non-Committed interfaces in the GNOME Platform would break after upgrade, Sun makes no guarantee that these interfaces have any stability. Refer to the GNOME community for a list of Platform libraries for the version of GNOME being used. Use non-Committed interfaces at your own risk.
GNOME Desktop interfaces have no stability guarantee and are intended only for use for programs provided by the GNOME community. Xiph.org interfaces also have no stability guarantee.
Instructions on how to integrate with the GNOME panel menu, the MIME database, and icon integration are discussed in the GNOME System Administration Guide.
You must install the GNOME development packages for access to developer applications and API documentation. API documentation for GNOME interfaces can be found in related manpages and the API documentation installed to /usr/share/gtk-doc in HTML format.
The interfaces listed below ship with API documentation. Refer to the specific manpage for details. GNOME interfaces which are not listed in the table below should be considered Volatile, even if the interfaces have gtk-docs installed in /usr/share/gtk-doc. Interfaces in Committed libraries that are not documented in the man page or referenced gtk-doc API documentation should be considered Volatile.
INTERFACE NAME | CLASSIFICATION |
gdk-pixbuf-csource | Committed GNOME Platform |
gdk-pixbuf-query-loaders | Committed GNOME Platform |
glib-genmarshal | Committed GNOME Platform |
glib-gettextize | Committed GNOME Platform |
glib-mkenums | Committed GNOME Platform |
gobject-query | Committed GNOME Platform |
gtk-builder-convert | Committed GNOME Platform |
gtk-query-immodules-2.0 | Committed GNOME Platform |
gtk-update-icon-cache | Committed GNOME Platform |
pkg-config | Committed |
libIDL-2 | Volatile GNOME Platform |
libORBit-2 | Volatile GNOME Platform |
libORBitCosNaming-2 | Volatile GNOME Platform |
libart_lgpl_2 | Volatile GNOME Platform |
libatk-1.0 | Committed GNOME Platform |
libaudiofile | Volatile GNOME Platform |
libbonobo-2 | Volatile GNOME Platform |
libbonobo-activation | Volatile GNOME Platform |
libbonoboui-2 | Volatile GNOME Platform |
libcairo | Uncommitted FreeDesktop |
libcspi | Committed GNOME Platform |
/usr/include/at-spi-1.0/libspi/Accessibility.h | |
Volatile GNOME Platform | |
/usr/lib/python2.4/site-packages/pyatspi/* | |
Volatile GNOME Platform | |
at-spi | Committed GNOME Platform |
libesd | Volatile GNOME Platform |
libgailutil | Volatile GNOME Platform |
libgconf-2 | Volatile GNOME Platform |
libgdk-x11-2.0 | Committed GNOME Platform |
libgdk_pixbuf-2.0 | Committed GNOME Platform |
libgio-2.0 | Volatile GNOME Platform |
libglade-2.0 | Volatile GNOME Platform |
libglib-2.0 | Committed GNOME Platform |
libglibmm-2.4 | Uncommitted GNOME Platform |
libgiomm-2.4 | Uncommitted GNOME Platform |
libgmodule-2.0 | Committed GNOME Platform |
libgthread-2.0 | Committed GNOME Platform |
libgnome-2 | Volatile GNOME Platform |
libgnomecanvas-2 | Volatile GNOME Platform |
libgnome-desktop-2 | Volatile GNOME Desktop |
libgnomeprint-2.2 | Volatile GNOME Desktop |
libgnomeprintui-2.2 | Obsolete GNOME Desktop |
libgnomeui-2 | Volatile GNOME Platform |
libgnomevfs-2 | Obsolete Volatile GNOME Platform |
libgobject-2.0 | Committed GNOME Platform |
libgstreamer-10.0 | Volatile GNOME Desktop |
libgstbase-10.0 | Volatile GNOME Desktop |
libgtk-x11-2.0 | Committed GNOME Platform |
libogg | Volatile Xiph.org |
libpanel-applet-2 | Volatile GNOME Desktop |
libpango-1.0 | Committed GNOME Platform |
libpangoft2-1.0 | Committed GNOME Platform |
libpangocairo-1.0.3 | Committed GNOME Platform |
ibpangoxft-1.0.3 | Committed GNOME Platform |
libpangox-1.0 | Committed GNOME Platform |
libpopt | Volatile |
librsvg | Volatile GNOME Desktop |
libvorbis | Volatile Xiph.org |
libvte | Volatile GNOME Desktop |
gnome-vfs-mime-magic | Obsolete Volatile GNOME Platform |
gnome-vfs.applications | Obsolete Volatile GNOME Platform |
gnome-vfs.keys | Obsolete Volatile GNOME Platform |
gnome-vfs.mime | Obsolete Volatile GNOME Platform |
default.session | Volatile GNOME Desktop |
/usr/lib/pkgconfig | Committed |
/usr/share/applications | Committed FreeDesktop |
$HOME/.local/share/applications | Committed FreeDesktop |
/usr/share/gdm/defaults.conf | Volatile |
/etc/X11/gdm/custom.conf | Volatile |
/usr/bin/update-mime-database | Committed |
/usr/bin/update-desktop-database | Committed |
/usr/bin/pango-querymodules | Committed |
/usr/lib/libgtop | Volatile GNOME Platform |
gdk-pixbuf-csource(1), gdk-pixbuf-query-loaders(1), gdm(8), glib-genmarshal(1), glib-gettextize(1), glib-mkenums(1), gobject-query(1), gtk-builder-convert(1), gtk-query-immodules-2.0(1), gtk-update-icon-cache(1), pango-querymodules(1), pkg-config(1), update-desktop-database(1), update-mime-database(1), libIDL-2(3lib), libORBit-2(3lib), libORBitCosNaming-2(3lib), libart_lgpl_2(3lib), libatk-1.0(3lib), libaudiofile(3lib), libbonobo-2(3lib), libbonobo-activation(3lib), libbonoboui-2(3lib), libcairo(3lib), libcspi(3lib), libesd(3lib), libgailutil(3lib), libgconf-2(3lib), libgdk-x11-2.0(3lib), libgdk_pixbuf-2.0(3lib), libgio-2.0(3lib), libglade-2.0(3lib), libglib-2.0(3lib), libglibmm-2.4(3lib), libgiomm-2.4(3lib), libgnome-2(3lib), libgnome-desktop-2(3lib), libgnomecanvas-2(3lib), libgnomeprint-2-2(3lib), libgnomeprintui-2-2(3lib), libgnomeui-2(3lib), libgnomevfs-2(3lib), libgobject-2.0(3lib), libgstreamer-10.0(3lib), libgtk-x11-2.0(3lib), libogg(3lib), libpanel-applet-2(3lib), libpango-1.0(3lib), libpopt(3lib), librsvg(3lib), libvorbis(3lib), libvte(3lib), libgtop(3) attributes(7), environ(7)
See attributes(7) for descriptions of the above attributes:
Latest version of the GNOME Desktop System Administration Guide for your platform.
The following web resources are useful for learning more about the GNOME desktop and its interfaces:
http://www.gnome.org/
http://developer.gnome.org/
http://live.gnome.org/
http://www.gtkmm.org/
http://www.freedesktop.org/
http://www.xiph.org/
Written by Brian Cameron and Matt Keenan, Sun Microsystems Inc., 2003, 2007, 2008.