LINUX.ORG.RU
ФорумTalks

Wayland и оконные координаты

 , ,


0

6

Привет, ЛОР!

В этом месяце исполняется два года с того момента, как протокол ext-zones для установки программами координат для своих окон был предложен. Спустя два года обсуждение потонуло в тоннах срача (всего 600 комментов, по меркам ЛОРа мелочь), большие небинарытётедяди из Wayland всё ещё выступают против подобного функционала, и всё бы закончилось, но…

Как оказалось, этот протокол уже используется в живую. Авторов всякого софта достало, что небинарытётедяди (я правда не знаю, какого они там все пола) так долго гоняют лы^W^Wпредаются обсуждениям, и поддержка этой фичи была запилена в KWin плагином, этот плагин был опакечен и добавлен в Fedora, поддержка была добавлена в SDL и так далее. Разработчик среды COSMIC также отписался, что они хотят добавить поддержку этого до выпуска версии 1.0.

Теперь стоит реальная проблема, что в протоколе могут таки быть изъяны (лол их там нет, он прост как топор), но их уже не исправить, т.к. никто не стал ждать ещё пять лет и его стали совать в прод как есть.

В общем, ЛОР, тебе потеха, а им наука. Если игнорировать запросы юзеров, юзеры могут забить на тебя болт и сделать всё сами, а тебе потом будет только хуже. Вот такой вот анал-карнавал творится в нашем цирке впопенсорца.

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от s-warus

…пользователь должен решать…

Сначала он должен порешать, потом реализовать, потом фиксить и дебажить проблемы. А для этого ему надо содержать ИТ штат из админов и разработчиков.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

каким ещё конфликтам? приложение, как мы тут выяснили, оказывается может говорить композитору, что куда размещать

kott ★★★★★
()
Ответ на: комментарий от altwazar

прямой недавний пример: arm рабочее место call центра, окна разных программ двигаются-открываются автоматом в удобных отлаженых местах, данные вводятся автоматом, работы сутки, или ты свой вяленый композитор пишеш годы. Прямые денежные временные выгоды.

или отладка gui приложений.

что в wlroot этот функционал пишут вопреки политики партии, и окнами рулить все хотят вопреки.

s-warus ★★★★
()
Ответ на: комментарий от kott

каким ещё конфликтам? приложение, как мы тут выяснили, оказывается может говорить композитору, что куда размещать

И композитор либо ломает логику приложения и размещает как ему вздумается, или размещает как ему скажет приложение.

altwazar ★★★★★
()
Ответ на: комментарий от s-warus

прямой недавний пример: arm рабочее место call центра, окна разных программ двигаются-открываются автоматом в удобных отлаженых местах, данные вводятся автоматом, работы сутки, или ты свой вяленый композитор пишеш годы. Прямые денежные временные выгоды.

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

altwazar ★★★★★
()
Ответ на: комментарий от kott

если ломает, то это не конфликт, а корявый композитор

А других вариантов нет. Либо размещение окон не следует логике композитора, либо не следует логике приложения.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

А другие юзеры ради этого этого будут постоянно страдать от багов

А в некоторых системах никто от этого не страдает. И только вяленые нетакусики хотят страдать.

u-235
()
Ответ на: комментарий от Sunderland93

Линуксоидам невозможно угодить, здесь либо вендорлок, либо - разброд и шатание.

Протокол и его эталонная реализация. Вопрос как всегда в реализации. Очевидно вестон не стал тем эталоном, который устроил бы всех. Да и протокол вышел не особо.

einhander ★★★★★
()
Ответ на: комментарий от u-235

А в некоторых системах никто от этого не страдает.

Во всех страдают, только у DE под линукс нет безграничных ресурсов и армии разработчиков эпла/микрософота для сглаживания углов.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

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

kott ★★★★★
()
Ответ на: комментарий от altwazar

и какая разница, некое приложение размещает или некий композитор - и первое и второе - софт, а юзер уже будет сам дальше наслаждаться/страдать

kott ★★★★★
()
Ответ на: комментарий от kott

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

