The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск labwc 0.7.2, композитного сервера для Wayland , opennews (??), 14-Май-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +1 +/
Сообщение от Аноним (86), 14-Май-24, 13:54 
> проект преподносится как попытка создания альтернативы Openbox для Wayland

В wayland'е вообще нет такой концепции как окна, root-окно и т.д. Альтернатива openbox'у тут невозможна by design

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

9. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +1 +/
Сообщение от llolik (ok), 14-Май-24, 14:23 
> В wayland'е вообще нет такой концепции как окна, root-окно и т.д.

В xdg-shell есть, вроде как.

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

13. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +1 +/
Сообщение от cheburnator9000 (ok), 14-Май-24, 14:43 
не, в xdg-shell, xdg_toplevel это расширение над xdg_surface (над wl_surface)

https://wayland.app/protocols/xdg-shell#xdg_toplevel
https://wayland.app/protocols/xdg-shell#xdg_surface

Все окна в wayland это surface (квадрат в котором все рисуется), toplevel (окно в этом квадрате с имитацией рамок от wayland decorator, либо от CSD/GTK4), и popup (все всплывающие виджеты в этом окне и тултипы - информационные подсказки при наведении курсора мыши).

Самого понятия как многооконные приложения в wayland даже через расширения реализованно очень плохо.

Например, в KDE5 прекрасно работают расширения xdg_shell + xdg_activation, можно создать окно (но создать его свернутым на панели задач), затем через значок в трее активировать это окно, все работает под KDE5 как в венде без явных багов.

А вот в KDE6 сломали xdg_activation там тупо в WAYLAND_DEBUG=1 идет error not-granted-666, да и создать окно свернутым на панели для _нового_ окна не получится, оно создается видимое, а если его закрыть, то вот сейчас оно пересоздается свернутое.

Под Gnome Shell xdg_activation работает, в Gnome нет такого понятия как трей (есть через расширения гнома). Зато в гноме нет панели, без Dash to Dock. Создать свернутое на панели задач окно нельзя, все ведет себя ровно как в KDE6.

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

18. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от llolik (ok), 14-Май-24, 15:17 
>  не, в xdg-shell, xdg_toplevel это расширение над xdg_surface (над wl_surface)

И? surface - это одно из понятий базового протокола. В соответствующих расширениях появляются понятия окон, потому что это более высокоуровневая сущность. Как-бы всё логично.

Спасибо за ликбез, конечно, но я в курсе, как это работает.

> А вот в KDE6 сломали xdg_activation.

Ну починят, наверное. Раз у них оно работало. Догадываюсь, что баг где-то ниже по стеку в Qt. KDE не пользуюсь, вообще не в курсе событий.

> Зато в гноме нет панели

Ну как-бы это не точно. Формально, она есть, иначе апплетам было-бы некуда информацию об окнах получать.
Как я понимаю, проблема здесь в том, что действия такие "окно свернуто в панель - мы шёлкаем по трею, чтоб окно развернулось - окно не разворачивается, потому что оно в панели, но если окно закрыть и щёлкнуть по трею заново, то оно откроется". Оно есть такое, потому что окно свёрнуто != окно закрыто и по протоколу, насколько я помню, окна не имеют права выскакивать на передний план сами, если это явно не обозначено событием (короче говоря, нельзя сделать deiconify).

> в Gnome нет такого понятия как трей

Да и трею-то, в общем (если это SNI), пополам чего там в GNOME - это просто интерфейс на DBUS шине.

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

47. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 14-Май-24, 20:38 
Что И? И в том то протоколу дохрена лет, а базовые функции такие как установить кастомную иконку окну https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m... они мусолят по пол года, или боятся принять не верную спецификацию, либо пол года занимаются оргиями и онанируют с XML текста, других обьяснений нет.

Ни одна из DE/WM, _ни одна_, не реализуют спецификации без каких либо ошибок уже на протяжении скольки там минимум пяти лет.

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

57. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от Аноним (-), 14-Май-24, 22:15 
> а базовые функции такие как установить кастомную иконку окну они мусолят по пол года,

А с фигли это базовая функция? Потому что  ̶у̶т̶о̶ч̶к̶а̶ в иксах так было?
Хватит уже тянуть весь мусор из иксов?!
Не просто так сделали вейланд, а не Х12, а именно для того, что бы базовый протокол не был разжиревшей блотварью как иксы. Иконки он менять захотел!

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

60. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от Аноним9000 (?), 15-Май-24, 00:47 
Это базовая функция рабочего стола ПК ещё со времён windows 95, а то возможно было даже в первых версиях macos.

Сейчас все скатывается в эру когда гендернонейтральные полуфабрикаты занимают руководящие должности на западе.

Я тебе лично предлагаю купить авто без педали тормоза, китайцы уже могут, Маск с кибертраком тоже реализовал эту фичу. Педаль тормоза он захотел!

Называйте вещи своими вещами. У них brain illness.

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

69. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +1 +/
Сообщение от Аноним (-), 15-Май-24, 11:36 
> Это базовая функция рабочего стола ПК ещё со времён windows 95, а то возможно было даже в первых версиях macos.

Хм, ну так пользуйся виндой или макосью.
Или используй дистрибутив которые мимикрирует под оффтопики.

Зачем тебе вообще Гном нужен? Есть альтернатива в виде Кедов.
Это как обгадить Mazda RX-7, потому что там движок не как в жигулях (или мустанге) стоял.
Или критиковать субару за оппозитник.

> Я тебе лично предлагаю купить авто без педали тормоза, китайцы уже могут,
> Маск с кибертраком тоже реализовал эту фичу. Педаль тормоза он захотел!

А ты знаешь что стояночный тормоз может быть как педалью, так и ручкой?
Или что переключение передач может быть на руле, на передней панели, или там же где обычно мешалка?
И ничего люди как-то с этим живут, у подходов есть и плюсы и минусы, но главное - у тебя есть выбор.

Так что если вместо педали тормоза мне сделают кнопку пробел или ASDW, то я не сильно расстроюсь. Было бы интересно проверить насколько оно удобно.

> Называйте вещи своими вещами. У них brain illness.

Не, brain illness это как раз у тех, кто хочет сделать все одинаковым и заставить всех ходить строем.
Уже насмотрелись на подобные "режимы", спасибо повторять не хочется.

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

62. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от ilyafedinemail (ok), 15-Май-24, 01:01 
Потому что есть в Windows и macOS как минимум. А как максимум еще в дофига других старых и новых системах, как BeOS/Haiku.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

65. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от soarin (ok), 15-Май-24, 03:10 
>  базовые функции такие как установить кастомную иконку окну
> Ни одна из DE/WM, _ни одна_, не реализуют спецификации без каких либо ошибок уже на протяжении скольки там минимум пяти лет.

а врать зачем? с этим как раз куча ошибок
https://www.virtualbox.org/ticket/18705

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

49. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 14-Май-24, 20:44 
>> окна не имеют права выскакивать на передний план сами, если это явно не обозначено событием

Абсолютно все можно. Gnome Shell как и KDE Plasma реализуют много чего сверх того что есть в Wayland/XDG-Shell для того чтобы пользователи имели доступ на компьютере как рабочему столу, а не к телефону. Например, окно можно создать set_minimized и это прописано в XDG Shell, другое дело что его по их же тексту пользователю нельзя развернуть обратно (???), зато можно сделать hide/show и оно отобразится без какого либо xdg-activation который придумали как раз ради того, чтобы вывести окно на передний план. Более того практическим всем GTK4/Adwaita приложениям насрать что у тебя фокус/ввод в другом окне, они просто нарисуются так как им удобно, поверх, рядом, на заднем плане, это всегда как бог даст от релиза к релизу (например федоры и версий пакетов в ней).

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

50. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 14-Май-24, 20:57 
Вот кстати из последнего высера больных мозгов гномо-девелоперов, под Gnome начиная емнип с 40 версии и по 46 по дефолту есть только кнопка закрыть у окна, две другие можно включить через gnome tweaks.

Если программист, например на Qt6, выставит окну Qt::WindowCloseButtonHint (которая оставит только кнопку закрыть), и если через gnome tweaks вернуть кнопки свернуть и развернуть, то получается следующее, под Wayland Gnome 46 этот код не работает, и отображаются все кнопки, а под Xorg Gnome 46 этот код тоже не работает и отображаются все кнопки, но они НЕ функционируют.

И в этом вся прелесть этих небинарных разработчиков гнома. Они не могут разобраться с кнопками у окна, зачем от них люди хотят и ждут реальный Workstation. Вся надежда на разработчиков Cinnamon, надеюсь у них все получится с Wayland, и получим DE для ПК, а не телефонов.

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

68. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от n00by (ok), 15-Май-24, 11:11 
Что приложение делает, когда его окно свёрнуто? Технически в Wayland сообщение "активировано" имеет неясно какой смысл, если не привязываться к "в другой ОС мы так привыкли": композитор вызывает wl_callback_listener, когда требуется перерисовать поверхность. И отдельно шлёт сообщения от устройств ввода. Можно считать это заодно и сообщением "активировано".
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 15-Май-24, 15:23 
> Что приложение делает, когда его окно свёрнуто?

В нормальном Workstation. Ничего не делает. В многооконном приложении это индикатор открытого, но свернутого окна. В том же MacOS можно сворачивать отдельные окна в dock, они складываются справа от закрепленных значков.

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

https://discourse.gnome.org/t/how-to-see-if-a-window-is-mini...
Но благодаря 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:

Например, под Gnome 46 Wayland создание setMinimized() окна работает правильно, разворачивание их обратно работает правильно, при этом свернутое окно имеет свойство окна 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.

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

73. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 15-Май-24, 15:26 
А потом люди удивляются почему под линукс так мало программ. Потому что разработчикам сложных многооконных приложений приходится связываться вот с таким зоопарком, где "работает/ не работает" у вас можно представить в виде таблицы, где столбцы это Xorg/Wayland, а строки это все крупные DE/WM.

Вот и имеем одни аудиоплееры на GTK4 в формате flatpak.

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

75. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 15-Май-24, 16:09 
По-видимому, это и есть один и результатов удаления x11 специфичного кода из Gnome Shell, по этому созданием minimized window под xorg у них и не работает как надо.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

79. "Выпуск 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 это не интересно?

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

83. "Выпуск 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ообщить модератору

87. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от n00by (ok), 16-Май-24, 16:03 
>> То есть годный композитор 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".

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

89. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 16-Май-24, 20:10 
>> взял бы Vala

Ну нет толком ни поддержки ide, ни нормального дебаггера для него. Из-за корявого транспила в Си. У них там нет желания его развивать, иначе бы давно перешли на базу LLVM и стали полноценным языком. Мне нравится vala потому что как язык оно в сотни раз проще плюсов, но все проблемы из-за дикой привязки к glib и кодогенерации в Си. А из-за отсутствия полноценного дебаггера в коде прекрасно остаются ошибки обращения к null, и уязвимости, вон как в Jabber клиенте Dino было.

Вот как человек сам сделал для nim https://github.com/arnetheduck/nlvm через llvm, и в языке сразу появился отличный человеческий дебаг через gdb/lldb. Жалко что у него реально есть ограничения из-за чего некоторые библиотеки nim не собираются.

https://i.imgur.com/xU9bv55.png БИНГО!

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

90. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от n00by (ok), 17-Май-24, 12:09 
>>> взял бы Vala
> Ну нет толком ни поддержки ide, ни нормального дебаггера для него.
> Из-за корявого транспила в Си.

Ну у каждого свои вкусы, мне Gnome Builder хватило, а тут https://vala.gitbook.io/vala/v/english/techniques/debug в VSCode отлаживают.

