Подготовлен (https://gitlab.gnome.org/GNOME/gtk/tags) выпуск (https://download.gnome.org/sources/gtk+/3.24/) новой стабильной ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.24.0 (http://www.gtk.org), сформированный после двух лет существования ветки 3.22 и применения эмбарго на формирование значительных релизов GTK 3.x, вносящих изменения на уровне API.
При разработке GTK+ 3.24 работа в основном была сосредоточена на точечном расширении API без нарушения обратной совместимости, что позволяет использовать GTK+ 3.24 в качестве замены GTK+ 3.22 не опасаясь подводных камней (дистрибутивам рекомендован переход на GTK+ 3.24). Сопровождение отныне переключено на ветку GTK+ 3.24.x, а корректирующие выпуски GTK+ 3.22.x больше выпускаться не будут. GTK+ 3.24 станет последним выпуском ветки GTK+ 3, что символично, так как GTK+ 2.24 был последним выпуском ветки GTK+ 2.Изначально, выпуск GTK+ 3.22 намечался как финальный, фиксирующий изменения в ветке 3.x и поддерживаемый три года без изменения API. Но разработка GTK 4 затянулась и было решено подготовить ещё один значительный релиз GTK+ 3.24, бэкпортировав в него некоторые новшества. Ветка GTK+ 4 развивается в рамках нового процесса разработки, целью которого является предоставление разработчикам приложений стабильного API, поддерживаемого в течение нескольких лет. GTK+ 4 можно будет использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+.
Наиболее заметные новшества (https://download.gnome.org/sources/gtk+/3.23/) GTK+ 3.24.0 (https://developer.gnome.org/gdk3/stable/):- Добавлена поддержка изменчивых шрифтов (https://www.opennet.dev/opennews/art.shtml?num=47217) и новые возможности настройки шрифтов. Добавлены новые опции для настройки шрифтов OpenType, применения режимов OpenType, изменения высоты и ширины изменчивых шрифтов, управления уровнем детализации. Примеры текста теперь отображаются в режиме реального времени, обновляясь по мере изменения параметров шрифта;
- Добавлена поддержка Emoji, реализован всплывающий виджет для выбора Emoji и режим ввода Emoji с клавиатуры (Ctrl-Shift-E). Для виджетов на базе GtkEntry также добавлено свойство "enable-emoji-completion", при активации которого не работает Ctrl-Shift-E, но можно вводить специальные идентификаторы Emoji, например, ввод ":cartwheel:" приведёт к отображению символа "🤸";
- Для упрощения миграции приложений на GTK4 в GtkEventController добавлено несколько подклассов для более тонкого управления событиями ввода (event controller): GtkEventControllerKey, GtkEventControllerMotion, GtkEventControllerScroll и GtkGestureStylus;
- В GtkApplication реализована возможность отслеживания состояния хранителя экрана;- В число публично доступных API переведён вызов gdk_window_move_to_rect;
- Бэкенд для Wayland переведён на использование анонимной разделяемой памяти на платформе FreeBSD.
- Объявлены устаревшими цепочки установки фокуса в GtkContainer и режим повышенной точности в GtkRange. Удалена тема оформления Raleigh;
- Возобновлена поддержка определения цвета произвольных элементов интерфейса. Текущая реализация может работать как через интерфейс создания скриншотов (screnshot portal), так и через API gnome-shell;
- В GtkModelButtons добавлена поддержка разметки;
- В GtkPlacesSidebar добавлен индикатор прогресса выполнения операций монтирования;
- В бэкенд, обеспечивающий работу поверх дисплейного сервера Wayland,
добавлена поддержка протоколов ввода gtk-text-input и text-input-unstable-v3, решены проблемы с согласованием состояния декорирования окон, обеспечено масштабирование курсора при необходимости;
- Для платформы Windows добавлен компонент рендеринга на базе EGL, построенный на основе библиотеки ANGLE, обеспечивающей работу поверх специфичных для разных систем API (транслирует вызовы в OpenGL, Direct3D 9 и Direct3D 11);
Напомним, что код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce, и используется в таких продуктах, как GIMP и Firefox.GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade (http://glade.gnome.org/) позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив GTK-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).
URL: https://gitlab.gnome.org/GNOME/gtk/tags
Новость: https://www.opennet.dev/opennews/art.shtml?num=49222
Отлично! Лучший тулкит в мире GNU/Linux!
Большинству пользователей Винды наплевать на гармоничное единообразие стилей, о котором так много говорят тулкитофобы. Пользователей Винды в первую очередь интересует функциональность и удобство программы. А то что браузер выглядит не так как калькулятор... А должен?
Скажем так - в Windows единообразие браузера и калькулятора таки есть, для тех, которые идут в дефолтовой поставке: Edge и Калькулятор. А дальше - естественное разнообразие стороннего софта. Вот, например, книжный шкаф - было бы странно ожидать и требовать единого оформления для справочника Корна, паттернов Банды Четырех, Ландафшица, похождений Дриззта До'Урдена и баллад Кольриджа.
В Windows два браузера и калькулятора. И после этого они не поехавшие?
А что, в Линуксах вы не можете при ручной установке дистрибутива указать хоть четыре браузера и стопицот калькуляторов? Если исходить из вашей логики - то это уже даже не поехавшие, а просто таки адепты Шеогората.
Из коробки идёт обычная версия и UWP. Сидите на своих семёрках и мира не видите.
Семерка работает как надо, а десятка как этот ваш линукс, с каждым обновлением не знаешь чего ждать.
Хочешь сказать она ни разу не ломалась от обновлений?
Толсто. И Линуксы от обновлений ломаются, и с 10-кой такое случалось.
Я уже давно из винд юзаю именно 10-ку, а не протухшую семерку. Из коробки, если уж быть точным - идёт IE и Edge, а вот Edge таки UWP.
Да, странно, но многие тулкитофобы готовы выливать тонны ненависти по этому поводу.
Некогда г-н Голубицкий с Компьютерры исходил на говно по поводу мешающей ему жить и работать кастомизируемости Windows и единого неизменяемого стиля б-жественной Макоси...
не схватил ли его инфаркт после того, как в макосе добавили возможность выбора тёмной темы оформления?
Понятия не имею, я перестал читать статьи Голубицкого с тех пор, как он вместо рассказов о софте стал распространяться про индийскую духовность и ничтожность западной культуры.Но, подозреваю, инфаркт его не хватил - ведь у яблофагов как: раз что Эппл сделало, значит так надо и точка.
сейчас большинство программных интерфейсов представлено сайтами и прочей вебнёй, где единым стилем и не пахнет
> Пользователей Винды в первую очередь интересует функциональность и удобство программы.В голос. Сделал мой день.
Правильно, плохой тулкит гимпованным не назовут.
Ура. Лучший тулкит.
Когда аппаратное ускорение всего и вся завезут?
в 5 версии
мне всё интересно, а что там реально нужно ускорять?
Очевидно, что графику
Графику надо в игрушках ускорять, а кнопочки с менюшками - это не "графика". Их ускорением графический интерфейс ОС должен заниматься, а не тулкиты.
А интерфейс чем рисуется? Учениками Сальвадора Лали?!
Иксами, на сервере
главное, чтобы оставили возможность запускать на железе без аппаратного ускорения
Если Вашап поделка требует аппаратного ускорения, то она не нужна.
Интерфейс, на мой скромный взгляд, должен быть простым и лёгким.
Интерфейс должен быть плавным и не нагружать процессор, а простой он или сложный - дело вкуса каждого юзверя
Если интерфейсу для плавности не хватает мощности процессора даже 10-летней давности, то что-то с этим интерфейсом не так.
В 4.0 уже вулкан и опенгл ускорение. В бенчмарках скорость в 2+ раза выше чем у гтк3 (на моей конфигурации).
Расскажи по подробнее.
КОгда вайланд завезут?
аноним не читатель, аноним - писатель?
Аноним не читатель и не писатель, а аноним.
Аноним, аноним, аноним, аноним, аноним
А потом выйдет какой нибудь GTK 4, где опять выкинули всю совместимость и иди пиши интерфейс заново.
Ага, типа в плиточку разномастную весь рабочий стол превратить.
Ну и переходить на него года 3-4 будут, а может и не будут...
в qt так в каждой мажорной версии делают
а кроме qt и gtk больше и не на чем в линуксе gui делать
Не надо вводить в заблуждение. В Qt5 была почти полная совместимость с Qt4. Портирование требовало минимальных изменений кода.
> В Qt5 была почти полная совместимость с Qt4. Портирование требовало минимальных изменений кода.Что совершенно не означает, что также будет с Qt5->Qt6, Qt6->Qt7 и вообще Кьютовцы не придумают "новую концепцию" и не перелопатят фреймворк. Переход Qt3->Qt4, вроде как, был не настолько прост, как Qt4->Qt5.
Конечно, команда архитекторов, умеющая в переносимость, обратную совместимость и расширяемость (Qt) не гарантирует на все 100% отсутствие возможности резкой смены парадигм, в отличие от команд, пилящих гтк, гном, муттер и весь этот прочий мусор. Тут вы его гарантированно получаете порой даже в минорных патчах.
> отсутствие возможности резкой смены парадигмПотому qt так отстал и застрял на стыке столетий.
А в реальном мире тем временем Qt на передовой технологий, и там из коробки доступны фишки, о которых в других фреймворках можно только мечтать.
Спокойно перенёс программы с Qt4 на Qt5. Буквально понадобилось переписать 2-3 строчки. Шах и мат, ГТКашники.
> Спокойно перенёс программыСобственно также и в gtk спокойно перенесены все программы.
Смена мажорной версии как раз и говорит о координальном изменении, коим и является API.
Мушкетеры Коороля и гвардейцы Координала.
В хроме api каждые две недели меняют?
>что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии.Есть *техническое* описание, как правильно компилировать коммерческое ПО чтобы не нарушить лицензию?
Компилировать его *отдельно* от библиотек тулкита, подключая их динамически.
Обычная практика с LGPL.
> Emoji, реализован всплывающий виджет для выбора Emoji и режим ввода Emoji с клавиатуры (Ctrl-Shift-E)Какая-то жесть 🤢
Соболезную.
Он уже есть в 18.04. Ubuntu всех переиграл.
>Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузераГде бекенд для отображения в окружении Plasma?
Очевидно, это вопрос разработчикам Plasma...
Когда на Rust перепишут?
если уж писать, то принципиально новый продукт
Принципиально новые продукты закончились в прошлом веке
Как только ты закончишь переписывать на Rust.
>сделай самЯсно
Типичное для Rust-оманов поведение -- ругать за неиспользование Rust-а и чуть ли не требовать переписывание существующего кода с других языков на раст, но так, чтобы переписыванием и прочей {мало|бес}полезной рутиной занимался кто-нибудь другой, а Rust-оманам осталось бы только воспользоваться результатом.
>GTK+ 4 можно будет использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+.Да ну?! До разработчиков gtk+ наконец дошло, что не стоит ломать совместимость каждой минорной версии?
Скорее это до тебя наконец дошло то, о чем довно и не раз писали.
Слово "давно" научись писать для начала.
>Удалена тема оформления Raleighнеудивительно, ведь она для gtk 3.20 и не работала, но зря они отказались от выбора классического вида, оставив только адвайту
хотя тем, кому надо, сами реанимировали её https://www.gnome-look.org/p/1255184/ (безобидный гномлук почему-то заблокирован ркн)
Зачем такой ужас реанимировать?! Обрезом в голову этому зомбарю, господа.
> GTK+ 3.24А они добились своего: беглым взглядом кажется, что это полюбившийся многим 2.24.
http://ftp.altlinux.org/pub/people/gnome/ISO/regular-gnome3-... содержит сабж вместе с GNOME 3.30 (и bash4 по умолчанию, привет одному или двум зациклившимся).