LINUX.ORG.RU

Red Hat откажется от разработки X.org в ближайшем будущем

 , , ,


1

3

Глава подразделения Desktop компании Red Hat Кристиан Шаллер (Christian Schaller) раскрыл в своем блоге планы команды по разработке Wayland и полному прекращению разработки X Window System (X, X11):

Christian Schaller:

«Как только мы закончим с этим (полный отказ от необходимости в XWayland прим. автора), мы планируем довольно быстро перевести X.org в режим „повышенной поддержки“. Реальность такова, что X.org в основном поддерживается нами и, таким образом, если мы перестаем тратить на него время, навряд ли будут выпущены новые „мажорные“ релизы и даже, возможно, со временем все придет в упадок. Мы будем следить за этим, поскольку мы хотим быть уверены, что X.org остается с поддержкой до конца жизненного цикла RHEL8, как минимум и пусть это будет дружеским пожеланием всем, кто полагается на нашу работу по поддержке графического стэка Linux: переходите на Wayland, это будущее.»

С учетом того, что стандартный цикл поддержки Red Hat минимум 10 лет (больше за дополнительную плату), следовательно X.org будет получать обновления от компании все это время.

Еще интересного в статье:

  • основная цель полностью убрать зависимость от X, так, чтобы окружение Gnome работало без XWayland (работа почти завершена) Это произойдет в ближайшем или в следующем за ним мажорном релизе Gnome (3.34 или 3.36)
  • XWayland server будет запускаться по-необходимости и выключаться по завершении программы, которая в нем нуждалась
  • идет работа по запуску графических приложений в XWayland от root
  • идет работа над улучшением поддержки библиотеки SDL в Wayland касаемо масштабирования экрана для игр с низким разрешением
  • наконец завершена поддержка аппаратного ускорения при работе с проприетарным драйвером от Nvidia для XWayland (ускорение работало только с Wayland) «осталось дождаться одобрения от Nvidia»

>>> Подробности

★★

Проверено: jollheef ()

Ответ на: комментарий от anonymous

Тьфу, они перестанут работать только в приложении, которое работатет с конфиденциальными данными.

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

можно найти разумный компромисс.

Это какое-то новое определение слова «разумный». Разумное решение заключается не в латании дыр в протухшей технологии 80х годов, которая изначально для решения данных задач не проектировалась, а в принципиальном решении проблемы. Не должно быть возможности слушать ввод в другом приложении. Никогда.

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

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

Ага, все вокруг тебя дурачки, один ты д'Артаньян. Тебя не смущает присутствие этой возможности во всех существующих оконных системах? (Знаю, что не смущает, раз в вяленом этого нет — значит не нужно, угу.)

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

Тебя не смущает присутствие этой возможности во всех существующих оконных системах?

Во всех, разработанных в 80х-90х? ЛОЛ. Онанимус, если бы у тебя были мозги, ты бы не смотрел на то, что где есть, а попытался бы работать с общими принципами. Общий принцип современных OS - изоляция. И если где-то принцип изоляции нарушается, то это необязательно намеренное решение, возможно просто недоработка или легаси. Важным показателем тут была бы способность сформулировать нахрена это вообще надо? Никто из вас ничего вменяемого пока не предложил

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

xeyes же следят за пользователем. А вроде как слежка не одобряется в сообществе. Но видимо вера в Дряхлые сильна, что даже на слежку готовы закрывать глаза.

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

О ужас, ужас, о великий ужас!(C) Надеюсь эти мечты идиота никогда не осуществятся.

Конечно, до этого дело не дойдёт. Просто Xorg выкинут из реп, как выкинули из этого вашего Дебиана Qt4, как отовсюду выкидывают Питон 2, как везде перешли на systemd, и так далее. Останутся 3.5 саахрикту, которые в своей ЛФС будут конпелять иксы врукопашную.

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

Менять иксы конечно надо, но Wayland это просто пздц. Те же траблы, только еще и совместимость убили…

Ничего, с релизом Debian его пользователи становятся, сами того не зная, Wayland-бета-тестерам. Посмотрим как у них получиться решить наши проблемы. Ах-ха-ха.

