The OpenNET Project / Index page

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



"Выпуск labwc 0.7.2, композитного сервера для Wayland "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск labwc 0.7.2, композитного сервера для Wayland " +/
Сообщение от n00by (ok), 15-Май-24, 20:32 
>> Что приложение делает, когда его окно свёрнуто?
> В нормальном Workstation. Ничего не делает. В многооконном приложении это индикатор открытого,
> но свернутого окна. В том же MacOS можно сворачивать отдельные окна
> в dock, они складываются справа от закрепленных значков.
> Оно не вызывает рендер перерисовки измененных частей окна. А хранит в памяти
> всего один последний кадр.

То есть годный композитор Wayland, например, мог бы показывать уменьшенное окно в каком-то аналоге панели задач? Это «протокол» позволяет. И пользователей устроило бы?

> По идее должно быть как в венде десяточке+, запустил ютуб, свернул окно,
> видео в браузере еще декодируется секунд 5, но уже не рендерится,
> а через 5 секунд уже и не декодируется, полезно для ноутбуков.

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

В Gnome под X11 не приходит XCB_VISIBILITY_NOTIFY когда надо, там сложности, но в нескольких других WM не обнаружил.

> Если кто хочет то, может это проверить так оно под Gnome Wayland
> или нет и KDE5/6. Под Gnome проверил, свернутое окно продолжает декодировать
> видео, но не рендеринт, снижая нагрузку на систему. Но если открыть
> Gnome Shell Overview Mode (миниатюры окон и рабочих столов), то рендер
> продолжается, видно по WAYLAND_DEBUG=1 firefox.

Свёрнутое рендерит - это проблема «тулкита», либо приложение не учло. Их же переводят с Иксов, где иная архитектура, потому не всегда вписывается. В Overview Mode вроде бы и правильно, что активируется. Но если несколько Рабочих Столов, тогда активируется и в Overview Mode на постороннем столе -- вот это не правильно, полагаю. Я делал вот эту штуку https://opennet.ru/53778-game специально для проверки.

> https://discourse.gnome.org/t/how-to-see-if-a-window-is-mini...

«You cannot handle the frame events directly from GTK»

Честное слово, я сначала написал про проблему выше, а потом прочитал ссылку.

И я не улавливаю, что значит «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”»

То есть я мог бы нарисовать кнопку «свернуть» и обрабатывать нажатие, но чем отличается от «невидимо», не пойму. Если по изначальной логике Wayland приложение само управляет декорациями окна, значит композитор должен мне прислать какие-то новые размеры для «иконки». Та игрушка по ссылке вполне поместит себя в 64 пикселя, разве что музыка продолжит пиликать. Если бы «иконка» помещалась в какую-то Панель Задач, тогда несложно предусмотреть.

> Но благодаря XDG-Shell расширению окну можно сделать minimized https://wayland.app/protocols/xdg-shell#xdg_toplevel:request...
> если через gnome-tweaks вернуть кнопки свернуть/развернуть, то оно работает, казалось
> бы как в венде? как в kde? а вот нихрена, без
> нормальной панели задач, работа с многооконными приложениями в Gnome топорная и
> позорная.
> https://docs.gtk.org/gtk4/property.Window.hide-on-close.html
> https://docs.gtk.org/gtk4/method.Window.minimize.html
>>>>  Технически в Wayland сообщение "активировано" имеет неясно какой смысл, если не привязываться к "в другой ОС мы так привыкли": композитор вызывает wl_callback_listener, когда требуется перерисовать поверхность. И отдельно шлёт сообщения от устройств ввода. Можно считать это заодно и сообщением "активировано".
> Вообще без понятия, зачем оно куда и что.

Оно как раз решает проблему, если обрабатывать самому.

> Я говорю с практической стороны разработки приложений под линукс на Qt6:

Прежде всего, хорошо бы понять один нюанс. Нужно ли это компании и Qt? Когда ей за это не платят? Уверен, это не входит в их цели. GPL там лишь реклама, не более.

>[оверквотинг удален]
> minimized=false, даже если окно развернуть и свернуть, свойство minimized всегда false
> под Gnome Wayland.
> Под Gnome 46 Xorg: создание setMinimized() окна не работает правильно, оно отображается
> открытым, при этом окно имеет свойства minimized=false, но скрытие окна (hide()
> или setAttribute(Qt::WA_DeleteOnClose,false) + close()) и повторное создание setMinimized()
> окна работает правильно, свойство minimized=true.
> Под KDE 6. Я уже честно не помню как работает создание свернутого
> окна, но точно не работает xdg_activation, и под wayland программно развернуть
> созданное свернутое окно нельзя, только руками с панели, оно у них
> месяц назад было сломано под Fedora 40 KDE 6.

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

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

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



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

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