У Delphi вроде было толковое IDE, народу нравилось (опять же, «бесплатно»), и где они все ныне? Потому у меня немного иные требования. Как раз транспиляция в Си оказывается плюсом. Если авторы забросят, кто будет поддерживать, мейнтейнеры дистрибутивов? :) Даже если я не разберусь с транслятором Vala, останется возможность что-то менять в сгенерированных исходниках.

> У них там нет желания его развивать,
> иначе бы давно перешли на базу LLVM и стали полноценным языком.

Это дополнительная сложность и расход времени, плюс потенциальные ошибки. Когда смотрел, у них дела были поважнее, довести до ума интерфейсы к D-Bus.

> Мне нравится vala потому что как язык оно в сотни раз
> проще плюсов, но все проблемы из-за дикой привязки к glib и
> кодогенерации в Си. А из-за отсутствия полноценного дебаггера в коде прекрасно
> остаются ошибки обращения к null, и уязвимости, вон как в Jabber
> клиенте Dino было.

Glibc гипотетически можно открутить, но в случае с GTK оно как раз и необходимо.

> Вот как человек сам сделал для nim https://github.com/arnetheduck/nlvm через llvm, и в
> языке сразу появился отличный человеческий дебаг через gdb/lldb. Жалко что у
> него реально есть ограничения из-за чего некоторые библиотеки nim не собираются.

Nim может быть и хорош, но подозрительно похож на Genie, который почему-то никто не использует, в отличие от Vala. Может быть потому что на Vala можно сразу начинать писать, если знаешь Си++, иногда заглядывая в документацию.

> https://i.imgur.com/xU9bv55.png БИНГО!

Полный успех по феншую.)

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

31. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от Аноним (-), 14-Май-24, 18:43 
>В wayland'е вообще нет такой концепции как окна, root-окно и т.д. Альтернатива openbox'у тут невозможна by design

Конфигурационные файлы такие же как и в Openbox. labwc сделан любителями Openbox. Одна из его задачь, помочь пользователям мигрировать из X11 в Wayland. Время X Window завершается.

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

51. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от cheburnator9000 (ok), 14-Май-24, 21:03 
>>В wayland'е вообще нет такой концепции как окна, root-окно и т.д. Альтернатива openbox'у тут невозможна by design
> Конфигурационные файлы такие же как и в Openbox. labwc сделан любителями Openbox.
> Одна из его задачь, помочь пользователям мигрировать из X11 в Wayland.
> Время X Window завершается.

И наступит время нескольких DE, и десятка других WM, которые каждый по своему, полностью, не полностью, со своими багами, либо со своими дополнительным расширениями реализуют Wayland.

https://wayland.app/protocols/ext-idle-notify-v1#compositor-... на вот покури на досуге, поймешь что весь зоопарк будет выглядеть так: (количество DE + WM) ^ (количество wayland extensions) ^ (количество версий пакетов в LTS дистрибутивах) ^ 3, где 3 это вариант из "реализовано, не реализовано, реализовано с багами".

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

55. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  –1 +/
Сообщение от Аноним (-), 14-Май-24, 22:06 
> И наступит время нескольких DE, и десятка других WM, которые каждый по
> своему, полностью, не полностью, со своими багами, либо со своими дополнительным
> расширениями реализуют Wayland.

Будет отличное время!
Сразу отвалятся всякие маргиналы, которые сами ничего не делают.
Зато будет видно кто трудится, а кто пинает...

С другой стороны композитор люди в одну персону делают на годик, так что можно утверждать что благодаря контрукторам типа влрутс пистаь стало гораздо легче.

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

61. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от Аноним9000 (?), 15-Май-24, 00:51 
Не в степени, а в умножении, ну вы поняли смысл.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

48. "Выпуск labwc 0.7.2, композитного сервера для Wayland "  +/
Сообщение от Аноним (48), 14-Май-24, 20:43 
> В wayland'е вообще нет такой концепции как окна, root-окно и т.д.

Это у клиента нет. У композитора всё есть.
Но это не поможет... :(

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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