kostyarin_ ()
Ответ на: комментарий от VarfolomeyKote4ka

Только при выборе gnome, и то это переключается двумя кликами при логине еще.

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

kostyarin_ ()
Ответ на: комментарий от VarfolomeyKote4ka

Че за ход то, Ubuntu пробовала Wayland, Fedora уже перевелась. Я о переходе Debian 10 на Wayland еще неск месяцев назад узнал.

Ну так Wayland – сырое говно. А Debian позиционируется как дистр с высокой стабильностью. Вот и весь ход. На Бубунте что угодно может отвалиться и это нормально. Потому что она Сид.

kostyarin_ ()
Ответ на: комментарий от abbcto

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

Это vendor lock in. Задача ­— сделать весь мир заложниками их технологий: не важно какой у тебя дистрибутив, если его основу составляют технологии redhat: pulse, gnome, systemd, wayland, virt-manager...

Так они ещё глубже закапывают линукс, но это их не волнует. Главное, что они находятся в самом верху этой ямы, и контролируют все ключевые технологии.

anonymous ()
Ответ на: комментарий от VarfolomeyKote4ka

Удалены многие устаревшие и оставшиеся без сопровождения пакеты, включая Qt 4

В Debian 11 будет прекращена поддержка Python 2

https://www.opennet.ru/opennews/art.shtml?num=51041
Вот прямо по горячим новостям.
Сорян, сам не проверял, давно не пользуюсь Дебом.

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

Менять иксы конечно надо, но Wayland это просто пздц. Те же траблы, только еще и совместимость убили...

Какие траблы, которые тебя беспокоят в иксах, остались нерешенными в Wayland?

Какую ещё совместимость убили? Про XWayland читал? Убили разве что совместимость с 3.5 старыми скриншотерами, завязанными на API иксов. У меня все приложения на GTK2 работают через XWayland, а так же ФФ и Рипер, не считая уже приложений под Wine. Всё бесшовно.

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

Какие траблы, которые тебя беспокоят в иксах, остались нерешенными в Wayland?

Трабл в иксах у меня и не было.

Какую ещё совместимость убили?

Со старыми приложениями. Скриншотилки, программы для видео-записи, desktop-sharing, виджеты, wm, панели всякие. Функционал еще нужный убрался, но думаю появится.

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

Скриншотилки, программы для видео-записи, desktop-sharing

Это да, этот класс программ пострадал в первую очередь. Но ничего, уже написали аналоги, и ещё напишут, это не самые сложные для реализации вещи.

wm, панели всякие

Любителям wm не впервой, они вообще мимо прогресса живут уже лет 20.

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

Любителям wm не впервой, они вообще мимо прогресса живут уже лет 20.

Тут я думаю про Xfwm4, это же столько работы им теперь впереди!

ещё напишут

Когда напишут, тогда и станет чем то годным, но сейчас хз даже.

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

Тут я думаю про Xfwm4, это же столько работы им теперь впереди!

Да, крыску жалко, но им же не прямо завтра надо всё сделать, аврал, дедлайн!!1 На ГТК3 они тоже лет 7 переходили.

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

Просто Xorg выкинут из реп, как выкинули из этого вашего Дебиана Qt4, как отовсюду выкидывают Питон 2...

Что-то там про Нью-Васюки, хе-хе-хе... Ну разве не может не восхитить эта чистая детская наивность Свидетелей Вейланда.

Ждать этого счастья когда, скоро ли наступит это скоро?

anonymous ()
Ответ на: комментарий от khrundel

Вялый не может, в нём ничего этого нету. Вообще нет скринкаста. Может дисплейсервер и может как захочет. Может просто взять и реализовать [...]

Таков wayland by design. В протоколе этого нет, не будет, и не надо... Хочешь фичу — накостыляй сам.

И эти люди рассказывают нам про костыли в иксах.

PS: «дисплейсервер»? Вроде раньше в вейланде это называлось «композитор», не?

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

Таков wayland by design. В протоколе этого нет, не будет, и не надо...

