GTK provides, directly or through various dependencies, a full platform for application development.
You can browse the latest available documentation online.
You can find guides and tutorials on the GNOME developer documentation website.
User interface and display
- GTK — Widget toolkit for graphical interfaces
- GDK — Low-level abstraction for the windowing system
- GSK — Low-level scene graph and 3D rendering API
- Pango — International text rendering with full Unicode support
- Cairo — 2D, vector-based drawing for high-quality graphics
- ATK — Accessibility toolkit to implement support for screen readers and other tools (GTK3 only)
Storage of the user’s data
- GSettings — Configuration storage for application preferences
File access
- GFile — File and URI handling, asynchronous file operations, volume handling
Networking
- GNetworking — Networking and sockets API with streams
- Soup — Asynchronous HTTP library with cookies, SSL, and XML-RPC
Multimedia
- GStreamer — Playing, mixing, and manipulating sound and video
- GdkPixbuf — Loading icons and other graphical assets
Inter-process communication
- D-Bus — Inter-process communication bus to provide APIs to other processes
- Polkit — Access control for system-level services provided through D-Bus
Asynchronous tasks
- GTask – Cancellable synchronous or asynchronous task and result
Application support
- GApplication — Writing applications