Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GTK (ранее GTK + , [4] GIMP ToolKit ) - это бесплатный кроссплатформенный инструментарий виджетов с открытым исходным кодом для создания графических пользовательских интерфейсов (GUI). [5] Он лицензирован в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU , что позволяет использовать его как в бесплатном, так и в проприетарном программном обеспечении . Наряду с Qt , это один из самых популярных наборов инструментов для оконных систем Wayland и X11 . [6]

Архитектура программного обеспечения [ править ]

Упрощенная программная архитектура GTK . Панго , GDK , ATK , GIO , Cairo и GLib
GDK содержит серверные части для X11 , Wayland , Broadway ( HTTP ), Quartz и GDI и полагается на Cairo для рендеринга. Его новый SceneGraph находится в стадии разработки.

GTK , библиотека содержит набор графических элементов управления ( виджеты ); версия 3.22.16 содержит 186 активных и 36 устаревших виджетов. [7] GTK - это объектно-ориентированный инструментарий виджетов, написанный на языке программирования C ; он использует GObject , то есть объектную систему GLib , для ориентации объекта. Хотя GTK в основном предназначен для оконных систем на базе X11 и Wayland , он работает на других платформах, включая Microsoft Windows (с интерфейсом Windows API ) и macOS (с Quartz). Существует также серверная часть HTML5 под названием Broadway . [8] [9]

GTK можно настроить для изменения внешнего вида нарисованных виджетов; это делается с использованием различных механизмов отображения. Существует несколько механизмов отображения, которые пытаются имитировать внешний вид собственных виджетов на используемой платформе.

Начиная с версии 2.8, выпущенной в 2005 году, GTK начал переход на использование Cairo для визуализации большинства своих виджетов графических элементов управления . [10] Начиная с версии 3.0 GTK, весь рендеринг выполняется с использованием Cairo. [ необходима цитата ]

26 января 2018 года на DevConf.cz Маттиас Класен представил обзор текущего состояния разработки GTK 4, включая подробное объяснение того, как рендеринг и ввод работали в GTK 3, какие изменения были внесены в GTK 4 (> 3.90), и почему. [11] В феврале было объявлено, что GTK 4 уберет «+» из названия проекта. [4]

GIMP Drawing Kit (GDK) [ править ]

GDK действует как оболочка для низкоуровневых функций, предоставляемых базовыми оконными и графическими системами.

GDK находится в /gdkкаталоге.

GTK Scene Graph Kit (GSK) [ править ]

GSK - это API визуализации и графа сцены для GTK. GSK находится между графическими элементами управления (виджетами) и рендерингом. GSK был окончательно объединен с GTK версии 3.90, выпущенной в марте 2017 года.

GSK находится в /gskкаталоге.

GtkInspector [ править ]

GtkInspector был представлен в версии 3.14. [12] [13] GtkInspector можно вызвать только после установки пакета разработки libgtk-3-dev / gtk + -devel .

Дизайнеры графического интерфейса [ править ]

Для GTK существует несколько дизайнеров графического интерфейса . По состоянию на июль 2011 года активны следующие проекты:

  • Glade поддерживает GtkBuilder , который является встроенным в GTK форматом описания GUI.
  • Гаспачо , конструктор графического интерфейса для набора инструментов GTK, написанный на Python [14]
  • Crow Designer использует собственный формат GuiXml и библиотеку GuiLoader. [15]
  • Stetic , часть MonoDevelop , ориентирована на Gtk # .

GtkBuilder [ править ]

GtkBuilder позволяет разрабатывать пользовательские интерфейсы без написания кода. Интерфейс описывается в файле расширяемого языка разметки (XML), который затем загружается во время выполнения, а объекты создаются автоматически. Дизайнер интерфейсов Glade позволяет создавать пользовательский интерфейс в стиле « что вы видите, то и получаете» ( WYSIWYG ). Описание пользовательского интерфейса не зависит от используемого языка программирования.

Привязки языков [ править ]

Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если написаны привязки ; GTK имеет ряд привязок для разных языков. [16]

Gtk # [ править ]