Я тебе описал суть одной стороны этой проблемы. Расположение окон может либо следовать логике приложения, либо следовать логике композитора. Если полагаться на логику приложения, то не будут нормально работать многие вещи, типа восстановления сессии, изменения конфигурации экрана и вообще всё, о чем разработчик приложения забыл подумать. Если композитор начинает вмешиваться в работу (а ему придется), он будет ломать логику приложения. Из-за чего у пользователя будут баги при использовании подобных приложений в ситуациях, про которые его разработчик не подумал.

и какая разница, некое приложение размещает или некий композитор - и первое и второе - софт, а юзер уже будет сам дальше наслаждаться/страдать

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

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

Во всех страдают

Кто страдает? Где? Единственная проблема в иксах — это когда прога пытается за пределами монитора отрисоваться, но это легко чинится.

только у DE под линукс нет безграничных ресурсов и армии разработчиков эпла/микрософота для сглаживания углов.

Ну всё, можно закапываться. Запускать обычный софт под линуксом — слишком сложно.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от Sunderland93

Ясно, значит ничего не ломали,

Первое что сломали шаринг экрана, + добавили тормоза в играх.

Про шаринг ты сейчас скажешь что виноват софт. Ну ясно понятно.

а ты просто иксофанатик. Идейный

Т.е. использовать рабочее окружение == фанатик. Ок, так и запишем.

ggrn ★★★★★
()
Ответ на: комментарий от altwazar

Если полагаться на логику приложения, то не будут нормально работать многие вещи, типа восстановления сессии

Восстановление сессии в принципе не может работать без специальной поддержки этого в каждом приложении. У каждого окна есть внутреннее состояние, о котором знает только приложение. И это не только положение окна, но и путь до текущего открытого файла, позиция прокрутки, выделение и т.д.. Разумно задачу сохранения сессии доверить приложениям, а не композитору.

X512 ★★★★★
()
Ответ на: комментарий от X512

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

Пока это несколько нишевых приложений, то может. Когда использующие проблемные функции приложения начинают исчисляться в единицах процентов, то подчищать за ними придется разработчикам ДЕ и пользователю сидеть за бажным десктопом.

altwazar ★★★★★
()
Ответ на: комментарий от X512

Я если честно не догоняю, в чём ярость несогласия. Приложение же может опросить WM о доступности указания расположения окон (как и в иксах, NETWM или что там…), если композитор-WM подтверждает - то ок, будем указывать, если нет - штош, юзер - мамкин хацкер с тайловым WM, такие тоже имеют право быть.

kott ★★★★★
()
Ответ на: комментарий от ggrn

Про шаринг ты сейчас скажешь что виноват софт. Ну ясно понятно.

Нет, я скажу что все работает и экран прекрасно шарится. Прикинь? В играх тормозов я тоже не замечал ещё ни разу с 2022 года, как я полностью везде на Wayland перешел. Если хочешь об этом поговорить - я тебе даже тестов могу наделать. Мне свою точку зрения не впадлу отстоять. А тебе?

Sunderland93 ★★★★★
()
Ответ на: комментарий от X512

Восстановление сессии в принципе не может работать без специальной поддержки этого в каждом приложении

Это справедливо только для тех случаев, когда приложение не полагается на какой-нибудь тулкит, как например RetroArch или mpv, где поддержку xx-sesison-management надо руками добавлять (и то это несложно). А так - Qt уже этот протокол поддерживает, например. И кеды с гномом. Так что уже есть рабочее окружение, где большой ряд приложений не будет падать вместе с композитором, и после перезапуска запоминать свое состояние. Плюс такое же канает (но в меньше степени) с xdg-toplevel-tag.

