Команда GTK регулярно выпускает новые версии. [6] GTK 4 и GTK 3 поддерживаются, в то время как GTK 2 больше не поддерживается . [7] GTK1 независимо поддерживается проектом CinePaint . [8]
Архитектура программного обеспечения
Библиотека GTK содержит набор графических элементов управления ( виджетов ); версия 3.22.16 содержит 186 активных и 36 устаревших виджетов. [9] GTK — это объектно-ориентированный набор инструментов для виджетов, написанный на языке программирования C ; он использует GObject , то есть объектную систему GLib , для объектной ориентации. Хотя GTK в основном предназначен для оконных систем на основе X11 и Wayland , он работает и на других платформах, включая Microsoft Windows (с интерфейсом Windows API ) и macOS (с интерфейсом Quartz ). Существует также бэкэнд HTML5 под названием Broadway . [10] [11]
GTK можно настроить для изменения внешнего вида отрисовываемых виджетов; это делается с помощью различных движков отображения. Существует несколько движков отображения, которые пытаются эмулировать внешний вид собственных виджетов на используемой платформе.
Начиная с версии 2.8, выпущенной в 2005 году, GTK начал переход на использование Cairo для рендеринга большинства своих графических элементов управления виджетов . [12] Начиная с версии GTK 3.0, весь рендеринг выполняется с помощью Cairo. [13]
26 января 2018 года на DevConf.cz Маттиас Класен дал обзор текущего состояния разработки GTK 4, включая общее объяснение того, как работают рендеринг и ввод в GTK 3, какие изменения вносятся в GTK 4 (>3.90) и почему. [14] 6 февраля 2019 года было объявлено, что GTK 4 уберет «+» из названия проекта. [3]
Комплект чертежей GTK (GDK)
GDK действует как оболочка для низкоуровневых функций, предоставляемых базовыми оконными и графическими системами.
Комплект графа сцены GTK (GSK)
GSK — API рендеринга и графа сцены для GTK. GSK находится между графическими элементами управления (виджетами) и рендерингом. GSK был окончательно объединен с версией GTK 3.90, выпущенной в марте 2017 года.
GtkBuilder
GtkBuilder позволяет проектировать пользовательские интерфейсы без написания кода. Интерфейс описывается в файле Extensible Markup Language (XML), который пишется вручную или генерируется дизайнером GUI, который затем загружается во время выполнения, и объекты создаются автоматически. Описание пользовательского интерфейса не зависит от используемого языка программирования.
GTK поддерживает различные бэкэнды, которые предоставляют различные способы отображения приложений GTK в зависимости от системы и среды. Примеры бэкэндов GTK:
Wayland – используется с сервером отображения Wayland в системах Linux и является современной заменой X11.
X11 — используется по умолчанию в системах Linux, использующих сервер отображения X.Org.
Lazarus (в Linux по умолчанию взаимодействует с GTK 2)
Инспектор ГТК
GTK Inspector — это встроенный интерактивный инструмент отладки в GTK, позволяющий разработчикам проверять и изменять элементы пользовательского интерфейса, тестировать изменения CSS и анализировать структуру виджетов в реальном времени. Его можно включить с помощью сочетаний Control + Shift + Iклавиш Control + Shift + Dили или установив GTK_DEBUG=interactiveпеременную окружения. [20] Он был представлен в версии GTK 3.14. [21] [22]
Функции
Интерактивная отладка
Тестирование и модификация CSS в реальном времени
Увеличение виджета для детального осмотра
Анализ структуры пользовательского интерфейса и проверка свойств объекта
Настраиваемые параметры отображения с помощью переменных среды
Подробная проверка объекта (тип, состояние, свойства, CSS, действия и т. д.)
Разработчики и пользователи GNOME собираются на ежегодной Европейской конференции пользователей и разработчиков GNOME (GUADEC) , чтобы обсудить текущее состояние и будущее направление развития GNOME. [25] GNOME включает стандарты и программы с freedesktop.org для лучшего взаимодействия с другими рабочими столами. [ требуется ссылка ]
1 сентября 2016 года в блоге разработчиков GTK была опубликована запись, в которой, среди прочего, была обозначена будущая схема нумерации GTK. [26] Версия GTK 3.22, выпущенная осенью 2016 года, планировалась как последний выпуск 3.x, хотя осенью 2018 года вышла версия 3.24 с задержкой GTK 4. [27] При разработке GTK 4 использовались названия версий 3.90, 3.92 и т. д. до тех пор, пока в декабре 2020 года не был выпущен первый стабильный релиз GTK 4. [28] Несмотря на первый стабильный релиз GTK 4, некоторые приложения, использующие GTK , по-прежнему полагаются на GTK 2. Например, по состоянию на январь 2022 года GIMP все еще переносится на GTK 3. [29]
Автоматизация сборки
Основная ветвь GTK использует Meson для автоматизации сборки. GTK (и GNOME, GLib и т. д.) ранее использовала GNU Build System (называвшуюся Autotools) в качестве системы автоматизации сборки по выбору. С 14 августа 2017 года файлы системы сборки Autotools были удалены. [30]
Критика
Наиболее распространенной критикой GTK является отсутствие обратной совместимости в крупных обновлениях, особенно в интерфейсе прикладного программирования (API) [31] и темизации. [32] В результате разработчикам приложений или тем приходится переписывать части своего кода, чтобы он работал с более новой версией GTK.
Бенджамин Отте объяснил разрывы совместимости между второстепенными релизами в течение цикла разработки GTK 3.x сильным давлением инноваций, таким как предоставление функций, ожидаемых современными пользователями, и поддержка все более влиятельного протокола сервера отображения Wayland . С выпуском GTK 4 давление от необходимости инноваций будет снято, и баланс между стабильностью и инновациями сместится в сторону стабильности. [33] Аналогичным образом, недавние изменения в тематизации специально направлены на улучшение и стабилизацию этой части API, то есть некоторые инвестиции сейчас должны быть вознаграждены позже.
Дирк Хондель, один из разработчиков Subsurface и член Центра технологий с открытым исходным кодом Intel , раскритиковал разработчиков GTK за резкость и игнорирование большинства запросов сообщества. [34]
Хонг Джен Йи, разработчик LXDE (версия GTK которого была прекращена, и все усилия были сосредоточены на порте Qt ), выразил пренебрежение к радикальным изменениям API версии 3 инструментария GTK и возросшему использованию памяти и перенес PCMan File Manager (PCManFM) на Qt . PCManFM разрабатывается с использованием GTK и бэкэнда Qt одновременно. [35]
Музыкальный проигрыватель Audacious перешел на Qt в версии 3.6. [36] Причины, заявленные разработчиками, включают переход к оформлению клиентских окон, из-за чего, по их словам, приложение выглядит « GNOME - y и неуместным». [37]
Wireshark перешел на Qt из-за отсутствия хорошего опыта кроссплатформенной поддержки GTK. [38]
Использовать
Приложения
Вот некоторые известные приложения, использующие GTK в качестве набора виджетов:
Программы GTK могут быть запущены в средах рабочего стола на основе X11 и Wayland или других, включая те, которые не созданы с использованием GTK, при условии установки необходимых библиотек; это включает macOS , если установлен X11.app . GTK также может быть запущен в Microsoft Windows . Он используется некоторыми популярными кроссплатформенными приложениями, такими как Pidgin и GIMP . wxWidgets , кроссплатформенный набор инструментов GUI, по умолчанию использует GTK в Linux. [39] Другие порты включают DirectFB (например, используемый установщиком Debian ).
Среды рабочего стола
Несколько сред рабочего стола используют GTK в качестве инструментария виджетов.
Текущий
GNOME , основанный на GTK, что означает, что программы, родные для GNOME, используют GTK
Для подсветки синтаксиса есть GtkSourceView, "виджет редактирования исходного кода". GtkSourceView поддерживается GNOME отдельно от GTK как библиотека: gtksourceview. Планируется переименовать в gsv. [ нужна цитата ]
GtkSpell
GtkSpell — это библиотека, отдельная от GTK. GtkSpell зависит от GTK и Enchant . Enchant — это оболочка для ispell, hunspell и т. д., фактического движка/программного обеспечения проверки орфографии . GtkSpell использует виджет GtkTextView от GTK для выделения слов с ошибками и предложения замены.
История
GNU/Linux
GTK изначально был разработан и использовался в программе GNU Image Manipulation Program (GIMP) в качестве замены инструментария Motif ; в какой-то момент Питер Мэттис разочаровался в Motif и начал писать свой собственный набор инструментов GUI, названный GIMP toolkit, и успешно заменил Motif в версии 0.60 GIMP. [40] Наконец, GTK был переписан, чтобы стать объектно-ориентированным , и был переименован в GTK+. [41] Впервые он был использован в версии 0.99 GIMP. Впоследствии GTK был принят для обслуживания GNOME Foundation , который использует его в среде рабочего стола GNOME.
Серия релизов GTK 2.0.0 представила новые функции, в том числе улучшенный рендеринг текста с использованием Pango , новый движок тем , улучшенную доступность с использованием Accessibility Toolkit , переход на Unicode с использованием строк UTF-8 и более гибкий API. Начиная с версии 2.8, GTK 2 зависит от графической библиотеки Cairo для рендеринга векторной графики.
Версия GTK 3.0.0 включает в себя пересмотренную обработку устройств ввода, поддержку тем, написанных с использованием синтаксиса, подобного CSS , и возможность получать информацию о других открытых приложениях GTK.
С Quartz -бэкэндом [43] GTK доступен в macOS . [44]
Окна
После GTK 2.24.10 и 3.6.4 разработка Windows с установщиком была закрыта Gnome. Установка MSYS2 на Windows — хороший способ использовать настоящий GTK. [45]
GTK 2.24.10 и 3.6.4 доступны в Интернете, но содержат много ошибок и ограничены по сравнению с текущими версиями. [46] [47]
Версию для Windows 64-bit подготовил Том Шунджанс с номерами 2.24.33 (фактически как Linux) и 3.24.24 (фактически как Linux) с января 2021 года. [48]
Обновление Windows 10 Fall Creators Update включает в себя подсистему Windows для Linux (WSL). С дистрибутивами Linux, такими как Ubuntu или Debian, доступными в Microsoft Store , и X-сервером, таким как Xming или VcXsvr, тысячи программ, таких как GTK 2 или 3, могут работать с поддержкой X или терминала.
OpenVMS
HP заявила, что их целью было объединить необходимые изменения OpenVMS с потоком разработки GTK версии 1.3, однако это так и не было реализовано. [49] Последняя версия GTK для OpenVMS — версия 1.2.10. [50]
ГТК 4
Одним из основных нововведений, реализованных в ходе цикла разработки GTK 4 (т. е. GTK 3.92 и т. д.), стало удаление параметров настройки для пользовательской стороны (например, индивидуальных сочетаний клавиш, которые можно было задать в GTK+ 2) и делегирование функциональности вспомогательным объектам вместо ее кодирования в базовые классы, предоставляемые GTK.
обработка событий от обработчиков сигналов, описанных GtkWidget, делегируется контроллерам событий
рендеринг делегируется объектам GtkSnapshot
механизм компоновки из GtkWidget делегирован GtkLayoutManager
В январе 2018 года на DevConf.cz Маттиас Класен дал обзор текущего состояния разработки GTK 4, включая высокоуровневое объяснение того, как рендеринг и ввод работали в GTK 3, какие изменения были внесены в GTK 4 и причины этих изменений. Также были приведены примеры того, что стало возможным с GTK 4. [51]
^ "Проект GTK с открытым исходным кодом на Open Hub: страница языков". www.openhub.net . Архивировано из оригинала 28 марта 2019 г. . Получено 28 марта 2019 г. .
^ "Краткое описание того, как родился GTK". www.gtk.org . Архивировано из оригинала 9 июня 2023 г. . Получено 5 июля 2023 г. .
^ ab Bassi, Emmanuele (6 февраля 2019 г.). "Project rename to "GTK"". mail.gnome.org . GNOME mailinglist. Архивировано из оригинала 7 ноября 2020 г. . Получено 7 февраля 2019 г. .
^ Команда GTK+. "Возможности GTK+". Архивировано из оригинала 25 мая 2019 г. Получено 8 сентября 2014 г.
^ "Документация". www.x.org . Архивировано из оригинала 21 декабря 2019 г. Получено 22 ноября 2019 г.
^ ab "Projects/GTK/Roadmap - GNOME Wiki!". wiki.gnome.org . Архивировано из оригинала 22 мая 2019 г. . Получено 22 ноября 2019 г. .
^ "GTK 4.0 – Блог разработки GTK". 16 декабря 2020 г. Архивировано из оригинала 28 мая 2023 г. Получено 18 октября 2021 г.
^ "Robin Rowe / GTK1 · GitLab". GitLab . Архивировано из оригинала 9 марта 2023 г. . Получено 22 февраля 2023 г. .
^ "GTK+ 3 Reference Manual". Архивировано из оригинала 23 июня 2021 г. Получено 15 июля 2017 г.
^ ab "Использование GTK+ с Broadway". Разработчик GNOME . GNOME. Архивировано из оригинала 14 июня 2021 г. Получено 6 марта 2018 г.
^ ab "Broadway - GitHub symbiose/symbiose Wiki". GitHub . Архивировано из оригинала 28 июня 2023 г. Получено 6 марта 2018 г.
^ "GTK+ будет использовать Cairo Vector Engine". 5 февраля 2005 г. Получено 27 декабря 2009 г.
^ "Gtk: Переход с GTK 2.x на GTK 3". docs.gtk.org . Архивировано из оригинала 26 мая 2023 г. . Получено 16 июня 2022 г. Вся отрисовка в GTK 3 выполняется через Cairo.
^ "Matthias Clasen DevConf.cz 2018 talk about GTK+ 4" (PDF) . 26 января 2018 г. Архивировано (PDF) из оригинала 22 апреля 2024 г. Получено 9 марта 2018 г.
^ Команда GTK+. "GTK+ Language Bindings". www.gtk.org . Архивировано из оригинала 25 мая 2019 г. Получено 3 июня 2017 г.
^ GUADEC. «Камбалаче: дорога к версии 1.0».
^ "glade - man pages section 1: User Commands". docs.oracle.com . Получено 11 сентября 2024 г. .
^ "Debian -- Результаты поиска пакетов -- gazpacho". packages.debian.org . Архивировано из оригинала 28 июня 2023 г. . Получено 22 ноября 2019 г. .
^ "Nothing-personal - A development site for Crow Designer, GuiLoader and Rally - Google Project Hosting". Архивировано из оригинала 24 января 2013 г. Получено 17 февраля 2014 г.
^ "GTK Inspector". Документация разработчика GNOME . Получено 14 сентября 2024 г.
^ "Введение в GtkInspector". 15 мая 2014 г. Архивировано из оригинала 17 мая 2014 г. Получено 17 мая 2014 г.
^ "Еще одно обновление GtkInspector". 11 июля 2014 г. Архивировано из оригинала 14 июля 2014 г. Получено 13 июля 2014 г.
^ "GNOME Quick SWOT Analysis". Проект GNOME . Архивировано из оригинала 18 марта 2014 г. Получено 18 марта 2014 г.
^ "GNOME Languages". Ohloh . Black Duck Software. Архивировано из оригинала 22 мая 2014 г. Получено 22 мая 2014 г.
^ "О проекте". Европейская конференция пользователей и разработчиков GNOME ( GUADEC ). Архивировано из оригинала 4 октября 2011 г. Получено 3 декабря 2011 г.
^ ab "Версии и долгосрочная стабильность обещают в GTK". Блог разработчиков GTK. 1 сентября 2016 г. Архивировано из оригинала 21 сентября 2016 г. Получено 2 сентября 2016 г.
^ "GTK+ 3.24 предоставит некоторые новые функции в ожидании GTK4". www.phoronix.com . Архивировано из оригинала 22 апреля 2024 г. . Получено 2 апреля 2021 г. .
^ "GTK 4.0". Блог разработки GTK. 16 декабря 2020 г. Архивировано из оригинала 28 мая 2023 г. Получено 18 октября 2021 г.
^ "Вышла версия GIMP 2.99.2 для разработки". Новости Gimp. 6 ноября 2020 г. Архивировано из оригинала 10 апреля 2021 г. Получено 6 января 2022 г.
^ "Система сборки меняет основную ветку GTK". mail.gnome.org . Архивировано из оригинала 15 августа 2017 г. . Получено 29 октября 2018 г. .
^ «Как создать приложение Gtk+? – Мортен Велиндер». blogs.gnome.org . 23 июня 2014 г. Архивировано из оригинала 1 июля 2014 г. Получено 3 июня 2017 г.
^ mclasen (20 ноября 2015 г.). "Обновление GTK+". Goings on . Архивировано из оригинала 2 мая 2016 г. Получено 3 июня 2016 г.
^ ab "GUADEC2013: Бенджамин Отте рассказывает о GTK+". GUADEC . Архивировано из оригинала 6 марта 2014 г. Получено 5 марта 2014 г.
^ Ларабель, Майкл (12 января 2014 г.). «Самая большая проблема с GTK и что хорошего делает Qt». Phoronix . Архивировано из оригинала 1 июля 2016 г. Получено 10 сентября 2014 г.
↑ Hong Jen Yee (26 марта 2013 г.). "PCManFM Qt 0.1.0 released". Архивировано из оригинала 7 июня 2013 г. Получено 10 сентября 2014 г.
^ "Audacious - An Advanced Audio Player". audacious-media-player.org . Архивировано из оригинала 28 июля 2019 г. . Получено 22 ноября 2019 г. .
^ Линдгрен, Джон (6 мая 2014 г.). «Уродливые украшения окон и как их исправить (GTK 3.12)». Архивировано из оригинала 13 октября 2014 г. Получено 21 октября 2014 г.
↑ Gerald Combs (15 октября 2013 г.). «Мы переходим на Qt». Архивировано из оригинала 19 октября 2013 г. Получено 19 августа 2015 г.
^ "GTK+". WxWidgets в сравнении с другими наборами инструментов . Архивировано из оригинала 5 октября 2007 г. Получено 28 августа 2007 г.
^ "LinuxWorld - Куда делись Спенсер Кимбалл и Питер Мэттис?". Архивировано из оригинала 17 апреля 1999 г. Получено 19 августа 2013 г.
^ «Что такое + в GTK+?». 2011. Архивировано из оригинала 26 марта 2012 г. Получено 18 марта 2014 г.
^ "Переименовать некоторые ссылки на GTK+ (d080be3e) · Коммиты · GNOME / gtk". gitlab.gnome.org . 4 февраля 2019 г. Архивировано из оригинала 25 февраля 2021 г. Получено 5 февраля 2019 г.
^ "Projects/GTK/OSX - GNOME Wiki!". wiki.gnome.org . Архивировано из оригинала 27 ноября 2019 г. . Получено 22 ноября 2019 г. .
^ "GTK Download: Mac OS X". Команда GTK . Архивировано из оригинала 11 апреля 2020 г. Получено 11 апреля 2020 г.
^ "GTK Download: Windows". Команда GTK . Архивировано из оригинала 14 апреля 2020 г. Получено 11 апреля 2020 г.
^ "GTK+ for Windows Runtime Environment". SourceForge . 15 сентября 2017 г. Архивировано из оригинала 6 апреля 2018 г. Получено 5 апреля 2018 г.
^ "GTK+". www.tarnyko.net . Архивировано из оригинала 8 апреля 2018 г. Получено 5 апреля 2018 г.
^ "GTK+ for Windows Runtime Environment Installer (ответвление от http://gtk-win.sourceforge.net): tschoonj/GTK-for-Windows-Runtime-Environment-Installer". 19 ноября 2020 г. Архивировано из оригинала 11 июня 2018 г. Получено 5 апреля 2018 г. – через GitHub.
^ "HP OpenVMS systems - GTK+". Архивировано из оригинала 13 июля 2018 г. Получено 12 июля 2018 г.
^ "HP OpenVMS systems - GTK+". Архивировано из оригинала 13 июля 2018 г. Получено 12 июля 2018 г.
^ Clasen, Matthias. "GTK+ 4 Status Update" (PDF) . Fedora People . Архивировано (PDF) из оригинала 22 апреля 2024 г. . Получено 22 апреля 2024 г. .
^ Амундсон, Шон Т. (13 апреля 1998 г.). "АНОНС: GTK+ 1.0.0 Released!". GNOME Mail Services (список рассылки). Архивировано из оригинала 12 марта 2019 г. . Получено 20 мая 2019 г. .
^ Амундсон, Шон Т. (25 февраля 1999 г.). "АНОНС: GTK+ и GLib 1.2.0 выпущены". GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
↑ Тейлор, Оуэн (11 марта 2002 г.). «GTK+-2.0.0 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
↑ Тейлор, Оуэн (22 декабря 2002 г.). «GTK+-2.2.0 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
↑ Тейлор, Оуэн (16 марта 2004 г.). «GTK+-2.4.0 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (16 декабря 2004 г.). «GTK+-2.6.0 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (13 августа 2005 г.). «GTK+ 2.8.0 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (3 июля 2006 г.). «GTK+ 2.10 released». GNOME Mail Services (список рассылки). Архивировано из оригинала 22 января 2021 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (14 сентября 2007 г.). "GTK+ 2.12 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (4 сентября 2008 г.). "GTK+ 2.14.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 10 августа 2020 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (13 марта 2009 г.). "GTK+ 2.16.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 3 июня 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (23 сентября 2009 г.). "GTK+ 2.18.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 3 июня 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (23 марта 2010 г.). "GTK+ 2.20.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (23 сентября 2010 г.). "GTK+ 2.22.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (20 января 2011 г.). "GTK+ 2.24.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 8 мая 2019 г. . Получено 20 мая 2019 г. .
^ "Теги · GNOME / gtk · GitLab". GitLab . 21 декабря 2020 г. Архивировано из оригинала 4 декабря 2023 г. Получено 18 октября 2023 г.
^ Clasen, Matthias (10 февраля 2011 г.). "GTK+ 3.0.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 12 марта 2019 г. . Получено 20 мая 2019 г. .
^ "Gtk+ 3.0 Theming API Hackfest". Silicon Island . Архивировано из оригинала 17 июля 2011 г. Получено 3 июня 2017 г.
^ "Gtk+ 3 roadmap draft". Архивировано из оригинала 12 апреля 2009 г. Получено 3 июня 2017 г.
^ "Attic/ProjectRidley - GNOME Wiki!". wiki.gnome.org . Архивировано из оригинала 4 марта 2016 г. Получено 29 марта 2014 г.
^ Clasen, Matthias (25 сентября 2011 г.). "GTK+ 3.2.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (26 марта 2012 г.). "GTK+ 3.4.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (24 сентября 2012 г.). "GTK+ 3.6.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (25 марта 2013 г.). "GTK+ 3.8.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 3 марта 2016 г. Получено 20 мая 2019 г.
^ "Frame clock: GDK 3 Reference Manual". developer.gnome.org . Архивировано из оригинала 14 апреля 2017 г. . Получено 13 апреля 2017 г. .
^ Clasen, Matthias (23 сентября 2013 г.). "GTK+ 3.10.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (25 марта 2014 г.). "GTK+ 3.12 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ "Декорации на стороне клиента в темах | Goings on". 5 декабря 2013 г. Архивировано из оригинала 19 сентября 2015 г. Получено 31 декабря 2015 г.
^ Clasen, Matthias (22 сентября 2014 г.). "GTK+ 3.14.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Маттиас Класен (15 мая 2014 г.). "Запись в блоге автора GtkInspector". Архивировано из оригинала 17 мая 2014 г. Получено 17 мая 2014 г.
^ "GtkInspector в GNOME wiki". 15 мая 2014 г. Архивировано из оригинала 24 мая 2014 г. Получено 17 мая 2014 г.
^ "Объединение жестов в 3.14". 23 мая 2014 г. Архивировано из оригинала 14 сентября 2016 г. Получено 23 мая 2014 г.
^ "RFC: gestures". 4 марта 2014 г. Архивировано из оригинала 24 мая 2014 г. Получено 23 мая 2014 г.
^ "gtk+ 3.13.2". 27 мая 2014 г. Архивировано из оригинала 29 мая 2014 г. Получено 28 мая 2014 г.
^ "gtk+ 3.13.3". 24 июня 2014 г. Архивировано из оригинала 15 декабря 2014 г. Получено 25 июня 2014 г.
^ Clasen, Matthias (22 марта 2015 г.). "GTK+ 3.16.0 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
↑ онлайн, Хайзе (25 марта 2015 г.). «Linux-Desktop: Neues Gnome zeigt Nachrichten oben». Хейз онлайн . Архивировано из оригинала 25 июня 2016 года . Проверено 3 июня 2017 г.
^ "GTK+ 3.16.0 released". mail.gnome.org . Архивировано из оригинала 7 апреля 2016 г. Получено 3 июня 2017 г.
^ Нестор, Мариус (24 сентября 2015 г.). «GTK+ 3.18.0 официально выпущен как часть среды рабочего стола GNOME 3.18». Softpedia . Архивировано из оригинала 25 мая 2019 г. . Получено 25 мая 2019 г. .
^ Clasen, Matthias (21 марта 2016 г.). "GTK+ 3.20". GNOME Mail Services (список рассылки). Архивировано из оригинала 12 марта 2019 г. . Получено 20 мая 2019 г. .
^ "GTK+ 3.20 – Style Classes and Element Names". 20 ноября 2015 г. Архивировано из оригинала 5 марта 2016 г. Получено 18 декабря 2015 г.
^ Clasen, Matthias (21 сентября 2016 г.). "GTK+ 3.22 released". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ "Поддержка планшета GTK+ Wayland объединена – Карлос Гарначо". 6 апреля 2016 г. Архивировано из оригинала 16 апреля 2016 г. Получено 8 апреля 2016 г.
^ "hutterer input". www.x.org . Архивировано из оригинала 23 сентября 2016 г. Получено 23 сентября 2016 г.
^ ab "Gtk 4.0 не будет стабильна до Gtk 4.6". 13 июня 2016 г. Архивировано из оригинала 23 июня 2016 г. Получено 15 июня 2016 г.
^ ab "Gtk 5.0 не будет стабильной до Gtk 5.6". 14 июня 2016 г. Архивировано из оригинала 23 июня 2016 г. Получено 15 июня 2016 г.
^ Clasen, Matthias (3 сентября 2018 г.). "gtk+ 3.24.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 25 мая 2019 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (31 марта 2017 г.). "gtk+ 3.90.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 29 декабря 2017 г. . Получено 20 мая 2019 г. .
^ "Коммиты · master · GNOME / gtk". GitLab . Архивировано из оригинала 22 июня 2020 г. Получено 22 ноября 2019 г.
^ Clasen, Matthias (18 октября 2017 г.). "gtk+ 3.92.1". GNOME Mail Services (список рассылки). Архивировано из оригинала 29 декабря 2017 г. . Получено 20 мая 2019 г. .
^ Clasen, Matthias (23 октября 2017 г.). "GTK+ 3.92". Блог разработки GTK . Архивировано из оригинала 25 мая 2019 г. Получено 25 мая 2019 г.
^ "GNOME 3.26 Released". 13 сентября 2017 г. Архивировано из оригинала 16 марта 2021 г. Получено 19 октября 2017 г.
^ Clasen, Matthias (26 июня 2018 г.). "gtk+ 3.94.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 5 июля 2018 г. Получено 20 мая 2019 г.
^ ab Clasen, Matthias (7 мая 2019 г.). "gtk 3.96". GNOME Mail Services (список рассылки). Архивировано из оригинала 28 мая 2019 г. . Получено 28 мая 2019 г. .
^ "Представляем amtk". Архивировано из оригинала 22 июня 2020 г. Получено 4 мая 2020 г.
^ Clasen, Matthias (13 февраля 2020 г.). "GTK 3.98". Блог разработки GTK+ . Архивировано из оригинала 18 февраля 2020 г. Получено 18 февраля 2020 г.
^ ab Clasen, Matthias (9 июня 2021 г.). "gtk 4.3.1". FTP-релизы (список рассылки). Архивировано из оригинала 10 июля 2021 г. . Получено 10 июля 2021 г. .
^ "Emmanuele Bassi / guadec-2020". GitLab . Архивировано из оригинала 15 августа 2020 г. Получено 12 сентября 2020 г.
^ Clasen, Matthias (16 декабря 2020 г.). "gtk 4.0.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 28 октября 2021 г. . Получено 16 декабря 2020 г. .
^ Clasen, Matthias (30 марта 2021 г.). "gtk 4.2.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 27 октября 2021 г. . Получено 30 марта 2021 г. .
^ Clasen, Matthias (23 августа 2021 г.). "gtk 4.4.0". GNOME Mail Services (список рассылки). Архивировано из оригинала 24 августа 2021 г. . Получено 23 января 2022 г. .
^ Clasen, Matthias (30 декабря 2021 г.). "gtk 4.6.0". FTP-релизы (список рассылки). Архивировано из оригинала 23 января 2022 г. . Получено 23 января 2022 г. .
^ Clasen, Matthias (6 сентября 2022 г.). "gtk 4.8.0". Архивировано из оригинала 11 января 2023 г. Получено 11 января 2023 г.
^ "NEWS · 4.10.1 · GNOME / gtk · GitLab". GitLab . 13 марта 2023 г. Архивировано из оригинала 19 апреля 2023 г. Получено 19 апреля 2023 г.
^ "Об устаревании – Блог разработки GTK". 30 октября 2022 г. Архивировано из оригинала 28 февраля 2024 г. Получено 21 апреля 2024 г.
Библиография
Краузе, Эндрю (23 апреля 2007 г.), Основы разработки GTK+ (1-е изд.), Apress , ISBN 978-1-59059-793-4
Логан, Сид (6 сентября 2001 г.), Gtk+ Programming in C (1-е изд.), Prentice Hall , ISBN 978-0-13-014264-1, архивировано из оригинала 30 сентября 2012 г. , извлечено 15 августа 2009 г.
Внешние ссылки
На Викискладе есть медиафайлы по теме GTK .
В Wikibook X Window Programming есть страница по теме: GTK+