Gtk # - это набор привязок .NET Framework для набора инструментов графического пользовательского интерфейса (GUI) GTK и различных библиотек GNOME . Библиотека упрощает создание графических приложений GNOME с использованием Mono или любой другой совместимой среды CLR. Gtk # - это система, управляемая событиями, как и любая другая современная библиотека окон, где каждый виджет позволяет связывать методы обработчика, которые вызываются при возникновении определенных событий.

Приложения, созданные с использованием Gtk #, будут работать на многих платформах, включая Linux , Windows и macOS . Пакеты Mono для Windows включают GTK, Gtk # и собственную тему, чтобы приложения выглядели как собственные приложения Windows. Начиная с Mono 1.9, для запуска приложений Gtk # в macOS больше не требуется запускать сервер X11 . [18]

Glade Interface Designer можно использовать с привязками Glade # для упрощения разработки приложений с графическим интерфейсом. Дизайнер графического интерфейса пользователя Stetic интегрирован с интегрированной средой разработки (IDE) MonoDevelop .

Помимо поддержки стандартного стека инструментов разработки GTK / GNOME, сборка gtk-dotnet.dll обеспечивает мост для использования функций, доступных в стеке .NET. На данный момент это включает в себя возможность использовать System.Drawing для рисования на виджете.

По состоянию на сентябрь 2020 года поддержка Gtk # для Gtk3 остается на этапе предварительной версии , и были созданы разветвленные проекты, такие как GtkSharp , для обеспечения полной поддержки Gtk3 для C # и других языков интерфейса командной строки. Отсутствие выпущенной версии Gtk # с поддержкой Gtk3 было названо причиной удаления медиаплеера Banshee из Ubuntu 12.04. [19]

Развитие [ править ]

GTK в основном разрабатывается проектом GNOME , который также разрабатывает платформу разработки GNOME и среду рабочего стола GNOME. [20]

Разработка GTK слабо управляется. Обсуждение в основном происходит в нескольких публичных списках рассылки. [21] Разработчики и пользователи GNOME собираются на ежегодную встречу GUADEC Европейской конференции пользователей и разработчиков GNOME, чтобы обсудить текущее состояние и будущее GNOME. [22] GNOME включает стандарты и программы с freedesktop.org для лучшего взаимодействия с другими рабочими столами.

GTK в основном написаны на C . [23] Доступны многие языковые привязки .

1 сентября 2016 года в блоге разработчиков GTK была опубликована запись, среди прочего, о будущей схеме нумерации GTK. [24] GTK версии 3.22 с осени 2016 года будет последним выпуском 3.x. [ требуется пояснение ] После этого все ресурсы будут перемещены в серию разработки GTK 4 с названиями версий 3.90, 3.92 и т. д. Даже когда серия 4.x входит в разработку, известные приложения по-прежнему используют GTK 2.x и не были перенесены на 3.22. Что касается будущего устаревшего программного обеспечения с использованием GTK , нет коллективного проекта по переносу программного обеспечения GTK 2.x на версию 3.22.

Автоматизация сборки [ править ]

В прежние времена GTK (а также GNOME, GLib и т. Д.) Использовали GNU Build System (названную Autotools) в качестве предпочтительной системы автоматизации сборки .

С 14 августа 2017 года основная ветвь GTK строится с Meson , а системные файлы сборки Autotools удалены. [25]

Критика [ править ]

Наиболее частой критикой GTK является отсутствие обратной совместимости в основных обновлениях, особенно в интерфейсе прикладного программирования (API) [26] и тематике. [27]

