Core Libraries
Core
- GLib Reference Manual
-
GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures.
- GIO Reference Manual
-
GIO provides a modern and easy-to-use VFS API. It provides a file system abstraction which allows applications to access local and remote files with a single consistent API.
- GObject Reference Manual
-
GObject provides the object system used for Pango and GTK.
User Interface
- Pango Reference Manual
-
Pango is the core text and font handling library used in GNOME applications. It has extensive support for the different writing systems used throughout the world.
- GDK-PixBuf Reference Manual
-
GdkPixbuf is a library for image loading and manipulation. The GdkPixbuf documentation contains both the programmer's guide and the API reference.
- GDK 3 Reference Manual
-
An intermediate layer which isolates GTK from the details of the windowing system.
- GDK 4 Reference Manual
-
An intermediate layer which isolates GTK from the details of the windowing system.
- GSK 4 Reference Manual
-
An intermediate layer which isolates GTK from the details of the OpenGL or Vulkan implementation.
- GTK+ 3 Reference Manual
-
GTK is the primary library used to construct user interfaces in GNOME applications. It provides user interface controls and signal callbacks to control user interfaces.
- GTK+ 4 Reference Manual
-
GTK is the primary library used to construct user interfaces in GNOME applications. It provides user interface controls and signal callbacks to control user interfaces.
- WebKit2GTK+ Reference Manual [external resource]
Web content rendering for the GNOME Platform
- Cairo: A Vector Graphics Library
-
Cairo is a 2D graphics library with support for multiple output devices. It is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available.
- Clutter Reference Manual
-
Clutter is a GObject based library for creating fast, visually rich, graphical user interfaces.
Multimedia
- GStreamer Core Plugins Reference Manual
-
Powerful framework for creating multimedia applications. Supports both Audio and Video.
- GStreamer Core Reference Manual
-
Powerful framework for creating multimedia applications. Supports both Audio and Video.
- GStreamer Library Reference Manual
-
Powerful framework for creating multimedia applications. Supports both Audio and Video.
- GUPnP A/V Reference Manual
-
Small utility library that aims to ease the handling and implementation of UPnP audio/video profiles
- GUPnP DLNA Reference Manual
-
Library to ease DLNA-related bits for applications using gupnp.
- libcanberra Reference Manual
-
libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops,
- librygel-core Reference Manual
- librygel-renderer Reference Manual
- librygel-renderer-gst Reference Manual
- librygel-server Reference Manual
Accessibility
- ATK - Accessibility Toolkit
-
ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications.
Communication
- GSSDP Reference Manual
-
GObject-based API for handling resource discovery and announcement over SSDP.
- GUPnP IGD Reference Manual
-
Library to handle UPnP Internet Gateway Device port mappings.
- GUPnP Reference Manual
-
Core UPnP API built on top of gssdp
- libsoup Reference Manual
-
libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications.
- telepathy-glib Reference Manual [external resource]
- Zapojit Reference Manual
-
libzapojit is a GLib/GObject wrapper for the SkyDrive and Hotmail REST APIs
Data Storage
Utilities
- libxml2 Reference Manual [external resource]
Powerful and feature complete XML handling library.
- libxslt Reference Manual [external resource]
The XSLT C library developed for the Gnome project. XSLT itself is a an XML language to define transformation for XML. Libxslt is based on libxml2.
- dconf Reference Manual
-
dconf is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems.
- GSF Reference Manual
-
Structured File Library (GSF) is an I/O abstraction for reading/writing compound files.
- GXPS Reference Manual
-
libgxps is a GObject based library for handling and rendering XPS documents.
- JSON-GLib Reference Manual
-
JSON-GLib is a library for reading and parsing JSON using GLib and GObject data types and API.
- libchamplain Reference Manual
-
Libchamplain is a C library providing a ClutterActor to display maps.
- libchamplain-gtk Reference Manual
-
Libchamplain-gtk is a C library on top of libchamplain providing a Gtk+ widget to display maps in GTK applications.
- Libnotify Reference Manual
-
libnotify is a library that sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec. These notifications can be used to inform the user about an event or display some form of information without getting in the user's way.
- Librsvg Reference Manual
-
Library for rendering of SVG vector graphics.
- Libsecret Library Reference Manual
-
libsecret is a library for storing and retrieving passwords and other secrets. It communicates with the "Secret Service" using DBus.
- Peas Reference Manual
-
libpeas is a gobject-based plugins engine, and is targetted at giving every application the chance to assume its own extensibility.
- VTE Reference Manual
-
Terminal emulator widget used by GNOME terminal.
Others
- Cogl Reference Manual
-
COGL is a low level OpenGL abstraction library developed for (and part of) Clutter. It is used primarily by Clutter to provide a common rendering API that works transparently across OpenGL >=1.4, OpenGL ES 1.1 and OpenGL ES 2.0.
Others
Other Libraries
Multimedia
- discident-glib Reference Manual
-
GObject-based API for the Discident and EAN lookup services.
- Grilo Reference Manual
-
Grilo is a framework that provides access to different sources of multimedia content, using a pluggable system.
Communication
- Easy Publish and Consume Reference Manual
-
The Easy Publish and Consume library (libepc) provides an easy method to publish data using HTTPS, announce that information via DNS-SD, find that information and finally consume it.
- GData Reference Manual
Utilities
- Amtk 5 Reference Manual
-
Actions, Menus and Toolbars Kit for GTK applications
- GMime 3.0 Reference Manual
-
GMime is a powerful MIME (Multipurpose Internet Mail Extension) utility library. It is meant for creating, editing, and parsing MIME messages and structures.
- gspell 1 Reference Manual
-
Spell-checking library for GTK applications
- Poppler Reference Manual
- Sensor Proxy Reference Manual
-
iio-sensor-proxy is a D-Bus proxy for accelerometers and ambient light sensors.
- Switcheroo Control Reference Manual
-
switcheroo-control is a D-Bus proxy for dual-GPU desktop integration.
Introspection
Others
- Cally Reference Manual
- Camel Reference Manual
- Cheese Reference Manual
- Clutter Gst 3.0.4 Reference Manual
- Clutter-Gtk 1.8.0 Reference Manual
- Cogl 2.0 Reference Manual
- Cogl GST 2.0 Reference Manual
- Data Model API (libmodel)
- Devhelp Reference Manual
- Evince Document Library Reference Manual
- Evince View Library Reference Manual
- Evolution Connector for Microsoft Exchange Programmer’s Reference Manual
- Evolution Mail Composer Reference Manual
- Evolution Mail Engine Reference Manual
- Evolution Mail Formatter Reference Manual
- Evolution Shell Reference Manual
- Evolution Shell Reference Manual
- Evolution Shell Reference Manual
- Evolution Utilities Reference Manual
- Evolution Utilities Reference Manual
- Evolution-Data-Server Manual: Address Book Backend (libedata-book)
- Evolution-Data-Server Manual: Address Book Client (libebook)
- Evolution-Data-Server Manual: Address Book Data (libebook-contacts)
- Evolution-Data-Server Manual: Backend Utilities (libebackend)
- Evolution-Data-Server Manual: Calendar Backend (libedata-cal)
- Evolution-Data-Server Manual: Calendar Client (libecal)
- Evolution-Data-Server Manual: Graphical Utilities (libedataserverui)
- Evolution-Data-Server Manual: Private
- Evolution-Data-Server Manual: Utilities (libedataserver)
- Evolution-Data-Server Reference Manual
- GAIL Reference Manual
- GCab Reference Manual
- Gck Library Reference Manual
- Gcr Library Reference Manual
- GdaBrowser hacking manual
- gdbus-object-manager-example
- GDK Reference Manual
- Geoclue Reference Manual
- geocode-glib Reference Manual
- gfbgraph Reference Manual
- Glade User Interface Designer Reference Manual
- GNOME Desktop Library Reference Manual
- GNOME Desktop Library Reference Manual
- GNOME Dictionary Library Reference Manual
- GNOME Docking Library Reference Manual
-
The GNOME Devtools Library package provides a docking system and several utilities useful to GNOME development tools and GNOME applications in general.
- GNOME Online Accounts Reference Manual
- GNOME Panel Reference Manual
- Gnome Scan Reference Manual
- GNOME Software Reference Manual
- GNOME To Do - Reference Manual
- gnome-autoar Reference Manual
- gnome-bluetooth Reference Manual
- gnome-builder Reference Manual
- gnome-keyring Reference Manual
- GOffice Reference Manual
- GooCanvas Reference Manual
- GooCanvas Reference Manual
- goocanvas Reference Manual
- GP11 Reference Manual
- Graphene Reference Manual
- GSound Reference Manual
- GTK+ Reference Manual
- GtkGLExt Reference Manual
-
GtkGLExt is an OpenGL extension to GTK. It provides additional GDK objects which support OpenGL rendering in GTK and GtkWidget API add-ons to make GTK widgets OpenGL-capable.
- GtkSourceView 4 Reference Manual
- gucharmap Reference Manual
- GUPnP DLNA Gstreamer Reference Manual
- GUPnP DLNA Reference Manual
- libatspi Reference Manual
- Libbrasero-burn Reference Manual
- Libbrasero-media Reference Manual
- Libcroco Reference Manual
- libcryptui Reference Manual
- libgimp
- libgit2-glib Reference Manual
-
libgit2-glib is a glib library which wraps libgit2 providing making it easier to develop manage git repositories in a GObject oriented application.
- LibGlabels 3.0 Reference Manual
- LibGlbarcode 3.0 Reference Manual
- libgrss Reference Manual
- Libgtop Reference Manual
- libgweather Reference Manual
- libmediaart Library Reference Manual
- libmm-glib Reference Manual
- libnm Reference Manual
- libnm-glib Reference Manual
- libnm-util Reference Manual
- libnma Reference Manual
- Liboobs (System configuration management) Reference Manual
- libqmi-glib Reference Manual
- librest Reference Manual
- libseahorse Reference Manual
- Libwnck Reference Manual
- Libxklavier Reference Manual
- ModemManager Reference Manual
- Mutter Reference Manual
- NetworkManager Reference Manual
- OSTree Manual
- Panel Applet Reference Manual
- phodav Reference Manual
- Seed Reference Manual
- Shell Reference Manual
- St Reference Manual
- Totem Playlist Parser Reference Manual
- Totem Reference Manual
- Tracker Client Library Reference Manual
- Tracker Control Library Reference Manual
- Tracker Extract Library Reference Manual
- Tracker Miner Library Reference Manual
- Tracker Ontology Reference Manual
- Tracker SPARQL Library Reference Manual
- Yelp Reference Manual
Language Bindings
C++
- gtksourceviewmm Documentation
- libsigc++ Documentation
- libxml++ Documentation
- glibmm Documentation
- gtkmm Documentation
- atkmm Documentation
- gconfmm Documentation
- pangomm Documentation
- libvtemm Documentation
- librsvgmm Documentation
- goocanvasmm Documentation
- gstreamermm Documentation
- gtkglextmm Documentation
- libgda-uimm Documentation
- libgdamm Documentation
- cluttermm Documentation
- clutter-box2dmm Documentation
- clutter-gtkmm Documentation
Vala
- Vala API References [external resource]
Vala API References for GTK, GNOME and related libraries
Java
- java-gnome API Documentation [external resource]
Java Interfaces for GTK, GNOME and related libraries
Python
- PyGObject API Reference [external resource]
Python API Reference for GTK, GNOME and related libraries
- PyGObject Documentation [external resource]
Documentation for the PyGObject Python bindings
JavaScript
- JavaScript API browser [external resource]
Plugins for GNOME Application
- Anjuta Developers Reference Manual
- Epiphany Reference Manual
- Evince Programmer's Reference Manual
- Eye of GNOME Reference Manual
- gedit Reference Manual
- Nautilus Extension Reference Manual
- nautilus-sendto Reference Manual
- Rhythmbox Development Reference Manual
Standards
- Desktop Application Autostart Specification
This freedesktop.org specification describes how applications can be started automatically after the user has logged in and how media can request a specific application to be executed or a specific file on the media to be opened after the media has been mounted.
- Desktop Entry Specification
The Desktop Entries provide information about an application such as the name, icon, and description. These files are used for application launchers and for creating menus of applications that can be launched.
- Desktop Notifications Specification
This specification standardizes the interface to desktop notification services.
- Extended Window Manager Hints
This freedesktop.org specification standardizes extensions to the ICCCM between X desktops.
- Icon Naming Specification
This freedesktop.org specification describes a common way to name icons and their contexts in an icon theme.
- Icon Theme Specification
This freedesktop.org specification describes a common way to store icon themes.
- Menu Specification
This freedesktop.org specification describes how menus are built up from desktop entries.
- Shared MIME-info Database Specification
This freedesktop.org specification attempts to unify the MIME database systems currently in use by X desktop environments.
- XDG Base Directory Specification
Various specifications specify files and file formats. This freedesktop.org specification defines where these files should be looked for by defining one or more base directories relative to which files should be located.