Gtk (GNU Toolkit) – это набор библиотек и инструментов для создания графического интерфейса пользователя на различных платформах, имеет простой в использовании API, наряду с Qt является одной из двух наиболее популярных на сегодняшний день библиотек для Wayland и X.11 Window System.
Он предоставляет различные элементы пользовательского интерфейса, такие как кнопки, поля ввода, окна и др., а также средства для организации и управления ими.
Gtk используется вместе с языками программирования, такими как C, C++, Python, Ruby и другими, и предоставляет набор API для работы с библиотекой.
Gtk изначально был разработан для использования в среде GNOME (GNU Network Object Model Environment), но может использоваться и независимо от нее. Он является одной из самых популярных библиотек для создания графического интерфейса на Linux и других UNIX-подобных системах. Он также доступен для других платформ, таких как Windows и macOS.
Gtk обладает простым и интуитивно понятным интерфейсом программирования, и благодаря своей гибкости и мощным функциональным возможностям он позволяет создавать разнообразные приложения с обширными возможностями и привлекательным дизайном пользовательского интерфейса.
Собственно GTK+ состоит из двух компонентов: GTK и GDK. Первый содержит набор элементов пользовательского интерфейса, или «виджетов» (таких, как кнопка, список, поле для ввода текста и т. п.) для различных задач. GDK отвечает за вывод на экран и может использовать для этого X Window System, Wayland, Linux Framebuffer, WinAPI или функции Mac OS X. Начиная с версии 2.8, GDK во многом (но не полностью) заменена на систему отрисовки векторной графики Cairo.
Помимо Cairo, GTK+ зависит от трёх библиотек — GLib, Pango и ATK, — которые разрабатываются вместе с GTK+, но могут использоваться и отдельно.
На основе GTK+ построены рабочие окружения GNOME и Xfce. Программы, использующие GTK+, могут выполняться в других окружениях, например в KDE и LXQt. Кроме того, GTK+ может работать и на операционных системах семейств Microsoft Windows и Mac OS X.
Также GTK+ выбран в качестве основной библиотеки построения пользовательских интерфейсов для Mono (порта Microsoft. NET framework для Linux).
Ниже предоставлен неполный (так как GTK слишком популярен) список проектов с использованием GTK:
- Рабочие окружения, которые используют GTK+
- GNOME — полностью построено на GTK+
- Cinnamon — форк GNOME 3, использующий GTK+
- MATE Desktop (форк GNOME 2) — полностью построено на GTK+
- Xfce — построено на GTK+, но, в сравнении с GNOME, программы Xfce имеют меньше зависимостей
- LXDE (Lightweight X11 Desktop Environment) — поддерживает только темы и программы GTK, сам строится на Qt
- ROX Desktop
- GPE Palmtop Environment
- Access Linux Platform
- Sugar — обучающая платформа, которая построена на GTK+ с использованием PyGTK
- KDE, хотя использует Qt, имеет поддержку программ и тем GTK+ (с версии 4.2).
- Оконные менеджеры, использующие GTK+
- Aewm
- AfterStep
- Amaterus
- IceWM
- Metacity
- Marco (форк Metacity в MATE)
- Mutter
- Sawfish
- Wmg
- Xfwm.
- Приложения, использующие GTK+
- AbiWord — текстовый редактор
- Anjuta — официальная интегрированная среда разработки GNOME
- Chromium — веб-браузер, разрабатываемый в основном компанией Google и использующий WebKit
- Ekiga — приложения для VoIP и видео-конференций
- Epiphany — веб-браузер среды GNOME.
- Evolution — программа для управления контактами и электронной почтой
- Firefox — стандартный браузер большинства Gnome-редакций дистрибутивов Linux
- GIMP — растровый графический редактор
- HandBrake — программа для конвертирования видео
- Inkscape — векторный графический редактор
- Midori — легковесный веб-браузер
- MonoDevelop — открытая интегрированная среда разработки
- Pidgin — клиент обмена мгновенными сообщениями
- Wireshark — анализатор сетевых пакетов
- SciTE — кроссплатформенный текстовый редактор