Бенджамин Отте объяснил перерывы в совместимости между второстепенными выпусками во время цикла разработки GTK 3.x как следствие сильного давления на инновации, таких как предоставление функций, которых ожидают современные пользователи, и поддержка все более влиятельного протокола сервера отображения Wayland . С выпуском GTK 4 давление необходимости инноваций исчезнет, ​​и баланс между стабильностью и инновациями изменится в сторону стабильности. [28] Точно так же недавние изменения в тематике специально предназначены для улучшения и стабилизации этой части API, а это означает, что некоторые вложения сейчас должны быть вознаграждены позже.

  • Дирк Хондел, разработчик кода Subsurface и член Центра технологий открытого исходного кода Intel , раскритиковал разработчиков GTK за резкость и игнорирование большинства запросов сообщества. [29]
  • Хонг Джен Йи, разработчик LXDE (версия GTK которого была удалена, а все усилия были сосредоточены на порте Qt ), выразил презрение к версии 3 радикальных изменений API инструментария GTK и увеличению использования памяти, а также перенесен PCMan File Manager (PCManFM) в Qt . PCManFM разрабатывается одновременно с GTK и с бэкэндом Qt. [30]
  • Audacious музыкальный проигрыватель переехал в Qt в версии 3.6. [31] Причины, указанные разработчиками для этого, включают переход к оформлению окон на стороне клиента, который, по их утверждениям, заставляет приложение выглядеть « GNOME -y и неуместно». [32]
  • Wireshark перешел на Qt из-за отсутствия хорошего опыта кроссплатформенной поддержки GTK. [33]

Используйте [ редактировать ]

Поддержка GTK для Wayland , дополнительные приложения, которые также будут адаптированы к Wayland
Снимок экрана GIMP 2.8 - GTK отвечает за управление компонентами интерфейса программы, включая меню, кнопки и поля ввода.

Приложения [ править ]

Некоторые известные приложения, которые используют или когда-то использовали GTK в качестве инструментария виджетов, включают:

  • Основные приложения GNOME - как часть среды рабочего стола GNOME , разработанная совместно с самим GTK.
  • AbiWord - текстовый процессор
  • Анюта - Интегрированная среда разработки (IDE)
  • Ardor - цифровая звуковая рабочая станция
  • Chromium - веб-браузер (до версии 34, заменен на Aura в версии 35+) [ необходима ссылка ]
  • Ekiga (ранее GnomeMeeting) - VoIP и видеоконференции приложения
  • GNU Emacs может использовать GTK при работе в X.
  • Evolution - Персональный информационный менеджер
  • gconfig - утилита настройки исходного кода ядра Linux .
  • Geany - легкая кроссплатформенная IDE и текстовый редактор GTK на основе Scintilla .
  • GIMP - редактор растровой графики
  • Gnumeric - приложение для работы с электронными таблицами
  • Gramps - программа для генеалогии
  • Inkscape - редактор векторной графики для SVG
  • LiVES - Видеоредактор
  • Midori - минималистичный веб-браузер, использующий GTKWebKit в качестве движка рендеринга и GTK в качестве инструментария виджетов.
  • Pidgin - приложение для обмена мгновенными сообщениями

Среды рабочего стола [ править ]

Некоторые среды рабочего стола используют GTK в качестве инструментария виджетов.

Текущий [ править ]

Phosh
  • GNOME , основанный на GTK, что означает, что программы, родные для GNOME, используют GTK.
  • Budgie , созданный с нуля для преемника SolusOS, операционной системы Solus
  • Cinnamon , форк GNOME 3, использующий GTK версии 3
  • MATE , форк GNOME 2, использующий GTK 3 начиная с версии 1.18.
  • Xfce , основанный на GTK 3 начиная с версии 4.14
  • Pantheon использует исключительно GTK 3, разрабатываемый elementary OS.
  • Sugar , настольная среда для начального образования молодежи , использующая GTK, особенно PyGTK.
  • KDE , хотя и основан на Qt , имеет интеграцию с программами и темами, написанными на GTK, начиная с версии 4.2.
  • Phosh , мобильный пользовательский интерфейс, разработанный для PureOS

Неактивный [ править ]

  • Unity , бывшая среда рабочего стола Ubuntu по умолчанию
  • LXDE (облегченная среда рабочего стола X11) основана на GTK 2
  • Доступ к платформе Linux (преемник платформы КПК Palm OS )
  • Consort, резервный режим GNOME 3.4 - форк от SolusOS
  • GPE , среда для карманного компьютера GPE
  • ROX Desktop , легкий настольный компьютер, с функциями из GUI из RISC OS

Разное [ править ]