Sunderland93 ★★★★★
()
Последнее исправление: Sunderland93 (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Кто страдает? Где? Единственная проблема в иксах — это когда прога пытается за пределами монитора отрисоваться, но это легко чинится.

В иксах еще восстановление позиции окон лежит на приложениях. Из-за чего можно даже не пытаться из этого получить предсказуемое и управляемое пользователем поведение на уровне ДЕ.

altwazar ★★★★★
()
Ответ на: комментарий от ggrn

Первое что сломали шаринг экрана, + добавили тормоза в играх.

Как бы иксы и игры - плохо совместимые вещи, а вейленд начал набирать популярность во многом из-за геймеров.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

ну, значит не этот протокол
через что тогда yakuake выставляет размеры своего окна? и по-твоему оно этого не должно уметь?

kott ★★★★★
()
Ответ на: комментарий от ptah_alexs

Сделать возможность выбора приоритета в управлении между приложением и вм.

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

altwazar ★★★★★
()
Ответ на: комментарий от kott

через что тогда yakuake выставляет размеры своего окна?

Ни через что. Оно может только послать хинт композитору, вида «псс, парень, выстави мне разрешение такое то и позицию такую-то» и все. А дальше все делает композитор. Так это работает в Wayland. Конкретно Yakuake работает через Qt, то есть за него это все делает Qt. А там я уже хз как он это реализует, думаю банально через xdg-shell. Утверждать не буду ничего, код не смотрел.

Sunderland93 ★★★★★
()
Ответ на: комментарий от altwazar

Как бы иксы и игры - плохо совместимые вещи, а вейленд начал набирать популярность во многом из-за геймеров.

О, это отдельная хохма. Потому что, когда ребят из Valve достал этот цирк и они стали свои протоколы делать, насрав на мнение уважаемых господ с freedesktop, у последних жопу разорвало. Вот сейчас так же будет.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Вот сейчас так же будет.

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

Sunderland93 ★★★★★
()
Ответ на: комментарий от kott

через что тогда yakuake выставляет размеры своего окна? и по-твоему оно этого не должно уметь?

Там есть интерфейс для этого. Суть отличий в том, что приложение через него может запрашивать довольно ограниченные пожелания, а рисовать что угодно и где угодно yakuake не может.

И проблема с протоколами не в каких-то конкретных приложениях, а в том, что разработчики начинают использовать полученные через них возможности не по назначению.

Этот ext-zones разрабатывается для поддержки очень узкого юзкейса, сложных многооконных приложениях, процент которых дай бог как пользователей фрибсд на десктопах. Но этот протокол использовать могут и другие для управления позицией своих окон, а благодаря его наличию еще и забить на удобные для пользователя и разработчиков одобренный DE подход.

altwazar ★★★★★
()
Ответ на: комментарий от hateyoufeel

А проблема-то в чём? Ну кроме повального ОКР в сообществе Wayland.

В том, что DE не может это нормально контролировать и создать для пользователя предсказуемое поведение и восстановление сеанса.

altwazar ★★★★★
()
Ответ на: комментарий от Sunderland93

А теперь посмотри какие протоколы они сделали и для чего они нужны.

Они сделали FIFO, хотя уважаемые Господи 15 лет твердили, что нужно рисовать только в коллбэке и никак иначе. Выяснилось, что нет, не нужно.

Вот ровно та же история.

почему они до сих пор этого не сделали с сабжем, в рамках Gamescope.

Потому что Gamescope не занимается управлением окнами, чувак. Там одна прога за раз внутри запускается.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от altwazar

В том, что DE не может это нормально контролировать и создать для пользователя предсказуемое поведение и восстановление сеанса

Кроме как авторов DE и их терминальный аутизм это кого-то волнует?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Потому что, когда ребят из Valve достал этот цирк и они стали свои протоколы делать, насрав на мнение уважаемых господ с freedesktop, у последних жопу разорвало.

Есть разница между тараканами нескольких чудиков из гнома и какого-то неизвестного маргинального DE и текущим протоколом.

Те было не удобно реализовывать гномерам и он не ложился в концепцию их видения десктопа, а за ext-zones будут расплачиваться пользователи. Тут можно спорить, нужен ли этот протокол, есть ли способ решить проблему лучше и без существенной нагрузки на разработчиков ПО, но его наличие ударит по UX пользователей в долгосрочной перспективе.

altwazar ★★★★★
()
Ответ на: комментарий от hateyoufeel

Потому что Gamescope не занимается управлением окнами, чувак

Во первых - занимается, и ты либо отстал от жизни либо (что более вероятно) не знаешь о чем говоришь, во-вторых - при чем тут тогда ext-zones и с чего ты решил что ради него кто-то будет рвать дупу? fifo-v1 - полезный протокол, решающий реальные проблемы и пользу от него получат все композиторы и пользователи. ext-zones - протокол вопреки, чтобы сломать отточенное годами поведение композиторов ради хотелки парочки маргиналов.

Sunderland93 ★★★★★
()
Ответ на: комментарий от Sunderland93

при чем тут тогда ext-zones и с чего ты решил что ради него кто-то будет рвать дупу?

ext-zones - протокол вопреки, чтобы сломать отточенное годами поведение композиторов ради хотелки парочки маргиналов.

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

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Они сделали FIFO, хотя уважаемые Господи 15 лет твердили, что нужно рисовать только в коллбэке и никак иначе.

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

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

за ext-zones будут расплачиваться пользователи.

Да, у них наконец-то нужный им софт нормально заработает.

есть ли способ решить проблему лучше

За более чем два года его никто не предложил. Значит, его нет.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от altwazar

Но этот протокол использовать могут и другие для управления позицией своих окон, а благодаря его наличию еще и забить на удобные для пользователя и разработчиков одобренный DE подход.

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

troizet
()
Ответ на: комментарий от altwazar

Но этот протокол использовать могут и другие для управления позицией своих окон, а благодаря его наличию еще и забить на удобные для пользователя и разработчиков одобренный DE подход.

Чувак, тут вот прямо сейчас любая программа можно запустить форк-бомбу, каждый экземпляр которой будет создавать окно на весь экран и выводить фотографию @Dimez пользователю. И композиторы с этим ничего не делают. Про координаты думать поздно уже.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Sunderland93

ext-zones - протокол вопреки, чтобы сломать отточенное годами поведение

Эээ… А Wayland разве не тоже самое сделал?

troizet
()
Ответ на: комментарий от hateyoufeel

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

Проблема протокола не в возможности создания пранк-софта, а в неизбежном распространении его использования для незапланированных юзкейсов. А когда такого софта станет ощутимое количество, то вокруг этих юзкейсов придется прыгать разработчикам ДЕ. И объяснять недовольным пользователям, что их проблемы не возможно пофиксить до очередного болезненного перехода в духе X11->Wayland.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

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

Зачем? Раньше никто не прыгал, всё было норм. Предлагаю продолжить эту традицию. Страдальцам с ОКР, которым кровь из носа нужно обязательно железно контролировать положение каждого окна с точностью до пикселя, предлагаю пролечиться у психотерапевта. Или же просто забухать.

Вообще, разрабов DE не должно парить, какой софт запускают пользователи и как этот софт себя ведёт. Это просто не их проблема.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Зачем? Раньше никто не прыгал, всё было норм.

Как бы сам болезненный переход X11->Wayland происходит из-за необходимости сбросить подобные накопившиеся проблемы. Они и в вейленде накопятся, но лучше позже, чем раньше.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

Как бы сам болезненный переход X11->Wayland происходит из-за необходимости сбросить подобные накопившиеся проблемы.

Это не проблемы. Это ожидаемое поведение. То, что для уважаемых господ это является новостью – это только проблема уважаемых господ. Повторюсь, с FIFO точно такая же история была.

Кстати, перцы из гугла недавно добавили возможность ставить окнам координаты аж в ChromeOS, хотя могли этого не делать. Наверное, они что-то знают.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от altwazar

а вейленд начал набирать популярность во многом из-за геймеров.

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

X512 ★★★★★
()
Ответ на: комментарий от hateyoufeel

Вообще, разрабов DE не должно парить, какой софт запускают пользователи и как этот софт себя ведёт.

Пользователей парит, как ведет себя их рабочее окружение. За него отвечают разработчики DE. Чтобы окружение работало как этого желает пользователь, разработчики DE обязаны диктовать правила взаимодействия разработчикам прикладного софта. Если этого не делать, то страдает пользователь.

altwazar ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)