Вас, старьёвщиков, хрен поймёшь. Выходит сустемд, интегрирующий в систему инициализации разное - «караул, вся OS в одном демоне, он отнял работу у 50 шеллскриптов, доколе». Заменяют разжиревший x11 на узкоспециализированный протокол, который только управляет окнами, а всякий посторонний функционал типа захвата десктопа предлагает решать другими протоколами - «караул, нас обманули, добавьте в вяленд всё что было в X11».

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

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

anonymous ()
Ответ на: комментарий от khrundel

Нет совершенно ни одной причины чем вариант «эй ты, дисплейсервер, нарисуй-ка мне красивый заголовок» лучше чем «эй ты, libsimplewindow.so.2.1.4, нарисуй-ка мне красивый заголовок».

Проблема в другом — кто владеет информацией, нужной для реализации декораций?

Есть принципиальное отличие между кнопкой и заголовком/декорацией окна — обработчик событий. События кнопки обрабатывает приложение. А события декорации ­— wayland-server.

Правый клик по заголовку показывает меню, которое знает только wayland-server.

Перетаскивание за заголовок должно перетаскивать всё окно. Куда? На другой рабочий стол? Или оно должно приклеиваться к соседним окнам — об этом тоже знает только wayland-server.

У заголовка есть иконка и текст, которые должны отражаться в таскбаре, про который знает только wayland-server.

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

Итого, хочешь или нет, но в сервере в любом случае будет обработка всех событий декоратора. Вопрос: нафига тогда их в клиенте дублировать?

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

А ещё его может быть надо нарисовать частично. У маленького окна могут быть красивые округлые заголовки с тенями, но при разворачивании на весь экран эти тени и округлости должны убираться. Когда именно это надо делать тоже знает только wayland-server.

Тени, кстати, для красоты может быть нужно прятать, например, чтобы они отбрасывались на десктоп, но не на окна того же приложения. Сделать это тоже можно только в wayland-сервере.

И не важно, будет это libsimplewindow.so или прямая запись бинарного сообщения в wayland-сокет. Но нужная информация есть только у wayland-сервера, и реализовать это можно только с его помощью.

anonymous ()
Ответ на: комментарий от khrundel

Вас, старьёвщиков, хрен поймёшь. [...] «добавьте в вяленд всё что было в X11»

Всё очень просто. Это нужно, и это работает в X11. Что удивительного, когда того же просят в wayland?

Именно это wayland-овцы критикуют, мол, в X11 слишком много всего, слишком много костылей, а в ответ на любой вопрос вида «как сделать ZZZ» отвечают — пилите свой костыль. Самопротиворечивненько... Зачем тогда нужен wayland? Чем его костыли лучше костылей X11?

Заменяют разжиревший x11 на узкоспециализированный протокол

А x11 никогда не был разжиревшим. Вроде, wayland со всеми его расширениями уже даже жирнее X11, хотя по фичам и не догоняет.

на узкоспециализированный протокол, который только управляет окнами, а всякий посторонний функционал типа захвата десктопа предлагает решать другими протоколами

Не, неправда. Всё ровно наоборот. Wayland предлагает заменить раздельные сущности WM, window decorator, x-server, taskbar, systray, desktop manager, clipboard manager и многое-многое другое в одну единую сущность «wayland compositor», которая должна сама придумать, как все эти компоненты реализовать и как они должны взаимодействовать друг с другом.

То есть, вместо общего механизма и готовых стандартов для всех, нам выдают недоделанный кусок протокола client-server, «а остальное вы уж как-нибудь накостыляйте сами».

И когда на вот такое заявляют, что это будущее, понимаешь, что линуксу осталось не долго...

PS: Кстати, да, у wayland и systemd есть общая причина для хейтов — и тот и другой ломает старое, и отнимает чужое время на починку и дописывание, не давая ничего нового взамен. Это — переписывание ради переписывания. Из-за которого в итоге страдают абсолютно все.

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

Проблема в другом — кто владеет информацией, нужной для реализации декораций?

Дык эта... само приложение, разве нет?

Есть принципиальное отличие между кнопкой и заголовком/декорацией окна — обработчик событий.