Программы GTK может работать на настольных средах , основанных на X11 и Wayland, или оконных менеджеров , даже тех , кто не сделал с GTK, при условии, что установлены необходимые библиотеки; это включает macOS, если установлен X11.app . GTK также можно запустить в Microsoft Windows , где он используется некоторыми популярными кроссплатформенными приложениями, такими как Pidgin и GIMP. wxWidgets , кроссплатформенный набор инструментов с графическим интерфейсом, использует GTK в Linux. [34] Другие порты включают DirectFB (например, используемый установщиком Debian ) и ncurses . [35]

Оконные менеджеры [ править ]

Следующие оконные менеджеры используют GTK:

  • Aewm
  • AfterStep
  • Amaterus
  • Консорциум
  • IceWM
  • Марко
  • Metacity
  • Маффин
  • Бормотать
  • Рыба-пила
  • Wmg
  • Xfwm

GtkSourceView [ править ]

Для подсветки синтаксиса есть GtkSourceView , «виджет редактирования исходного кода». GtkSourceView поддерживается GNOME отдельно от GTK в виде библиотеки: gtksourceview . В планах переименовать в gsv.

GtkSpell [ править ]

GtkSpell - это библиотека, отдельная от GTK. GtkSpell зависит от GTK и Enchant . Enchant - это оболочка для ispell, hunspell и т. Д. , Собственно движка / программного обеспечения проверки орфографии . GtkSpell использует виджет GTK GtkTextView, чтобы выделить слова с ошибками и предложить замену.

  • gtkspell .sourceforge .net

Пример [ править ]

Документация доступна здесь:

  • разработчик .gnome .org / gtk4 / stable /

Следующий код представляет собой графический GTK привет-мир программ на языке программирования Си . В этой программе есть окно с заголовком «Привет, мир!» и этикетка с аналогичным текстом.

// helloworld.c #include  <gtk / gtk.h>/ * Обратный вызов, который будет вызываться при активации приложения * / static  void activate_callback ( GApplication  * app ,  gpointer  user_data ) {  GtkWidget  * window ;  GtkWidget  * label ; / * Создаем главное окно верхнего уровня * /  window  =  gtk_window_new (); / * Присвойте ему название * /  gtk_window_set_title ( GTK_WINDOW ( window ),  «Привет, мир!» ); / * Устанавливаем размер окна по умолчанию * /  gtk_window_set_default_size ( GTK_WINDOW ( window ),  200 ,  100 ); / * Присваиваем переменной "label" новую метку GTK,  * с текстом "Hello, world!" * /  label  =  gtk_label_new ( «Привет, мир!» ); / * Нанести метку на главное окно * /  gtk_window_set_child ( GTK_WINDOW ( window ),  label ); / * Сообщаем приложению об окне.  * Процесс приложения будет продолжать работать, пока  *  все окна не будут закрыты * / gtk_application_add_window ( GTK_APPLICATION ( приложение ),  GTK_WINDOW ( окно )); / * Убедитесь, что все, окно и метка, видны * /  gtk_widget_show ( window ); }int  main  ( int  argc ,  char  * argv []) {  / * Создайте наше тестовое приложение * /  GtkApplication  * application  =  gtk_application_new ( "org.wikipedia.gtktest" ,  0 ); / * Подключаем наш обработчик к обратному вызову "activate", который будет вызываться  * при активации приложения пользователем, например, при первом запуске * /  g_signal_connect ( application ,  "activate" ,  G_CALLBACK ( activate_callback ),  NULL ); / * Запускаем приложение и возвращаем его статус * /  return  g_application_run ( G_APPLICATION ( application ),  argc ,  argv ); }

Сначала необходимо установить библиотеки в Debian или производных:$ sudo apt-get install libgtk-4-dev

Используя pkg-config в оболочке Unix , этот код можно скомпилировать с помощью следующей команды:$ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld

Вызвать программу:$ ./helloworld

История [ править ]

Linux / Unix [ править ]

GTK изначально был разработан и использовался в программе обработки изображений GNU (GIMP) как замена инструментария Motif ; в какой-то момент Питер Маттис разочаровался в Motif и начал писать свой собственный инструментарий GUI под названием GIMP toolkit и успешно заменил Motif выпуском GIMP 0.60. [36] Наконец, GTK был переписан в объектно-ориентированный формат и переименован в GTK +. [37] Впервые это было использовано в версии GIMP 0.99. Впоследствии 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.

