Представлен (https://blog.gtk.org/2018/06/26/gtk-3-94/) очередной тестовый выпуск будущего стабильного релиза GTK+ 4. Ветка GTK+ 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+. До полной стабилизации GTK+ 4, приложения, предлагаемые для пользователей, рекомендуется продолжить собирать с использованием ветки GTK+ 3.22, на смену которой в сентябре придёт (https://www.opennet.ru/opennews/art.shtml?num=48834) финальная ветка 3.24.Основные изменения (ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.94/gtk+-3.94.0....) в GTK+ 3.94:
- В API GSK (https://wiki.gnome.org/Projects/GTK+/Gsk) (GTK Scene Kit), обеспечивающем отрисовку графических сцен через OpenGL и Vulkan, представлен новый тип узлов рендеринга - GskOffsetNode, являющихся упрощённым вариантом GskTransformNode, выполняющим работу по трансляции контента при перемещении вверх или вниз по дереву узлов рендеринга (render node tree). Данная возможность позволила реализовать кэширование узлов рендеринга для разных кадров виджетов, при необходимости осуществляя изменение позиции узла. В GSK также добавлен вызов GskDebugNodes для упрощения отладки процесса создания узлов рендеринга в приложениях и операция gsk_render_node_diff для оценки различий между двумя деревьями узлов;
- В бэкенд Broadway, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера, добавлена реализации вызова GskRenderer;
- При откате отрисовки с GSK на Cairo теперь применяется записываемые поверхности (recording surface) вместо поверхности в форме изображения (image surface), что позволяет в дальнейшем повторить отрисовку в другом масштабе;- В GDK продолжена модернизация API в контексте применения Wayland вместо X. Например, GdkWindow переименован в GdkSurface для соответствия терминологии Wayland. В класс GdkTexture добавлены подклассы GdkMemoryTexture и GdkGLTexture и новый уровень абстракции GdkPaintable (представляет объекты, которые можно нарисовать где угодно с любым размером, без необходимости выполнения сортировки layout-слоёв);
- Добавлена возможность отображения видео при помощи виджетов GtkVideo и GtkMediaControls;
- Добавлен новый виджет GtkPicture для разделения функций просмотра изображений и пиктграмм с виджетом GtkImage;
- В виджет GtkFontChooser добавлена поддержка изменения параметров шрифтов OpenType, в том числе настройки изменчивых шрифтов;
- Комбинация Ctrl-Shift-e для ввода Emoji заменена на систему дополнения ввода, активируемую при помощи свойства GtkEntry::enable-emoji-completion;
- Добавлены новые типы контроллеры событий ввода GtkEventControllerMotion, GtkEventControllerKey и GtkGestureStylus, которые пришли на смену старой системе доставки событий ввода. Контроллеры ввода в том числе можно создавать в файлах ".ui". Для Wayland задействована собственная платформа методов ввода, базирующаяся на протоколе Wayland;- Прекращена поддержка сигнала "::draw", вместо которого во всех виджетах следует реализовать сигнал "::snapshot", по которому создаётся собственный экземпляр GtkSnapshot для промежуточной отрисовки. При этом выход за границы области виджета больше не обрезается и виджет может выполнять отрисовку за своими пределами;
- Изменён механизм аннулирования виджета, который теперь действует через очистку связанных с виджетом прокэшированных узлов в дереве рендеринга с последующим воссозданием недостающих в кэше частей дерева рендеринга. Для определения областей, которые следует перерисовать, выполняется сравнение состояния дерева рендеринга до и после текущего кадра. В GTK+ inspector добавлена возможность отслеживания аннулирования виджетов:
- Прекращена поддержка загружаемых модулей. Ранее применяемые модули с поддержкой методов ввода, бэкендов вывода на печать и мультимедийных бэкендов преобразованы в можули GIOModules и расширения. Модули поддержки систем ввода на уровне платформ (im-модули для Windows, Wayland, Broadway) теперь всегда включены и активируются по умолчанию на связанных с ними платформ;
- В код поддержки API Vulkan в GDK добавлена возможность выбора устройства вывода через переменую окружения GDK_VULKAN_DEVICE (список доступных устройств можно посмотреть указав GDK_VULKAN_DEVICE=list).
URL: https://blog.gtk.org/2018/06/26/gtk-3-94/
Новость: https://www.opennet.ru/opennews/art.shtml?num=48853
Молодцы! GTK 4! Ура!
Наверное сваливаю с gtk+ в сторону qt и kdeУ последних как-то процессы не так резко происходят, а тут постоянные выпиливания и кардинальные переработки. Надоело, не знаешь чего ждать от следующего выпуска Fedora Gnome
> в сторону qtВ сторону какого Qt?
Qt3?
Qt4?
Qt5?
Qt6?
Серьезно? Разве из того, что он написал не ясно, что актуального, а не древнего или не существующего?
Ой да че ты как не родной кодь на javafx там только две версии первой никто не пользуется вообще. А вторая норм.
https://www.opennet.ru/opennews/art.shtml?num=47446
Dismiss argument. Mint привязаны/привязали себя к GTK, и от этого они не могут поддерживать KDE/QT.
В новояти-же это буквально и написано.
https://www.opennet.ru/opennews/art.shtml?num=48661
Тот аноним - это я. Я передумал. Теперь все то же самое, но для KDE.
KDE != Qt
Не кедами едиными
LXQT же!
Qt сам по себе вообще слабо связан с любым DE, это в первую очередь средство кроссплатформенной и embedded разработкиНе знаю, что в LxQt, но кеды -
надстройка над кьютом, куча своих классов и либ, а gtk делают для себя / de в первую очередьПоэтому нет смысла вспоминать каждый раз KDE. Да, это удачный крупный проект, но есть много разного и вне :)
> постоянные выпиливания и кардинальные переработкиИменно так!
> Например, GdkWindow переименован в GdkSurface
Вот так, лёгким движением руки выбрасывается ключевой класс, что при миграции Gtk2/3->Gtk4 потребует массовых изменений кода.
Хотя можно было просто сделать 2 равнозначных класса:
GdkSurface=GdkWindow
Как же убого выглядит это их CSD с кнопочками. Столько гномософта изгадили.
Это дело привычки. Мне наоборот кажется, что все убого выглядит со старомодными меню.
А какие есть альтернативы?* Старое древнее устаревшее неудобное (нужное подчеркнуть) меню, занимающее целую полосу экранного месте - однозначно в тoпку! Годно только для конвертированных олдфагов, которым плевать на внешний вид и вообще не любят ничего нового (худшая часть человечества);
* Глобальное меню, размещенное стабильно в определенной части экрана. Для маленького окна - большое расстояния перемещения мышки, поэтому на любителя (если не реализовано локальное), но скорее в тoпку;
* Локальное меню, когда-то было в меню и можно назвать удобным. Гибрид глобального и локального меню при наведении на декор небольшого окна - на нем появляется обычное меню. На фулл экране, если есть юнити-/гномолайк полоска, глобальное сверху.Два последних варианта были реализованы в Юнити, и реализованы были хорошо, включая поиск по меню (вообще мастхев, особенно для LO и подобных). Насколько я знаю, такой полноценной реализации больше нигде нет (видел глобал + поиск или меню-кнопку в кедах).
И как раз это является объективно лучшим вариантом, если мы хотим оставить немного классического меню, но сделать это адекватно.Гномовцы пошли по своему пути, оно тоже не является плохим, и может составить конкуренцию варианту из юнити, но это точно лучше лишней полоски меню.
Лучше полоски ничего нет.
> не любят ничего нового (худшая часть человечества)Это про доллары?
> А какие есть альтернативы?Обязательный поиск по _всем_ командам + скрываемое _полное_ меню + настраиваемая панель с оперативными кнопками (опционально).
Как можно не понимать такой простой вещи, загадка.
> * Старое древнее устаревшее неудобное (нужное подчеркнуть) меню, занимающее целую полосу экранного месте - однозначно в тoпку!В Фаерфоксе пошли на хороший компромисс: это меню не занимает постоянно целую полосу, но по нажатию на привычный Alt - оно появляется.
Ты гей?А какие есть альтернативы?
Трансгендеры ещё
//Хром не знает слово Трансгендеры. Кто может добавить в словарь?
Не выдержал этого идиотизма. 5 лет терпел, честно терпел. Но месяц назад перешел на KDE и не жалею...
> Не выдержал этого идиотизма. 5 лет терпел, честно терпел. Но месяц назад перешел на KDE и не жалею...А толку ? Либы-то все равно тянутся.
Я одно время пытался сидеть на всем Qt-шном, т.е. без gtk* в системе. Это не жизнь, а ад.
>> Не выдержал этого идиотизма. 5 лет терпел, честно терпел. Но месяц назад перешел на KDE и не жалею...
> А толку ? Либы-то все равно тянутся.
> Я одно время пытался сидеть на всем Qt-шном, т.е. без gtk* в
> системе. Это не жизнь, а ад.Поясните, сударь
> без gtk* в системеЗачем делать бессмысленные вещи.
Используй любые программы что тебя устаивают.
Ты же не отказываешься устанавливать программы, потому что они написаны на Python или C, т.к. ты решил что Ruby и C++ лучше языки. Часто ты не обращаешь мнимание на чём написано преложение, часто это смесь многих языком.
Ты один раз поставил зависимости на 500 Mb, и это весь оверхед на всё время.
То что GTK приложения часто живут в своём зацикленном мире, и не интегрируються и не интегрируемы с другим софтом/DE - это да.
Как будто верно, в абстракции. Однако есть множество программ, которые написаны не для того, чтобы делать дело, а чтобы "быть сделанными на (скажем, GTK+)". И вот программ "на GTK+" многовато, да.
Это является проблемой только для тулкитофобов. Остальные даже не подозревают о существовании таких душевных страданий.
Хм, и какое же судьбоносное событие произошло месяц назад? Смотрю, новых версий GTK не выходило, ничего не ломалось.
Нервы сломались. :D
Не выдержал этого идиотизма.
5 лет терпел, честно терпел.
Но месяц назад перешел на XFCE
и не жалею...
Быстрый, мало жрет памяти, нет никаких спецэффектов, ничего не отвлекает и не беспокоит, то что нужно для работы.
То-то же его на 3 gtk задумали переводить. А тут уже 4 выходит.
Есть уже планы по удалению фич на 4й релиз?
Не, они как всегда оставят это на сюрприз - чтобы юзеры не расслаблялись. Вот сидишь ты такой, сделал из г(нома) конфетку, тебя все утсраивает, а разрабы такие: А давай-ка ты завтра проснешься как ни в чем не бывало и обнаружишь что через неделю у тебя будет отсутствовать функционал к которому ты привык(трей например), зато будут новые модные кнопочки в заголовке окна(меню все так же не завезли). Не жизнь а сказка просто!
Или сделают одну большую кнопку посреди окна, которая будет открывать вертикальное меню в левой части экрана. А все надписи в этом меню будут заменены на эмодзи.
Ты просто монстр. Надеюсь разрабы GTK никогда не прочитают этого.
> Ты просто монстр. Надеюсь разрабы GTK никогда не прочитают этого.Я тоже надеюсь
А я вот надеюсь что прочитают и сделают так как я сказал. Хоть больше народа свалит с этого убожества, что приведет к улучшению поддержки других DE и как следствие - к повышению качества других DE. Такими темпами вполне возможно что в будущем во многих мейнстримных дистрах дефолтным DE будут кеды например. Или что-то другое, не важно. Что угодно(из мейнстримных DE) лучше гнома3.
> А все надписи в этом меню будут заменены на эмодзи.А ведь в таком случае не нужно будет делать переводы! Хей-фьють!
Так там уже много повыкидывали. Просто стесняются написать об этом в новости.
Использовал GTK а потом перешел на Qt. Наставьте плюсов плз
+100500.
Из ГТК пользую только Гимп (куда ж без него), Modem Manager и браузвери.
А как же пидгин? Он, пожалуй, самое незаменимое что есть на жэтыка.
psi++ на qt на c++
Минус за плюсы. Использую и Qt и GTK, т. к. не фанатик.
как это?
расскажи, я тоже так хочу
или lxqt?
Недавно пробовал в проге на qt5 улучшить реализацию модульного графа на базе QGraphicsScene, заставив его рисоваться с субпиксельным хинтингом (т.е. чтоб линия в 1px была с центре пикселя, а не между). Не знаю, от чего зависит, но линии под углом 45deg выглядит как не сглаженная, и только на 30 можно увидеть разницу.Чего не скажешь про cairo - даже сделав скриншот сцены с тройным разрешением и перепробовав разные фильтры для уменьшения, трудно соревноваться с cairo в качестве.
Пробовал imageworsener и немного imagemagick.
Когда файлпикер добавят?
Куда?
> который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK+Зарекалась коза капусту не есть …
https://www.opennet.ru/opennews/art.shtml?num=45190
> 22.09.2016 10:15 Выпуск графического тулкита GTK+ 3.22
> Выпуск 3.22 является последним наращивающим функциональность релизом в ветке GTK+ 3.x В дальнейшем новые возможности будут развиваться в экспериментальных выпусках GTK+ 3.90.x, после которых будет сформирована новая стабильная ветка GTK+ 4. *Корректирующие обновления для GTK+ 3.22, в которых будет сохранена совместимость на уровне API и ABI, планируется формировать как минимум три года.*https://www.opennet.ru/opennews/art.shtml?num=48834
> 24.06.2018 18:06 Перед GTK+ 4 планируется сформировать внеплановый выпуск GTK+ 3.24
> После релиза сопровождение переключится на ветку GTK+ 3.24.x, а корректирующие выпуски GTK+ 3.22.x больше выпускаться не будут.
>
И что ты тут этот список выложил? Что-то где-то чему-то противоречит, кроме 3.22.x -> 3.24?
> И что ты тут этот список выложил? Что-то где-то чему-то противоречит, кроме 3.22.x -> 3.24?Разъясняю на пальцах:
Актуальная новость:
> развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет APIПеревод:
Торжественно почти обещаем, что у нас будет ветка, в которым мы по нескольку лет не будем ничего ломать!Новость от 09.2016:
> Выпуск 3.22 является последним наращивающим функциональность
> Корректирующие обновления для GTK+ 3.22, в которых будет сохранена совместимость на уровне API и ABI, планируется формировать как минимум три годаПеревод:
Обещаем, что ветка 3.22 - трехлетний LTS, ничего добавлять/удалять не будем!Недавняя новость:
> внеплановый выпуск GTK+ 3.24
> После релиза сопровождение переключится на ветку GTK+ 3.24.x, а корректирующие выпуски GTK+ 3.22.x больше выпускаться не будут
> ... GTK+ 3.24 планируется опубликовать в сентябре и включить [...] а также расширить API новыми вызовами, следуя пожеланиям разработчиков портируемых приложений.
>ЗЫ:
дополнительно:
https://github.com/GNOME/gtk/compare/gtk-3-22...gtk-3-24
-m4_define([pango_required_version], [1.37.3])
+m4_define([pango_required_version], [1.41.0])https://github.com/ImageMagick/pango
Overview of changes between 1.38.0 and 1.38.1
=============================================
- Require 0.9.30Стабильность - это не только "неломание" конкретного API
Хорошо, на пальцах.внеплановый выпуск с API с новыми вызовами в GTK+ 3.24 не слосмает обещанный стабильный и поддерживаемый в течение нескольких лет API
> Стабильность - это не только "неломание" конкретного APIА что еще в данном контексте? Это когда мир поставлен на паузу? Весь софт, который был написан с использованием Gtk-3.22 будет собираться и с Gtk-3.24 — это и есть стабильность в данном контексте. Все остальное за уши притянуто.
блуждающая чудовищность вида дефолтовой темы это такая фича, чтобы пользователи планшетов не расслаблялись?
А превью GNOME 4 уже есть? Там всё тот же планшетный ужас?
Я скажу только одно: "editable menu accelerators".
Раз уж на то пошло, то я тоже "сидел на гноме 2, и всё было хорошо и уютно, потом из-за лагов и неюзабельности планшетки ушёл на xfce, а когда купил комп посерьёзнее, привык к KDE 4-5, благо там тиринга не было из коробки на радеоне и интеле".
А казывается тиринг зависит от используемого десктопа. Оригинально.
> А казывается тиринг зависит от используемого десктопа. Оригинально.XFWM давал тиринг при включенном композитинге, а KWin нет. Конфиги Xorg лишь позволяли уменьшить спецэффекты.
А када на гноме сидел, был компиз и невидия, тоже всё ок было. Только невидия сгорела как раз к выходу Гнома 3.
Ещё как зависит. В крысе, например, можно врубить анти-тиринг (в настройках естественно), а в "плохих падучих" кедах аж выбрать методы отрисовки и движок (иксы или одну из версий гл), что, как ни странно, помогает пофиксить тиринг всё той же галочкой в настройках. А вот если произошло чудо и драйвера, криворукие мейнтейнеры дистрибутива "X" и железо сошлись в линию во время полной луны, тогда не зависит от десктопа.
Зависит от WM. У меня на одном и том же ноуте (карты Intel + AMD), с одной и той же openSUSE тиринга не было на KDE и Cinnamon, а вот на Mate был ещё как.
Минт в плане юзабильности и Мате в плане классики норм, но они уже обособленные DE, которых пилят мало людей.
начали портить гтк3 в предверии гтк4.
Сейчас пойду поставлю lxqt и буду на гитхабе собирать джентельменский набор только C++ QT
Как я понял, главная суть GTK+ 4 -- это окончательный переход с X-ов на Wayland. А с X-ами он продолжит работать, или уже нет?
У меня пока работает. Хоть вот это:
> Например, GdkWindow переименован в GdkSurface для соответствия терминологии Wayland.и возмутительно!
Отлично. Релиз лучшего графического тулкита в мире GNU/Linux!
Но который каждый раз роет себе могилу. И учитывая кол-во миграций на Qt и оставшихся на gtk2, в один непрекрасный день ему таки это, может, и удастся. Ну или через год ноуты перестанут продавать с интегрированными клавами (а опционально она станет дорогим удовольствием в пару сотен у.е.) и мы все будем рады, что в RedHat об этом уже всё наперёд знали.