Вы осознаёте, что сейчас не 2008 год, а 2019, когда вейланд уже в рабочем состоянии и события обрабатываются? Всё реализовано. См. xdg_shell. Пользователь нажал на кнопку минимизации - серверу отправили set_minimized. Пользователь зажал кнопку мыши на заголовке - серверу отправили move(мышой). В результате можно двигать окном за любую область, которую автор программы нашёл подходящей, при этом сам мув, естественно, обрабатывается сервером, окно в вяленде не может узнать или установить свою позицию. Про контекстное меню не знаю, но теоретически также приложение могло бы посылать «нажато контекстное меню», это даже проще чем перемещение окна.

У заголовка есть иконка и текст, которые должны отражаться в таскбаре, про который знает только wayland-server.

Текст заголовка окна приложение знает, оно само его сообщает. Так всегда было. Иконки, естественно, нет. Какая, нафиг, иконка, зачем она? Впрочем, если сильно надо, приложение может нарисовать свою иконку. Не фигню 16*16 пикселов, а нормальный логотип, залазящий на рабочую область. Приложение иконку, естественно, знает. Если, конечно, ДЕ не придумало иконки программ самовольно заменять. Если придумало - само себе злобное буратино.

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

Вот не надо так делать.

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

А ещё его может быть надо нарисовать частично. У маленького окна могут быть красивые округлые заголовки с тенями, но при разворачивании на весь экран эти тени и округлости должны убираться. Когда именно это надо делать тоже знает только wayland-server.

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

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

Всё очень просто. Это нужно, и это работает в X11. Что удивительного, когда того же просят в wayland?

«В нашей деревне старый фельдшер завсегда ещё и самогонкой приторговывал, а чего это ты, врачиха, заместо него приехала, а бухла у тебя нет?» Может это, в сельпо за бухлом, а врачиха пусть лечит? Я, вообще, не против, пусть она тоже приторговывает, если хочет, пусть повесит вывеску «Медпункт + пивная». Не нужно торговлю самогоном в должностные обязанности медперсонала добавлять.

Именно это wayland-овцы критикуют, мол, в X11 слишком много всего, слишком много костылей, а в ответ на любой вопрос вида «как сделать ZZZ» отвечают — пилите свой костыль. Самопротиворечивненько... Зачем тогда нужен wayland? Чем его костыли лучше костылей X11?

Хороший такой аргумент, основанный на использовании одного слова для обозначения разных сущностей. Но можно и лучше «в x11 много херни, а в ответ на вопрос „пилите свою херню“». Смысл тот же.

А x11 никогда не был разжиревшим. Вроде, wayland со всеми его расширениями уже даже жирнее X11, хотя по фичам и не догоняет.

ага, «вроде».

Не, неправда. Всё ровно наоборот. Wayland предлагает заменить раздельные сущности WM, window decorator, x-server, taskbar, systray, desktop manager, clipboard manager и многое-многое другое в одну единую сущность «wayland compositor», которая должна сама придумать, как все эти компоненты реализовать и как они должны взаимодействовать друг с другом.

Нет, не так. Wayland - это протокол, по которому приложение постучится в окошко и скажет, чего ему надо. А что там за окошком - не его, приложения дело, может там сидит один жирный композитор, который сам всё могёт, может там сидят 100 разных компонентов, а композитор только ими дирижирует. В итоге и приложение не должно запариваться внутренней кухней, и композитор свободен во внутренней организации.

То есть, вместо общего механизма и готовых стандартов для всех, нам выдают недоделанный кусок протокола client-server, «а остальное вы уж как-нибудь накостыляйте сами».

Мне вот интересно, что должно быть у человека в голове, чтоб считать «общий протокол» хорошей идеей? Вот у тебя работа какая-нибудь есть? Наверняка там есть какие-нибудь клиенты там, заказчики, с которыми работодатель заключает договоры? Ты хотел бы, чтоб твой график, когда тебе ходить поссать был регламентирован договорами с заказчиками? В общем, садись, дурачок, двойка тебе.

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

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

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

Ты всё никак не угомонишься, троллопед?

ну-ну, не плачь

Тебе уже сказали не раз, что Wayland выходит по сырца больше чем X?