Знак `` + '' был сброшен, а вместо него просто GTK в феврале 2019 года во время хакатона . [38]

macOS [ править ]

С Quartz -Backend [39] GTK доступен в macOS . [40]

Windows [ править ]

  • После GTK 2.24.10 и 3.6.4 разработка Windows с установщиком была закрыта Gnome. Установка MSYS2 в Windows - хороший способ использовать настоящий GTK. [41]
  • GTK 2.24.10 и 3.6.4 доступны в Интернете, но содержат много ошибок и ограничены по сравнению с текущими версиями. [42] [43]
  • Версия для 64-битной Windows подготовлена ​​Томом Скунджансом с доступными версиями 2.24.32 (актуально как Linux) и 3.22.30 (актуально как Linux). [44]
  • Обновление Windows 10 Fall Creators Update включает подсистему Windows для Linux (WSL). С дистрибутивами Linux, такими как Ubuntu или Debian, доступными в Магазине Windows, и с X-сервером, таким как Xming или VcXsvr, тысячи программ, таких как GTK 2 или 3, могут работать с X или поддержкой терминала.

OpenVMS [ править ]

HP заявила, что их целью было объединить необходимые изменения OpenVMS в поток разработки GTK версии 1.3 [45], однако этого так и не произошло . Последней версией GTK для OpenVMS является версия 1.2.10. [46]

4.x [ править ]

Одним из кардинальных нововведений, реализованных в ходе цикла разработки GTK 4 (например, GTK 3.92 и т. Д.), Было делегирование функций вспомогательным объектам вместо их кодирования в базовые классы, предоставляемые GTK.

  • обработка событий от обработчиков сигналов, описываемых GtkWidget, делегируется контроллерам событий
  • рендеринг делегирован объектам GtkSnapshot
  • механизм компоновки из GtkWidget делегируется GtkLayoutManager

26 января 2018 года на DevConf.cz Маттиас Класен сделал обзор текущего состояния разработки GTK 4, включая подробное объяснение того, как рендеринг и ввод работали в GTK 3, какие изменения были внесены в GTK 4, и причины этих изменений. Также были приведены примеры того, что стало возможным с GTK 4. [47]

Релизы [ править ]

Команда GNOME регулярно выпускает новые версии. [95]

См. Также [ править ]

  • Украшение на стороне клиента
  • Список наборов инструментов для виджетов
  • GDK - GIMP Drawing Kit находится между xlib и библиотекой GTK, обрабатывая базовый рендеринг, такой как примитивы рисования, растровая графика (растровые изображения), курсоры, шрифты, а также события окна и функциональность перетаскивания.
  • gtkmm - привязки C ++ для GTK
  • Qt - кроссплатформенный фреймворк и инструментарий
  • Xojo - кроссплатформенный инструмент и фреймворк для разработки
  • Библиотеки Enlightenment Foundation (EFL) - инструментарий виджетов, написанный для оконного менеджера Enlightenment
  • FLTK - легкий, кроссплатформенный, неродной набор инструментов для виджетов.
  • FOX toolkit - быстрый кроссплатформенный инструментарий виджетов с открытым исходным кодом.
  • IUP - многоплатформенный инструментарий для создания собственных графических пользовательских интерфейсов
  • Окончательный ++
  • Библиотека визуальных компонентов (VCL)
  • Vala - объектно-ориентированный язык программирования с самостоятельным компилятором, который генерирует код C и использует систему GObject.

