Спустя 10 месяцев с момента прошлого (https://www.opennet.me/opennews/art.shtml?num=48853) тестового выпуска представлен (https://blog.gtk.org/2019/05/08/gtk-3-96-0/) GTK 3.96 (https://github.com/GNOME/gtk/releases/tag/3.96.0), новый экспериментальный выпуск будущего стабильного релиза GTK 4. Ветка GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложение из-за изменения API в очередной ветке GTK. До полной стабилизации GTK 4, приложения, предлагаемые для пользователей, рекомендуется продолжить собирать с использованием ветки GTK 3.24 (https://www.opennet.me/opennews/art.shtml?num=48834).
Основные изменения (https://github.com/GNOME/gtk/blob/master/NEWS) в GTK 3.96:- В API GSK (https://wiki.gnome.org/Projects/GTK+/Gsk) (GTK Scene Kit), обеспечивающем отрисовку графических сцен через OpenGL и Vulkan, проведена работа над ошибками, выявлять которые стало проще благодаря новому отладочному инструменту gtk4-node-editor, позволяющему загрузить и отобразить узел рендеринга в сериализированном формате (может быть сохранён в режиме инспектирования GTK inspector), а также сравнить результат отрисовки при применении различных бэкендов;
- Возможности 3D-трансформации доведены до уровня, позволяющего создавать такие анимационные эффекты, как вращающийся куб;
- Полностью переписан (https://www.opennet.me/opennews/art.shtml?num=50419) GDK-бэкенд Broadway, предназначенный для отрисовки вывода библиотеки GTK в окне web-браузера. Старая реализация Broadway не укладывалась в предложенные в GTK 4 методы отрисовки (вместо вывода в буфер теперь применяется модель на основе узлов отрисовки (render nodes), при которой вывод компонуется в форме дерева высокоуровневых операций, эффективно обрабатываемых GPU при помощи OpenGL и Vulkan).
Новый вариант Broadway преобразует узлы отрисовки в DOM-узлы со стилями CSS для вывода интерфейса в браузере. Каждое новое состояние экрана обрабатывается как изменение DOM-дерева относительно прошлого состояния, что позволяет сократить размер передаваемых удалённому клиенту данных. 3D-преобразования и графические эффекты реализуются через CSS-свойство transform.- В GDK продолжено внедрение API, разработанных с оглядкой на использование протокола Wayland, и проведение чистки API, завязанных на X11, или их перемещение в отдельный бэкенд X11. Отмечается прогресс выполнения работы по уходу от применения дочерних поверхностей и глобальных координат.
- Из GDK удалена поддержка GDK_SURFACE_SUBSURFACE. Продолжен рефакторинг кода, связанного с выполнением операций Drag-and-Drop, в том числе предложены раздельные объекты GdkDrag и GdkDrop;
- Упрощена обработка событий, которые теперь используются только для ввода. Остальные события заменены на отдельные сигналы, например, вместо событий вывода предложен сигнал "GdkSurface::render", вместо событий настройки - "GdkSurface::size-changed", вместо событий сопоставления - "GdkSurface::mapped", вместо gdk_event_handler_set() - "GdkSurface::event";
- В GDK-бэкенд для Wayland добавлена поддержка portal-интерфейса для доступа к настройкам GtkSettings. Для работы с методами ввода предложена поддержка расширения протокола text-input-unstable-v3;
- Для разработки виджетов представлен новый объект GtkLayoutManager с реализацией системы управления раскладкой элементов в зависимости от размена видимой области. GtkLayoutManager пришёл на смену дочерним свойствам в контейнерах GTK, таких как GtkBox и GtkGrid. Предложено несколько готовых менеджеров раскладки: GtkBinLayout для простых контейнеров с одним дочерним элементом, GtkBoxLayout для линейно выровненных дочерних элементов, GtkGridLayout для выравнивания дочерних элементов по сетке, GtkFixedLayout для произвольного позиционирования дочерних элементов, GtkCustomLayout для трансляции традиционных элементов на основе обработчиков size_allocate;
- В виджеты GtkAssistant, GtkStack и GtkNotebook добавлены публично доступные объекты для страничного вывода дочерних элементов, на которые переведены не связанные с раскладкой дочерние свойства данных виджетов. Так как все существующие дочерние свойства преобразованы в обычные свойства, свойства раскладки или перемещены в страничные объекты, из GtkContainer полностью удалена поддержка дочерних свойств;- Базовая функциональность GtkEntry перемещена в новый виджет GtkText, который также включает расширенный интерфейс редактирования GtkEditable. Все существующие подклассы ввода данных переделаны в форме реализаций GtkEditable на базе нового виджета GtkText. Добавлен новый обработчик форм ввода паролей GtkPasswordEntry;
- В GtkWidgets добавлена возможность преобразования дочерних элементов при помощи методов линейной трансформации, задаваемых через CSS или аргумент gtk_widget_allocate в GskTransform. Указанная возможность уже применена в виджете GtkFixed;
- Добавлены новые модели формирования списков: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel и GtkSingleSelection. В дальнейшем планируется добавить поддержу моделей списков в GtkListView;
- В GtkBuilder добавлена возможность задания свойств объектов по месту (inline), вместо использования ссылок по идентификатору. В gtk4-builder-tool добавлена команда для преобразования UI-файлов из GTK 3 в GTK 4;
- Прекращена поддержка ключевых тем оформления, вкладочных меню (tabular) и комбинированных блоков (combo box). Удалён виджет GtkInvisible.
URL: https://blog.gtk.org/2019/05/08/gtk-3-96-0/
Новость: https://www.opennet.me/opennews/art.shtml?num=50648
Cub unity переизобретен уга товагищи!
А , что таг можнго было?
Где куб кроме как в юнити вращается виндовс разве что.
Compiz был задолго до юнити
Beryll был ещё раньше, и куб там точно был.
Не раньше. Он от Compiz форкнулся.
Т.е. все попробовали у себя известное ранее упражнение: изображение на кубе, приёмы программирования. ))
Compize, KDE.
Тут куб внутри окна, а не на рабочих столах
> Возможности 3D-трансформации доведены до уровня, позволяющего создавать такие анимационные эффекты, как вращающийся куб;Если это не прорыв, то что тогда прорыв?
"Pie menu"
Вот прорыв: https://img-fotki.yandex.ru/get/65488/310023662.2790/0_7481f...
Неужели куб это важный элемент de?
Плевать на этот куб
Главное чтобы был быстрый, экономичный, безопасный и удобный
> Главное чтобы был быстрый, экономичный, безопасный и удобныйА это в данной теме офтопик.
Нужен гиперкуб!
Вращал куб ещо до того как научился говорить. 8)
> ещоНе пора ли научиться заодно и писать?
Хорошо, что OpenGL отрисовку сцен и X11 бэкенд оставили, таки будут гномовские приложения на старом железе со старыми ОС работать.
но это не точно
Они будут тормозить, как и всегда.
> будут тормозить, как и всегда.А вот это точно
Они будут тормозить куда меньше, чем Qt.
откуда дровишки? Циферки показывай.
> откуда дровишки? Циферки показывай.Дистрибутивы под старое железо часто на LXQt. Гном не устраивает больше.
> Прекращена поддержка ключевых тем оформленияКто бы сомневался! Без этого релиз GTK не релиз.
Кстати, разработчики же вроде говорили про возможность настройки оформления GTK 4 без копания в CSS? Я что-то пропустил или они решили, что это будет слишком легко для пользователей?
Наоборот, в >= GTK3 тем нет, как таковых. А то что все привыкли видеть под видом тем, есть ничто иное как переопределения CSS, которые подгоняются под ограниченный круг приложений и виджетов.
> Наоборот, в >= GTK3 тем нет, как таковых. А то что все
> привыкли видеть под видом тем, есть ничто иное как переопределения CSS,
> которые подгоняются под ограниченный круг приложений и виджетов.А не пофиг ли, как именно темы реализовываются?
Тем более, что даже с CSS умудрялись постоянно ломать, забивая на документацию (а пару часов ковырять исходники или дефолтную тему, пытаясь понять, что там и как поменяли, далеко не каждому охота).
Вот у меня из кастомизации только размер табов и скролбаров остались. Так и то регулярно отваливается что-то.
Табы последний раз ломали в провшлом году, а скролбары всего пару месяцев назад:
очередной сумрачный (или радужный?) гений решил, что "scrollbar slider, .scrollbar slider { ... }" не должен задавать размер еще и горизонтальному скролу - для переопределения которого теперь нужно писать "scrollbar.horizontal slider, scrollbar.horizontal .slider {"
(но вначале нужно догадаться, почему это вдруг вертикальный бар выглядит как прежде, а горизонтальный вдруг стал жирным дефолтом, потом пройти квест "нагугли современный синтаксис для переопределения", да-да, именно "scrollbar.horizontal slider").
В общем, молодцы – традиционно прилагают все усилия, чтобы чуть продвинутые пользователи, как и все разработчики сторонних тем, не скучали!
Не догадаться, а выяснить через GtkInspector. Его запуск включается через переменную окружения.
> Не догадаться, а выяснить через GtkInspector. Его запуск включается через переменную окружения.Т.е. догадаться (я вижу 100500 разных опций и узлов и даже нашел min-width, но то, что мне нужно теперь писать "scrollbar.horizontal slider" там не понять (или я чего-то не вижу?). Но опция интересная, спасибо за наводку.
Кстати, вспомнил суть "косяка" -- "сумрачный гений" решил, что min-width и min-height для вертикального и горизонтального бара должны быть разными.
Т.е. "старый" общий
scrollbar slider, .scrollbar slider {
min-width: 6px;
min-height: 18px;
}
теперь читается как "6 пикселей - это ширина для горизонтального скролабара, но для вертикального это считается высотой. 18 для вертикального будут шириной, а для горизонтального высотой".
В общем, определенная логика там просматривается, но изменение все же из типа "ради изменений".
Compiz, не? ) Похоже очень
Как я вижу на скриншоте, это теперь можно делать с панелями внутри окна. Compiz же окна целиком декорировал. Или я неправильно понял?
>Базовая функциональность GtkEntry перемещена в новый виджет GtkTextНеужели Undo завезут?
Когда коту нечего делать, то он... Так и тут, деградация линукса на лицо, погоня за версиями тулкита, рука/лицо.
нет, просто переписывают то, что было написано много лет назад.
закладывают новый фундамент под то, что будет стоять еще долго.
Переписывание тулкита каждые 8 лет вполне обыденная вещь.
Или ты хочешь сидеть на гтк2 еще лет 10?
>закладывают новый фундамент под то, что будет стоять еще долго.да уж, что мертво - умереть не может.
мертвым - все вокруг мертво
> Переписывание тулкита каждые 8 лет вполне обыденная вещь.А непрерывное переписывание тулкита на протяжении 8 лет?
Ну и когда там GTK в последний раз переписывался?
> Когда коту нечего делать, то он...
> Так и тут, деградация линукса на лицо, погоня за версиями тулкита, рука/лицо.О! Иксперды пожаловали!
шел 2019 год - гтк научился вращать куб
У вас туго с математикой - сейчас идёт 2020й год.
шёл 2019 год - гтк всё ещё не научился вращать куб
> У вас туго с математикой - сейчас идёт 2020й год.Оставьте уже математику в покое, особенно когда в дело вступают традиции и посмотрите уже, что такое календарный год и когда он начинается (подсказка: новый, текущий календарный год начинается 1.1. т.е. 1 января, не менее важная подсказка: 31 декабря считается концом текущего года).
Заодно можно глянуть, когда начинается новый век и новое тысячелетие и почему это так (подсказка: потому что в применяемой календарной системе нет нулевого года).
Нужно учитывать отсутствие нулевого года, т.е.:
есть 31 декабря, год до нашей эры. И сразу после него идет 1 января первого года н.э. (01.01.01), и этот первый год нашей эры закончился 31 декабря 01 года (31.01.01).А то по вашей логике выходит, что 31 декабря 2019 (через 7 месяцев) будет концом 2020 года, а 01.01.2019 был на самом деле началом 2020.
Как-то оно смахивает на военную хитрость и попытку введения гипотетических инопланетных агрессоров в заблуждение с непонятными целями ;)
Шёл 2019 год большинство комментаторов на opennet так и не научились читать новости. Картинки с подписью наше всё.... М-да...
оно уже научилось помещать текст в контрол без обрезания самого текста?
> оно уже научилось помещать текст в контрол без обрезания самого текста?Много лет умеет.
>комбинированных блоков (combo box)Что вместо них теперь?
В этом треде: люди путающие композитный оконный менеджер с графическим тулкитом.
Ну люди же не виноваты что в графический тулкит встроили функции композитного оконного менеджера
Типичные фанатики Qt.
> Типичные фанатики Qt.я фанатик Qt, я не понимаю преимуществ GTK, вот совсем не понимаю, и считаю ошибочным включение GTK в линуксовый стандарт, но и новости, и достижению средст 3D-трансформации возможности покрутить куб, и, особенно, протоколу передачи изображения в бэкенд браузера поставил +
Ура, наконец-то можно будет вращать настройки в окне!!
Вертел я эти настройки.
Они изобрели Compiz.
GTK невозможно пользоваться, потому что кнопки (а) огромный и (б) занимают место в горизонтали. А нынешние экраны более широкие, чем высокие, и тут напрашиваются вертикальные бары. Но нет, и без того узкую щель свободного места GTK делает ещё уже.Такое ощущение, что у разработчиков экраны набок повернуты.
они планшетами пользуются
Они живут где-то в далёком будущем, где нет кого-то, кроме себя.
Макакосью они пользуются. Ну и под вендоповедение время от времени подгоняют.
Но то, что для кого они клепают своё гномоподелие не ясно - абсолютный фактЪ
Особо забавляют гноме фоннатеги жрущие это нечто, секта мля.. Вот будет ржач когда кто-нибудь из шапки наконец сделает камин-аут и скажет то что всем уже ясно - все эти гнум щели, вяленды и тулкит приспособленный для одного строго определенного де, вм и т.д. - это был тупо заказ мелкософта для прибития на корню зарождавшегося стандарта на открытом десктопе
Все можно простить, кроме spin контрола....
Оно не стало лучше. Со времен GTK2. "Моднее и молодежнее" - это может быть. Только переводится это как "тупее и говнокодистее" ;) Например, дефолтная сортировка БЕЗ "папки перед файлами" - это мля что?? Возможно XFCEшный косяк, но это косяк! Мне плевать, почему, может говно-gconf`а не хватает или еще какой-то лабуды... тем не менее это - херня.
gsettings set org.gtk.Settings.FileChooser sort-directories-first true
не?
Или в самом диалоге открытия нажать кнопку с опциями (да, о ее существовании нетривиально догадаться, но тем не менее!) и выбрать это
Или в наутилусе в опциях (там это вообще одна из первых опций) поставить, по идее это будет работать и для диалогов.
Спасибо! А то бесился постояно, и сколько не искал - найти не мог.
Вот уж воистину "человекоориентированный" интерфейс.
Меню под ПКМ — ужасно неочевидное изобретение, ага. Просто ужас. Ну кто так делает-то? А, сорян. Практически все.
Взгляните на мир шире. Там есть люди, кроме Ваших друзей.
Удивительная новость: наличие меню под ПКМ в диалоге открытия в разных десктопах и тулкитах не зависит от того, кто с кем дружит. Это меню есть хоть в виндовом тулките, хоть в Qt.
Оно разве сохраняется между перезапусками в этом случае? Постоянно улетало куда-то в гимпе (по крайней мере на той старой версии, что у меня), кто виноват — чёрт его знает.
Один раз задал в Наутилусе и больше не трогал.
Ну так это у тебя Наутилус есть.
Вообще-то крайне неочевидное, да. В диалогах обычно контекстных меню нет. И уж тем более их нет в GTK-приложениях. Я имею ввиду именно меню для диалога, а не к примеру меню с copy/paste для текстового поля ввода в диалоге.Это логически нетривиально: у нас есть диалог, там есть где разместить опции. Почему глобальная для этого диалога опция находится при этом в контекстном меню? Заметьте, ничего другого там и нет. А выбор поля сортировки делается наверху, щелчком по заголовку таблицы.
Я считаю, авторы GTK тут серьезно лоханулись с эргономикой. Эта опция должна быть доступна по кнопке рядом с заголовком таблицы или в заголовке окна диалога. Тогда сразу будет видно, что эта возможность существует. Как сейчас - очень многие не могут догадаться (я сам постоянно пользуюсь гномом, а о существовании этой фичи случайно узнал то ли тут, то ли на ЛОРе - за годы использования вот ни разу не пришло в голову, что связанную с сортировкой опцию можно вот так открыть).
> Или в наутилусе в опциях (там это вообще одна из первых опций)Например, я его не использую. Делаю
echo -n > /usr/bin/nautilus
и потом годами успешно пользуюсь компьютером...
Неужели не осилил пакетный менеджер?
Он в зависимостях к ubuntu-desktop. Система ставится через ванильную Убунту с последующим выпилом ненужного скриптами. Так оказывается проще получать "правильно" работающее железо (в общем случае).
И правда не осилил. ubuntu-desktop — это метапакет, который можно удалить без каких-либо последствий.
Да. При одном условии. Что никто в мириаде остального софта не проверяет наличие этого пакета в своих скриптах, выполняя или не выполняя затем нужного. Очень уж пакетик знаковый. Догадается кто-либо до cool-hack'а.Менее опасно блокировать у системы конкретный файл менеджер. Чем убрать из системы условно ключевой условный признак.
Можно собрать свой пакет пустышку без файлов с очень большим номером версии. Да. Но - keep it simple.
XFCE, идиотики - какой нафиг наутилус?? Вопрос именно в данном контексте.
Да блин, причем тут xfce? что мешает его запустить, выставить опцию и закрыть навсегда? Или тот факт, что пользователь использует XFCE мешает иметь установленные пакеты из другого DE?Я, например, в гноме терминал от XFCE использую. Ну нравится он мне больше, чем gnome-terminal. И что?
И вообще, прежде чем придираться, заметьте что я еще два варианта предложил, как сделать требуемую сортировку. Если так уж лень в терминале один раз в жизни набрать "nautilus".
Ё-иое, спасибо тебе, мил человек! Джва года мучался с этой гадостью!
> Например, дефолтная сортировка БЕЗ "папки перед файлами" - это мля что??При чём здесь GTK?
> Опубликован GTK 3.96, экспериментальный выпуск GTK 4А будет старая кедо-тема, только с гтк: GTK 4.0 != GTK 4?
Эта тема не имеет смысла, т.к. с каждым релизом что-то сыпется и отваливается, на сайте расширений, например, лишь седьмая часть подходит для текущей версии
Да я не про темы оформления, а про кавардак с мажорными версиями и ветками — была в кедах такая история...
"Ой, похоже произошёл сбой..." на каждом шагу, как в кедах 4.0 или 5.0
Они изобрели Compiz.
Куб стащили у Кед.
Всё ещё [ОТМЕНА] [Ok]?
Не нужен нам такой GomnoToolKit.
Можете привести ISO стандарт на порядок кнопок ок/отмена? Спасибо.
"Возможности 3D-трансформации доведены до уровня, позволяющего создавать такие анимационные эффекты, как вращающийся куб"
Не доводите пожалуйста)))