facepalm. Как протокол может выходить по сырцам? Добавление к поддержке x11 поддержки вейланда увеличивает сырцы? Ну да, кто бы мог подумать.

Ты ведь в курсе, что функционал просто перетекает в кривые руки тулкитчиков, нет?

Нет, функционал давно и так в тулкитах.

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

Феерический дебил. Как встроенная в дисплейсервер виртуальная клавиатура (расширение для сторонних виртуальных клав есть только в композиторе для телефонов) будет что-то воровать?

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

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

Давай, начинай про то что я - дурень и не настроил права доступа.

Или так, или у тебя сломанные иксы. Может, тебе их взломал вейланд? ;) В реальных иксах по дефолту это не работает:

$ sudo -u dumbuser ./xkbcat 
No protocol specified
Cannot open X display: :0

При запуске от своего юзера работает. И ДОЛЖНО РАБОТАТЬ.

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

Есть миллион программ, которым нужен перехват клавиатуры/мыши/экрана. Это могло быть предсказание языка (xneur), или какой-нибудь индикатор скорости набора текста. Клавиши могли перехватываться прогой screenkey для записи скринкаста, которому, кстати, нужен перехват экрана. Тот же перехват экрана, кроме скриншотилок, нужен и для стриминга (см. OBS), и всяким тимвьюверам, и чтобы расшарить десктоп для презентации по skype/hangouts... Эта фича — ПОЛЕЗНА. И полезна нормальным юзерам.

С другой стороны от этой фичи НЕТ ВРЕДА, ведь примерно НОЛЬ вирусов воруют пароли через кейлоггер или кредитки через скриншоты. Выискивать пароль неизвестно к чему среди километров набранного текста — это тупо. И тем более никто не распознаёт скриншоты в поисках номера кредитки. Юзеру просто поставят в браузер аддон, который перехватит и логин, и пароль, и кредитку, и сайт, без перебора.

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

Опасность вирусов-кейлоггеров — это миф, который выдумали вейландовцы, чтобы как-то оправдать отсутствие ценной фичи. Лет через 5 фича появится, и про этот миф забудут.

anonymous ()
Ответ на: комментарий от khrundel

ну-ну, не плачь

Чего бы мне это не плакать — я луку пожрал. Хочу и плачу, не твоё дело.

Как протокол может выходить по сырцам?

См. слово «реализация» в словаре.

Нет, функционал давно и так в тулкитах.

Нет. Тулкиты используют функционал Иксов на все 100%. У тебя в часах-кукушке рядом с вялым может и не так. А вообще так.

Феерический дебил. Как встроенная в дисплейсервер виртуальная клавиатура (расширение для сторонних виртуальных клав есть только в композиторе для телефонов) будет что-то воровать?

Встроенный он если только в твоё вообржение. Любая левая софтина и имеет доступ к контексту и вводу.

Да, пароли/скриншоты могут утащить через вейланд.

В вялом нету безопасности. Это просто тупая поделка. Я об этом и говорю и не повторяй за мной как попугай. Просто кивай и этого достаточно.

anonymous ()
Ответ на: комментарий от khrundel

Дык эта... само приложение, разве нет?

Нет. Приложение этой информацией не владеет. Оно может только запросить её у композитора, если тот поддерживает нужные расширения.

Вы осознаёте, что сейчас не 2008 год, а 2019, когда вейланд уже в рабочем состоянии и события обрабатываются? См. xdg_shell.

Конечно, и на запил этой фичи ушло 8 лет. Но выше по треду был вопрос «почему заголовок должен рисовать дисплейсервер, а кнопки и комбобоксы - нет?» И это был на него ответ. Потому что события комбобокса может обработать только приложение, а события заголовка — только дисплейсервер композитор.

Приложение их может обработать только если композитор передаст ему для этого все нужные данные. Точнее, нет, обработает их всё равно композитор, но сделает двойной кувырок: передаст данные приложению, а приложение обратно попросит композитора обработать событие. Ну и ради чего? Почему было сразу не сделать SSD, с возможностью для редких клиентов отключить серверный заголовок?

Иконки, естественно, нет. Какая, нафиг, иконка, зачем она?

Как это зачем? Вы давно видели современные ОС? Там одни иконки. Текст — это довесок, который может даже не отображаться.

Но не волнуйтесь, это она сейчас вам не нужна. Через пару лет в wayland-е появится возможность сообщить иконку, и вы сразу узнаете, как это было нужно (собственно, KDE же это как-то делает).

Приложение иконку, естественно, знает.

Именно! Приложение её знает. А рисовать её надо на таскбаре, про который приложение не знает.

Пользователь нажал на кнопку минимизации - серверу отправили set_minimized.
Пользователь зажал кнопку мыши на заголовке - серверу отправили move(мышой).
есть эвент configure, который сервер посылает окну и там, среди прочего, сообщается состояние максимизации.

Но если в сервере в любом случае есть вся логика работы с декорациями. Так зачем требовать её обязательное дублирование во всех клиентах? Ради чего? Где плюсы?

CSD позволяет приложению использовать эту область вменяемо.

Но не позволяет интегрировать приложение в DE, не позволяет экономить ценное вертикальное пространство на ноутбуках. Тогда... в чём состоит вменяемость?

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

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

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

anonymous ()
Ответ на: комментарий от abbcto

На х11 никто никогда проекты и не пилил, пилили на тулкитах.

Верно, пилили на тулкитах. И для этого пилили свои тулкиты. Начиная от Xt, Tk, и заканчивая fltk, glfw, sfml и кучей мелких наколенных тулкитов...

Но это было раньше. Сейчас под линуксы ничего не пилят, потому что x11 «устарел», а вейланд не стабилен. Да и под вейланд наколенный тулкит хрен запилишь.

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

Или так, или у тебя сломанные иксы. Может, тебе их взломал вейланд? ;) В реальных иксах по дефолту это не работает:

LOL. И как эта программа, которая, возможно, троян, а возможно и нет, теперь мне окошко своё покажет?

Есть миллион программ, которым нужен перехват клавиатуры/мыши/экрана. Это могло быть предсказание языка (xneur), или какой-нибудь индикатор скорости набора текста.

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

Клавиши могли перехватываться прогой screenkey для записи скринкаста, которому, кстати, нужен перехват экрана. Тот же перехват экрана, кроме скриншотилок, нужен и для стриминга (см. OBS), и всяким тимвьюверам, и чтобы расшарить десктоп для презентации по skype/hangouts...

для этой цели существуют специализированные решения, которые используют другой протокол. Внезапно: не каждой программе, которой позволено создать окно следует позволять скринкаст.

С другой стороны от этой фичи НЕТ ВРЕДА, ведь примерно НОЛЬ вирусов воруют пароли через кейлоггер или кредитки через скриншоты. Выискивать пароль неизвестно к чему среди километров набранного текста — это тупо. И тем более никто не распознаёт скриншоты в поисках номера кредитки. Юзеру просто поставят в браузер аддон, который перехватит и логин, и пароль, и кредитку, и сайт, без перебора.

И как он это сделает, работая из песочницы?

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

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

Нет. Приложение этой информацией не владеет. Оно может только запросить её у композитора, если тот поддерживает нужные расширения.

Приложение не знает текст заголовка своего окна?

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

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

Так что, причин рисовать комбобокс на сервере в реальности больше чем причин рисовать там заголовки.

Точнее, нет, обработает их всё равно композитор, но сделает двойной кувырок: передаст данные приложению, а приложение обратно попросит композитора обработать событие. Ну и ради чего? Почему было сразу не сделать SSD, с возможностью для редких клиентов отключить серверный заголовок?

А если подумать? Вы собираетесь CSD в принципе разрешать? Если ответ «да», то двойной кувырок становится необходимым, а SSD - дополнительным довеском, который повторяет ту же функцию и который приходится как-то поддерживать.

Но если в сервере в любом случае есть вся логика работы с декорациями. Так зачем требовать её обязательное дублирование во всех клиентах? Ради чего? Где плюсы?

Нет там никакого дублирования. Сервер двигает окна, а клиент просто сообщает «движение началось». Ни одной строчки дублирования. Вот в случае SSD - да, дублирование, либо 2 раза реализовывать для CSD и для SSD, либо SSD делать через прослойку, эмулирующую поведение CSD.

Как это зачем? Вы давно видели современные ОС? Там одни иконки. Текст — это довесок, который может даже не отображаться.

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

Но не позволяет интегрировать приложение в DE

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

е позволяет экономить ценное вертикальное пространство на ноутбуках. Тогда... в чём состоит вменяемость?

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

Кстати, емнип, это сделано криво даже в гноме. Там при разворачивании на пол экрана тени не убираются и торчат из-за угла на соседнем рабочем столе.

Да и хрен с ней, пусть торчит. Я вот даже не замечал такого, хотя на двух мониторах в гнуме сижу.

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

В реальных иксах по дефолту это не работает:

LOL.

Правда оказалась до смешного проста.

И как эта программа, которая, возможно, троян, а возможно и нет, теперь мне окошко своё покажет?

Я обычно просто разрешаю доступ. Хороший параноик запустит в отдельной иксовой сессии, такая фича обычно есть из коробки в виде «switch user».

второй уже может соревноваться по бесполезности с xeyes

Мне когда-то пригодилось — интересно было узнать с какой скоростью я набираю реальный текст, а с какой — пароль на рефлексе...

А мы снова перешли на аргументы «я обхожусь, значит и другим не надо»? Это глупый аргумент. Ведь без всего можно обойтись. Можно обойтись без компа и телефона. Без квартиры. Можно жить голым в пещере и охотиться с палкой на диких животных. Некоторые так делают. Но это не значит, что так надо делать всем.

Внезапно: не каждой программе, которой позволено создать окно следует позволять скринкаст.

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

С другой стороны — зачем запрещать программам делать скринкаст?

И как он это сделает, работая из песочницы?

Э? Что? Браузерный аддон имеет доступ к странице, может её менять, записывать и считывать поля, в том числе логины и кредитки. Причём тут песочница? Он в той же песочнице.

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

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

И безопасность тут не причём — не от чего защищаться. Это не причина, просто дурацкое оправдание, чтобы не делать нужную фичу.

Вот ты можешь объяснить, почему все противники вялого поголовно идиоты?

Наверное, по той же причине, что и все сторонники.

anonymous ()
Ответ на: комментарий от khrundel

Приложение не знает текст заголовка своего окна?

Знает, но нарисовать на таскбаре не может.

Как так может обработать приложение? А кто будет красивые эффекты при наведении мыши рисовать, чтоб было как в теме?

Тот, кто управляет темой. Для декораций это должен быть не клиент, а декоратор, конечно же. 🙂

Тем не менее, отрисовать правильно комбобокс приложение не может, к сожалению. У комбобокса есть попап, который может выскакивать вверх или вниз, иногда он шире...

А иногда он больше размеров экрана и его нужно скроллить. Да, есть много мелочей. Но информацией о размере, содержимом, и событиях владеет клиент. Потому рисовать и обрабатывать его должен он, а не сервер. Сервер просто не знает где и как его показать, особенно если он не влазит. Может его надо сжать и сдвинуть? А может так и задумано, и он должен занимать два экрана?

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

В иксах гарантирует — там приложение знает своё положение, и само решает, как сместить/сжать/поскроллить попап, чтобы он влез в экран.

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

А если подумать? Вы собираетесь CSD в принципе разрешать? Если ответ «да», то двойной кувырок становится необходимым, а SSD - дополнительным довеском

Для SSD двойной кувырок не обязателен. Остаются обычные события мыши. И только редкие клиенты с CSD могут, если захотят, попросить сервер обработать определённые клики как события декорации.

Почувствуйте разницу: в CSD-мире вейланда все вынуждены реализовать декорации; в SSD-мире иксов декорации реализуют только те, кому это действительно нужно.

Так зачем требовать её обязательное дублирование во всех клиентах?

Нет там никакого дублирования. Сервер двигает окна, а клиент просто сообщает «движение началось».

И _каждый_ клиент _обязан_ сказать серверу, когда началось движение, когда ресайз, и какой ресайз (для левого верхнего угла это ресайз с движением). В каждом клиенте дублируется логика декораций. Ради чего? Почему сервер сам не может нарисовать и обработать декорации? Абсолютному большинству клиентов этого хватит.

Вот в случае SSD - да, дублирование, либо 2 раза реализовывать для CSD и для SSD, либо SSD делать через прослойку, эмулирующую поведение CSD.

В случае SSD всё делает сервер. Сам. В одном месте. Без прослоек. Клиент может и не знать, что его окно перетащили. Он может дублировать себе эту логику, если хочет что-то особенное, но не обязан это делать.

В заголовке вообще незачем, там нормальная иконка не влезет.

А, да, это дело вкуса. У меня в заголовках тоже иконок нет — там индикатор языка.

Есть такая прога xxkb — запоминает и показывает язык каждого окна. Позволяет в браузере набирать на русском, а в терминале на английском не переключая раскладку. Удобно. 🙂

Если дурацкое DE втихую отрежет у окна заголовок, а в этом заголовке тулбар и меню...

Э... стоп. Если у окна SSD, то DE точно знает что в нём, ведь оно само его рисовало, и может его спокойно отрезать, интегрировать в таскбар, или делать что угодно. Именно в этом плюс SSD — можно экономить место, и это сработает для _всех_ SSD-приложений.

Если же у окна CSD, то DE ничего отрезать не может — оно не знает что резать, потому ничего не сэкономит. Сэкономить может только само приложение, если как-то поймёт, что ему пора это сделать. И это будет работать только для редких избранных приложений, которые вручную реализуют такой хак.

Да и хрен с ней, пусть торчит. Я вот даже не замечал такого, хотя на двух мониторах в гнуме сижу.

А, нет, я и не спорю. Это мелкий баг. Вейланд ещё молод и может себе позволить такие мелочи.

anonymous ()
Ответ на: комментарий от alpha

Wayland - это по сути попытка вернуть жизнь(и сообщество) в графическую подсистему в целом.

Ну, изначально wayland — это попытка получить мелкий урезанный графический сервер для мобилок и планшетов, альтернатива андроидному surfaceflinger-у, к которому также можно прикручивать закрытые блобы дров. А уже потом из него раздули «сервер будущего».

Но даже пусть это попытка вернуть жизнь — это была бы отличная попытка, если бы она не делалась ценой очернения иксов.

Ни у кого бы не было претензий, если бы вейландофилы говорили: «мы тут сочинили перспективную идею, оно иногда глючит, но более-менее юзабельно, можете ставить, если вам нравится». Пусть бы каждый выбирал, что ему ставить. И жили бы себе иксы с вейландом рядом, как живут рядом Gnome и KDE.

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

А ещё они врут. Не знаю, умышленно, или от невежества, но врут почти всегда. Самая популярная ложь — про «разжиревшие иксы». Для справки, «жирные» иксы помещались в 50 мегабайт Damn Small Linux-а вместе с рабочим столом, оконным менеджером, терминалом, vnc/rdesktop-ом, паинтом, xmms-ом, почтовым клиентом, firefox-ом(!), и ещё пачкой программ.

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

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

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

«Иксы устарели» Ой, ужс, X11 появился даже не 5 лет назад! Он старше всех местных вялых школьников и хипстерков! Поттер, помоги!

«Иксы разжирели» Да плевать, что они намного меньше нагружают проц, чем вялые вестоны, а отдельные реализации еще и смешное количество ОЗУ потребляют (буквально пару Мб). Разжирел — и все тут. Хм, ну вот код! Это... архитектура, во! Долой ненужный (мне и моим одноклассникам) функционал и легаси-код!

«В иксах неизбежный тиринг» А еще — у меня с ними тиринг (не знаю, правда, что это, но другие вялодрочеры сказали, что иксы=тиринг, а тиринг - плохо). Тупят ваши иксы короче! А в вялом нашем вяло коммунизм наступит скоро — надо только подождать!".

Закопать-закопать-закопать! Срочно новое вносите. Ух! Щас Шляпа все сделает. Слава всему новому!

Macrocosm ()