The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск labwc 0.7.2, композитного сервера для Wayland "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Выпуск labwc 0.7.2, композитного сервера для Wayland " +/
Сообщение от cheburnator9000 (ok), 16-Май-24, 00:07 
> То есть годный композитор Wayland, например, мог бы показывать уменьшенное окно в каком-то аналоге панели задач? Это «протокол» позволяет. И пользователей устроило бы?

Это полное копирование поведения macos? они вряд ли на такое пойдут, потому что на ipad окно минимизируется в иконку, а на macos для десктопа и ноутбуков у них это настраивается https://wccftech.com/how-to/set-windows-to-minimize-into-app.../ Gnome ведь DE для планшетов.

> Это достаточно просто в Wayland. Например, поток декодера каждую секунду уменьшает счётчик и останавливается при 0, а обработчик сообщения «перерисовать сюрфейс» рендера пишет в счётчик 5 (лучше помножить на частоту кадров, но не суть).

Можешь сам запустить WAYLAND_DEBUG=1 firefox/nautilus/что угодно. При сворачивании, происходит то что в старом понимании Qt (до wayland чехарды) такой некий куцый hide() окну, Qt приложение не обновляет окно, в терминале нет никаких новых событий от wayland, firefox тоже не обновляет визуальные изменения окна да, даже при воспроизведении видео в youtube, но декодирование под linux у них не останавливается, возможно на hardware accellerated decoding они умеют останавливать. Но стоит открыть Overview как сразу Gnome Shell начинает грузить процессор сжимая картинку в это маленькое превью окна, возобновляя рендер окна, все видно по выхлопу в терминале.

> И я не улавливаю, что значит «Wayland has no real mechanism to let you throttle your rendering in case a surface is minimised because in most known cases, “minimised” does not really mean “invisible”»

В Qt, в GTK3/4, ну наверное понятно окно строится в не отображенном варианте в памяти, при создании окно всегда visible=false, как только вызывать окну show() либо showMinimized(), то visible=true в обоих случаях, в любом тулките, под Xorg/Wayland одинаково. Если сделать hide(), то окно visible=false и оно пропадает с панели задач, и с Gnome Shell Overview, опять же везде.
Но вся фишка в том, что minimized окна остаются visible=true, они остаются на панели задач, но у них останавливаются события обновления окна, хрен с ним что они есть в этом Overview, это вообще десятое.
Это и нужно для многооконных приложений. Это ровно нужно также например и для VirtualBox (vbox также нужны setWindowIcon для окна, а не на приложение глобально, как и мне они нужны). Троттлить обновления окна должно само приложение/тулкит, для этого тулкиту как раз и нужно знать состояние окна.

Иными словами все из-за планшетности гнома и из-за остутствия классической панели. Ubuntu делает dash-to-dock, не полноценная панель опять же. Не только LXQT, KDE, но и Cninnamon, XFCE (когда напишут поддержку Wayland, годов так через два надеюсь) имеют полноценную панель классического workstation. Единственный дикобраз в этом зоопарке только Gnome, а Wayland строится в интересах RedHat и Gnome.

Сейчас из-за того что Gnome разработчики пошли удалять X11 специфичный код из Gnome Shell, Qt6 лучше работает в Wayland сессии, при условии что активированы расширения трея и панели задач (хотя бы дефолтный window list).

>>> Вроде бы, всё это вписывается в моё предположение, что Qt это не интересно?

Я долго на форуме Qt выклянчить правильно поддержку смены темы light/dark mode под Gnome Shell, особенно под Gnome 45/46. Они отвечают просто -> у нас есть список поддерживаемых платформ https://doc.qt.io/qt-6/supported-platforms.html правильная работа в новых вресиях дистрибутивов не гарантируются.
Более того я им потратил трое суток в разбирательстве что же изменилось в новых Gnome что их код не работает. Оказывается в gnome 45/46 включение dark mode не вызывает установку GTK темы на Adwaita-dark, более того в обновленной Fedora 40 даже нет в системе такой темы как Adwaita-dark, иными словами GTK3 приложения у них всегда light. Более того даже на Gnome 45 там где еще есть Adwaita-dark включение dark mode не меняет значение gtk-theme-name в gsettings с Adwaita на Adwaita-dark, это видно через dconf-editor /org/gnome/desktop/interface.

Прямо сейчас у них не работает код https://github.com/qt/qtbase/blob/dev/src/plugins/platformth... даже в master ветке: первая часть условия if (m_themeName == newThemeName && m_colorScheme == newColorScheme) будет всегда true, так как в системе нет Adwaita-dark, тема GTK не изменилась, изменилась только цветовая схема в GTK4. По правде то весь их код в QGTK3 полное страхолюдие будем честны с собой. Если быть еще честнее их код полное govno.

После того как я потратил три дня на поиск проблемы, именно проблемы в то время как они меня заверяли что все из коробки работает по волшебству, и после того как я злой написал им что нет вы не правы и нифига у вас не работает то получил закономерное "Please write in a polite manner. Bad language is not welcome here." https://forum.qt.io/topic/145065/colorschemechanged-under-gnome/ никакого желания уже давно нет что-либо делать для компаний которые на твоем труде, даже не значительном, но таки зарабатывают деньги.

Очень эпичное продолжение той темы оказывается -> " If you use Qt open source, feel free to submit a patch with sufficient testing against regressions for supported platforms. I’ll gladly review it.", чувак честно пишет, напиши за нас наш код на котором мы зарабатываем деньги, и мы конечно с радостью его проверим, и еще палкой в тебя потычем чтобы именно "ты", (а не мы), написал патч так как "нам" нужно. Вот это сранное отношение меня очень раздражает.

Все я выговорился.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск labwc 0.7.2, композитного сервера для Wayland , opennews, 14-Май-24, 13:20  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру