>> То есть годный композитор Wayland, например, мог бы показывать уменьшенное окно в каком-то аналоге панели задач? Это «протокол» позволяет. И пользователей устроило бы?
> Это полное копирование поведения macos? они вряд ли на такое пойдут, потому
> что на ipad окно минимизируется в иконку, а на macos для
> десктопа и ноутбуков у них это настраивается https://wccftech.com/how-to/set-windows-to-minimize-into-app.../
> Gnome ведь DE для планшетов.Это «изучение спроса». Я вижу дельные замечания, а не бестолковый холивар, значит наверняка их кто-то учтёт и реализует. Не обязательно это будет Gnome. Сам не могу ничего обещать раньше времени.
>> Это достаточно просто в Wayland. Например, поток декодера каждую секунду уменьшает счётчик и останавливается при 0, а обработчик сообщения «перерисовать сюрфейс» рендера пишет в счётчик 5 (лучше помножить на частоту кадров, но не суть).
> Можешь сам запустить WAYLAND_DEBUG=1 firefox/nautilus/что угодно. При сворачивании,
> происходит то что в старом понимании Qt (до wayland чехарды) такой
> некий куцый hide() окну, Qt приложение не обновляет окно, в терминале
> нет никаких новых событий от wayland, firefox тоже не обновляет визуальные
> изменения окна да, даже при воспроизведении видео в youtube, но декодирование
> под linux у них не останавливается, возможно на hardware accellerated decoding
> они умеют останавливать. Но стоит открыть Overview как сразу Gnome Shell
> начинает грузить процессор сжимая картинку в это маленькое превью окна, возобновляя
> рендер окна, все видно по выхлопу в терминале.
С воспроизведением видео браузером есть ещё и другой нюанс - если основное окно открыто, но фрейм с видео перекрыт посторонним окном, вроде бы нет смысла садить АКБ? Достаточно воспроизводить звук, и тот под вопросом. Это решалось бы элементарно, если бы под видео была бы отдельная wayland surface со своим обработчиком, но в «традиционных» тулкитах вроде бы никак не решается?
>> И я не улавливаю, что значит «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, это вообще десятое.
Это небось ещё в Зерокс Лабз придумали, когда решали задачу построения граф.интерфейса на 1 Кб ОЗУ. С тех пор логическая ошибка (видимость окна равна видимости его шапки) и тянется. 1 в 1 на Wayland не натягивается, но авторы Qt с GTK ведь не могут просто взять выкинуть свой тулкит и написать почти такой же, но новый? В Wayland механизм есть, не рендерить неотображаемое заложено как принцип. Там не надо читать пиксели из видеопамяти, что бы определить, не перекрыл ли кто моё окно, как я это делал в Windows, пока было можно.
> Это и нужно для многооконных приложений. Это ровно нужно также например и
> для VirtualBox (vbox также нужны setWindowIcon для окна, а не на
> приложение глобально, как и мне они нужны). Троттлить обновления окна должно
> само приложение/тулкит, для этого тулкиту как раз и нужно знать состояние
> окна.
Троттлить пора перевести на русский -- душить -- и понять, что это мазохизм в чистом виде. Wayland предлагает здравый подход - отображать, когда нужно. Но у авторов тулкитов в голове пока переключатель в правильную позицию не щёлкнул, вот они и перекладывают с больной головы на здоровую.
> Иными словами все из-за планшетности гнома и из-за остутствия классической панели. Ubuntu
> делает dash-to-dock, не полноценная панель опять же. Не только LXQT, KDE,
> но и Cninnamon, XFCE (когда напишут поддержку Wayland, годов так через
> два надеюсь) имеют полноценную панель классического workstation. Единственный дикобраз
> в этом зоопарке только Gnome, а Wayland строится в интересах RedHat
> и Gnome.
А классическая панель вообще зачем нужна? Мне она обычно мешала, ничего там толком не помещается, а сама занимает место, особенно когда экраны 16*10 сменили 16*9. Для Гнома есть «иконки в трее» https://gitlab.com/rastersoft/desktop-icons-ng и Super+A (показать все приложения) для открытых окон.
> Сейчас из-за того что Gnome разработчики пошли удалять X11 специфичный код из
> Gnome Shell, Qt6 лучше работает в Wayland сессии, при условии что
> активированы расширения трея и панели задач (хотя бы дефолтный window list).
Может быть, когда лишнее выкинут, допишут что-то полезное. Например, панель задач. Беда в том, что они планы не разглашают, поскольку RH изменениями в коде заодно хочет подвинуть конкурентов. В какой-то мере и Qt им конкурент.
>[оверквотинг удален]
> будем честны с собой. Если быть еще честнее их код полное
> govno.
> После того как я потратил три дня на поиск проблемы, именно проблемы
> в то время как они меня заверяли что все из коробки
> работает по волшебству, и после того как я злой написал им
> что нет вы не правы и нифига у вас не работает
> то получил закономерное "Please write in a polite manner. Bad language
> is not welcome here." https://forum.qt.io/topic/145065/colorschemechanged-under-gnome/
> никакого желания уже давно нет что-либо делать для компаний которые на
> твоем труде, даже не значительном, но таки зарабатывают деньги.
Bloatware раньше был вполне техническим термином. А вообще, вот этим бы ткнуть в нос тех, кто активно здесь продвигает Qt, обещая какую-то «поддержку». Сами то они не в курсе, потому что не пишут.
> Очень эпичное продолжение той темы оказывается -> " 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.", чувак честно
> пишет, напиши за нас наш код на котором мы зарабатываем деньги,
> и мы конечно с радостью его проверим, и еще палкой в
> тебя потычем чтобы именно "ты", (а не мы), написал патч так
> как "нам" нужно. Вот это сранное отношение меня очень раздражает.
Попросить патч он как бы в своём праве - они ведь раздают бесплатно код. А вот «sufficient testing» - печальный звоночек. Одиночка не протестирует должным образом, даже если захочет - когнитивная слепота помешает. Либо он не понимает (вряд ли), либо так отшивает технично. Получается, что они не ищут новых сотрудников, у компании нет планов роста, как минимум.
> Все я выговорился.
Мне с Qt проще, поскольку я когда-то первым делом нарыл в их коде dynamic_cast<>, сверху обёрнутый тремя обёртками. Стало понятно, с каких дремучих времён всё это тянется, и что они непременно примутся рефакторить под новый стандарт плюсов, под эту дудку отшивая пользователей бесплатной версии. Через пару лет анонсировали Qt6. Не знаю, насколько GTK лучше для граф.интерфейсов, но если бы надо было нарисовать такой сейчас для Linux, взял бы Vala, просто потому что GTK предсказуемее - если аттракцион невиданной щедрости и закончится, то одновременно с RedHat, считай с Linux. Да и не надо полдня думать над дилеммой "QVector или std::vector".