Ссылки [ править ]

  1. ^ Clasen, Матиас (7 февраля 2021). "GTK 4.0.3" . FTP-релизы (список рассылки) . Проверено 7 февраля 2021 года .
  2. ^ a b c Класен, Матиас (24 февраля 2021 г.). «GTK 4.1.1» . FTP-релизы (список рассылки) . Проверено 28 февраля 2021 года .
  3. ^ «Проект с открытым исходным кодом GTK на Open Hub: страница языков» . www.openhub.net .
  4. ^ a b Bassi, Emmanuele (6 февраля 2019 г.). «Переименовать проект в« ГТК » » . mail.gnome.org . Список рассылки GNOME . Проверено 7 февраля 2019 .
  5. ^ Команда GTK +. «Возможности GTK +» . Проверено 8 сентября 2014 года .
  6. ^ «Документация» . www.x.org .
  7. ^ "Справочное руководство GTK + 3" . Проверено 15 июля 2017 года .
  8. ^ «Использование GTK + с Бродвеем» . Разработчик GNOME . GNOME . Проверено 6 марта 2018 .
  9. ^ "Бродвей - GitHub симбиоз / симбиоз Wiki" . GitHub . Проверено 6 марта 2018 .
  10. ^ «GTK + для использования Cairo Vector Engine» . Проверено 27 декабря 2009 года .
  11. ^ «Маттиас Класен DevConf.cz 2018 говорит о GTK + 4» (PDF) . 26 января 2018.
  12. ^ "Представляем GtkInspector" . 15 мая 2014 г.
  13. ^ "Еще одно обновление GtkInspector" . 11 июля 2014 г.
  14. ^ «Debian - Результаты поиска пакетов - gazpacho» . packages.debian.org .
  15. ^ "Ничего личного - Сайт разработки для Crow Designer, GuiLoader и Rally - Хостинг проектов Google" . Архивировано из оригинального 24 января 2013 года . Проверено 17 февраля 2014 года .
  16. ^ Команда GTK +. «Привязки языка GTK +» . www.gtk.org . Дата обращения 3 июня 2017 .
  17. ^ a b «Gtk # - это привязка Mono / .NET к кросс-платформенному набору инструментов графического интерфейса Gtk + и основа большинства приложений с графическим интерфейсом, созданных с помощью Mono: mono / gtk-sharp» . 16 ноября 2019 г. - через GitHub.
  18. ^ "Загрузить Gtk #" . Проект GTK +.
  19. ^ " ' Bansheegeddon' может увидеть Banshee, Mono удален из Ubuntu по умолчанию" . ITWorld . Проверено 31 августа 2015 года .
  20. ^ «Быстрый SWOT-анализ GNOME» . Проект GNOME . Проверено 18 марта 2014 .
  21. ^ "Списки рассылки GTK + и GNOME" . Проект GNOME . Проверено 4 декабря 2011 года .
  22. ^ "О" . Европейская конференция пользователей и разработчиков GNOME ( GUADEC ). Архивировано из оригинала 4 октября 2011 года . Проверено 3 декабря 2011 года .
  23. ^ "Языки GNOME" . Охлох . Программное обеспечение Black Duck . Проверено 22 мая 2014 .
  24. ^ a b «Обещание управления версиями и долгосрочной стабильности в GTK» . Блог разработки GTK. 1 сентября 2016 г.
  25. ^ "Система сборки изменяет основную ветку GTK" . mail.gnome.org .
  26. ^ «Как создать приложение Gtk +? - Мортен Велиндер» . blogs.gnome.org . Дата обращения 3 июня 2017 .
  27. ^ mclasen (20 ноября 2015 г.). «Обновление GTK +» . Продолжается .
  28. ^ a b «GUADEC2013: Бенджамин Отте говорит о GTK +» . ГУАДЕК .
  29. ^ Larabel, Майкл (12 января 2014). «Самая большая проблема с GTK и что Qt делает хорошо» . Фороникс . Проверено 10 сентября 2014 года .
  30. Хон Джен Йи (26 марта 2013 г.). «Выпущен PCManFM Qt 0.1.0» . Проверено 10 сентября 2014 года .
  31. ^ "Audacious - продвинутый аудиоплеер" . audacious-media-player.org .
  32. Линдгрен, Джон (6 мая 2014 г.). "Уродливые оконные украшения и как их исправить (GTK 3.12)" . Проверено 21 октября 2014 года .
  33. Джеральд Комбс (15 октября 2013 г.). «Переходим на Qt» . Дата обращения 19 августа 2015 .
  34. ^ "GTK +" . WxWidgets по сравнению с другими наборами инструментов .
  35. ^ "Порт GTK + TTY" . Slashdot . Проверено 31 августа 2010 года .
  36. ^ "LinuxWorld - Куда делись Спенсер Кимбалл и Питер Мэттис?" . Архивировано 17 апреля 1999 года . Проверено 19 августа 2013 года .CS1 maint: bot: original URL status unknown (link)
  37. ^ "Что означает + в GTK +?" . 2011. Архивировано из оригинального 26 марта 2012 года . Проверено 18 марта 2014 .
  38. ^ "Переименовать некоторые ссылки на GTK + (d080be3e) · Коммит · GNOME / gtk" . GitLab .
  39. ^ "Проекты / GTK / OSX - GNOME Wiki!" . wiki.gnome.org .
  40. ^ "Загрузка GTK: Mac OS X" . www.gtk.org .
  41. ^ "Загрузка GTK: Windows" . www.gtk.org .
  42. ^ «GTK + для среды выполнения Windows» . SourceForge .
  43. ^ "GTK +" . www.tarnyko.net .
  44. ^ «GTK + для установщика среды выполнения Windows (ответвление с http://gtk-win.sourceforge.net): tschoonj / GTK-for-Windows-Runtime-Environment-Installer» . 19 ноября 2019 г. - через GitHub.
  45. ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk.html
  46. ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk_down.html
  47. ^ https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf
  48. ^ Amundson, Шон Т. (13 апреля 1998). "ОБЪЯВЛЕНИЕ: Выпущен GTK + 1.0.0!" . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  49. ^ Amundson, Шон Т. (25 февраля 1999). «ОБЪЯВЛЕНИЕ: Выпущены GTK + и GLib 1.2.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  50. Тейлор, Оуэн (11 марта 2002 г.). «Выпущен GTK + -2.0.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  51. Тейлор, Оуэн (22 декабря 2002 г.). «Выпущен GTK + -2.2.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  52. Тейлор, Оуэн (16 марта 2004 г.). «Выпущен GTK + -2.4.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  53. ^ Clasen, Matthias (16 декабря 2004). «Выпущен GTK + -2.6.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  54. ^ Clasen, Matthias (13 августа 2005). «Выпущен GTK + 2.8.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  55. ^ Clasen, Матиас (3 июля 2006). «Выпущен GTK + 2.10» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  56. ^ Clasen, Matthias (14 сентября 2007). «Выпущен GTK + 2.12» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  57. ^ Clasen, Маттиас (4 сентября 2008). «Выпущен GTK + 2.14.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  58. ^ Clasen, Matthias (13 марта 2009). «Выпущен GTK + 2.16.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  59. ^ Clasen, Matthias (23 сентября 2009). «Выпущен GTK + 2.18.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  60. ^ Clasen, Matthias (23 марта 2010). «Выпущен GTK + 2.20.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  61. ^ Clasen, Matthias (23 сентября 2010). «Выпущен GTK + 2.22.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  62. ^ Clasen, Matthias (20 января 2011). «GTK + 2.24.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  63. ^ Clasen, Matthias (10 февраля 2011). «Выпущен GTK + 3.0.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  64. ^ "Gtk + 3.0 Theming API Hackfest" . Кремниевый остров . Дата обращения 3 июня 2017 .
  65. ^ "Проект дорожной карты Gtk + 3" . Дата обращения 3 июня 2017 .
  66. ^ "Чердак / ProjectRidley - GNOME Wiki!" . wiki.gnome.org .
  67. ^ Clasen, Matthias (25 сентября 2011). «GTK + 3.2.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  68. ^ Clasen, Matthias (26 марта 2012). «Выпущен GTK + 3.4.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  69. ^ Clasen, Matthias (24 сентября 2012). «Выпущен GTK + 3.6.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  70. ^ Clasen, Matthias (25 марта 2013). «Выпущен GTK + 3.8.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  71. ^ "Кадровые часы: Справочное руководство GDK 3" . developer.gnome.org .
  72. ^ Clasen, Matthias (23 сентября 2013). «Выпущен GTK + 3.10.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  73. ^ Clasen, Matthias (25 марта 2014). «Выпущен GTK + 3.12» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  74. ^ "Клиентские украшения в темах | Продолжается" .
  75. ^ Clasen, Matthias (22 сентября 2014). «Выпущен GTK + 3.14.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  76. ^ Matthias Clasen (15 мая 2014). "Запись в блоге автора GtkInspector" . Дата обращения 17 мая 2014 .
  77. ^ "GtkInspector в вики GNOME" . 15 мая 2014 . Дата обращения 17 мая 2014 .
  78. ^ "Слияние жестов в 3.14" . 23 мая 2014 . Дата обращения 23 мая 2014 .
  79. ^ «RFC: жесты» . 4 марта 2014 . Дата обращения 23 мая 2014 .
  80. ^ "gtk + 3.13.2" . 27 мая 2014 г.
  81. ^ "gtk + 3.13.3" . 24 июня 2014 г.
  82. ^ Clasen, Matthias (22 марта 2015). «Выпущен GTK + 3.16.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  83. ^ онлайн, heise. "Linux-Desktop: Neues Gnome zeigt Nachrichten oben" . heise онлайн . Дата обращения 3 июня 2017 .
  84. ^ "Выпущен GTK + 3.16.0" . mail.gnome.org . Дата обращения 3 июня 2017 .
  85. Нестор, Мариус (24 сентября 2015 г.). «GTK + 3.18.0 официально выпущен как часть среды рабочего стола GNOME 3.18» . Софтпедия . Проверено 25 мая 2019 .
  86. ^ Clasen, Matthias (21 марта 2016). «ГТК + 3.20» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  87. ^ «GTK + 3.20 - Классы стилей и имена элементов» . 20 ноября 2015.
  88. ^ Clasen, Matthias (21 сентября 2016). «Выпущен GTK + 3.22» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  89. ^ «Объединена поддержка планшетов GTK + Wayland - Карлос Гарначо» .
  90. ^ "вход хуттера" . www.x.org .
  91. ^ a b "Gtk 4.0 не будет стабильным до Gtk 4.6" . 13 июня 2016 г.
  92. ^ a b "Gtk 5.0 не будет стабильным до версии 5.6" . 14 июня 2016 г.
  93. ^ Clasen, Матиас (3 сентября 2018). «GTK + 3.24.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  94. ^ Clasen, Matthias (31 марта 2017). "GTK + 3.90.0" . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  95. ^ a b "Проекты / GTK / Дорожная карта - GNOME Wiki!" . wiki.gnome.org .
  96. ^ "Фиксирует · мастер · GNOME / gtk" . GitLab .
  97. ^ Clasen, Matthias (18 октября 2017). «GTK + 3.92.1» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  98. ^ Clasen, Matthias (23 октября 2017). «ГТК + 3.92» . Блог разработчиков GTK . Проверено 25 мая 2019 .
  99. ^ «Выпущен GNOME 3.26» . 13 сентября 2017.
  100. ^ Clasen, Matthias (26 июня 2018). «GTK + 3.94.0» . Почтовые службы GNOME (список рассылки) . Проверено 20 мая 2019 .
  101. ^ a b Класен, Матиас (7 мая 2019 г.). "GTK 3.96" . Почтовые службы GNOME (список рассылки) . Проверено 28 мая 2019 .
  102. ^ "Представляем AMTK" .
  103. ^ Clasen, Matthias (13 февраля 2020). «ГТК 3.98» . Блог разработчиков GTK + . Дата обращения 18 февраля 2020 .
  104. ^ "Слайд-колоды GUADEC 2020" .
  105. ^ Clasen, Matthias (16 декабря 2020). «GTK 4.0.0» . Почтовые службы GNOME (список рассылки) . Проверено 16 декабря 2020 .

Библиография [ править ]

  • Краузе, Эндрю (23 апреля 2007 г.), Основы разработки GTK + (1-е изд.), Апресс , ISBN 978-1-59059-793-4
  • Райт, Питер (15 мая 2000 г.), Начиная с GTK + и GNOME (1-е изд.), Peer Information , ISBN 978-1-86100-381-2
  • Логан, Сид (6 сентября 2001 г.), Gtk + Programming in C (1-е изд.), Prentice Hall , ISBN 978-0-13-014264-1

Внешние ссылки [ править ]

  • Официальный веб-сайт