LINUX.ORG.RU

История изменений

Исправление khrundel, (текущая версия) :

С хера ли? Все иксовые оконные менеджеры юзают фичи иксов (Xlib/Xcb). Ты опять херню сморозил.

А как это вообще связано со спагетти? Походу ты не понимаешь о чём пишешь вообще. Термин «спагетти» - это не просто какое-то обобщённое ругательство, синоним «плохой», это устоявшееся понятие, означающее:

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

Именно этого и хочешь ты. Чтоб был некий универсальный и полнофункциональный компонент, способный исполнять функции в куче по разному работающих DE. Это можно реализовать 3мя методами:

  • внедрить вообще все возможные варианты поведения и управлять через конфиг. Вот условно прописывать mode=stack и получать стековый DS.
  • реализовать полнофункциональный DS но добавить 100500 точек подключения, чтоб можно было цепляться и переделывать какое захочешь поведение
  • реализовать просто библиотеку с 100500 низкоуровневыми функциями, чтоб авторы конкретных DE строили поведение из библиотечных кирпичиков.

Варианты 2 и 3 будут собственно означать ту или иную меру спагетности. Вариант 1 слишком дорог в разработке и поддержке либо не даст достаточной гибкости.

Ну а твой друг кирилка это обвинение выдвинул от того, что он этот термин слышал, но сам по себе глупый. Ему не понравилась необходимость захватывать экран через pipewire и он решил что это означает спагетти, так как присутствует «лишний» канал. Почему он так решил? Потому что в его голове wayland - это аналог x11, а x11 умеет в захват. Так в его башке образовалось 2 взаимопротиворечащих претензии:

  • pipewire не нужен, так как есть wayland, которого достаточно для захвата, значит спагетти
  • wayland неполноценен, потому что не имеет возможности для захвата.

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

Ну понятно, что у тебя кто-то за кем-то обязательно повторяет.

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

Война - это мир. Свобода - это рабство. Wayland - борьба с «спагетти архитектурой».

Отличный, содержательный аргумент. Сразу видно что ты понимаешь о чём пишешь. Я тебе в ответ другую цитату из Оруэлла дам: «4 ноги - хорошо, 2 ноги - плохо». Именно это ты и пытаешься мне объяснить.

Тебя не задолбало повторять эту мантру?

Ну а чего бы не повторить, если оно так и есть?

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

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

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

Нормальным разработчикам DE нахрен не всралось писать свой собственный графический сервер,

Если не хотят, пусть не пишут. Берут существующий и как-то прилаживают.

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

Чувак, ты не можешь одновременно требовать написать единый для всех дисплейсервер и обвинять в желании уничтожить конкурентов. Единый сервер, контролируемый редхатом - это как бы и есть то что ты называешь «монополия». Ну т.е. придёт разработчик свея и скажет «а запилите мне такую функцию, очень надо», а ему: «ПНХ». И будут правы, так как не обязаны делать работу за него. Придёт он через месяц снова и скажет: «я сам запилил, примите патч», а ему снова: «ПНХ» и опять же будут правы, так как никто не обязан принимать в свой проект говнокод от любого желающего. И пойдёт разработчик sway лесом, жалуясь что в апстрим не принимают важную фичу, которая сделала бы свей лучше гнома. Ты этого хочешь?

И вот чтоб такого говна не было и придуман вейланд. Разрабы DE могут делать что хотят, могут брать готовый DS, тот же weston например, или mir, если функционал их устраивает, могут пилить свой с нуля, могут пилить на основе либы типа wlroots, могут кооперироваться и пилить что-то совместно.

Чем ты, клован, недоволен?

Чтобы не было зависимости от стороннего приложения

Это бессмысленное бла-бла-бла. Если тебе нужен функционал стороннего приложения, ты от него хоть как будешь зависим. 99.9% программ не нуждаются в захвате экрана, им pipewire не нужен, они от него независимы. Если программе нужен захват, она будет зависеть от чего-то, и нет никакой разницы, будет это «что-то» расширением вейланда или pipewire. Ты, клован, можешь внятно сформулировать, чем скриншотилке клиент для pipewire хуже клиента для wl-расширения. Причём захватывалке в условном скайпе всё равно придётся pipewire подключать.

Исходная версия khrundel, :

С хера ли? Все иксовые оконные менеджеры юзают фичи иксов (Xlib/Xcb). Ты опять херню сморозил.

А как это вообще связано со спагетти? Походу ты не понимаешь о чём пишешь вообще. Термин «спагетти» - это не просто какое-то обобщённое ругательство, синоним «плохой», это устоявшееся понятие, означающее:

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

Именно этого и хочешь ты. Чтоб был некий универсальный и полнофункциональный компонент, способный исполнять функции в куче по разному работающих DE. Это можно реализовать 3мя методами:

  • внедрить вообще все возможные варианты поведения и управлять через конфиг. Вот условно прописывать mode=stack и получать стековый DS.
  • реализовать полнофункциональный DS но добавить 100500 точек подключения, чтоб можно было цепляться и переделывать какое захочешь поведение
  • реализовать просто библиотеку с 100500 низкоуровневыми функциями, чтоб авторы конкретных DE строили поведение из библиотечных кирпичиков.

Варианты 2 и 3 будут собственно означать ту или иную меру спагетности. Вариант 1 слишком дорог в разработке и поддержке либо не даст достаточной гибкости.

Ну а твой друг кирилка это обвинение выдвинул от того, что он этот термин слышал, но сам по себе глупый. Ему не понравилась необходимость захватывать экран через pipewire и он решил что это означает спагетти, так как присутствует «лишний» канал. Почему он так решил? Потому что в его голове wayland - это аналог x11, а x11 умеет в захват. Так в его башке образовалось 2 взаимопротиворечащих претензии:

  • pipewire не нужен, так как есть wayland, которого достаточно для захвата, значит спагетти
  • wayland неполноценен, потому что не имеет возможности для захвата.

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

Ну понятно, что у тебя кто-то за кем-то обязательно повторяет.

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

Война - это мир. Свобода - это рабство. Wayland - борьба с «спагетти архитектурой».

Отличный, содержательный аргумент. Сразу видно что ты понимаешь о чём пишешь. Я тебе в ответ другую цитату из Оруэлла дам: «2 ноги - хорошо, 4 ноги - плохо». Именно это ты и пытаешься мне объяснить.

Тебя не задолбало повторять эту мантру?

Ну а чего бы не повторить, если оно так и есть?

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

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

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

Нормальным разработчикам DE нахрен не всралось писать свой собственный графический сервер,

Если не хотят, пусть не пишут. Берут существующий и как-то прилаживают.

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

Чувак, ты не можешь одновременно требовать написать единый для всех дисплейсервер и обвинять в желании уничтожить конкурентов. Единый сервер, контролируемый редхатом - это как бы и есть то что ты называешь «монополия». Ну т.е. придёт разработчик свея и скажет «а запилите мне такую функцию, очень надо», а ему: «ПНХ». И будут правы, так как не обязаны делать работу за него. Придёт он через месяц снова и скажет: «я сам запилил, примите патч», а ему снова: «ПНХ» и опять же будут правы, так как никто не обязан принимать в свой проект говнокод от любого желающего. И пойдёт разработчик sway лесом, жалуясь что в апстрим не принимают важную фичу, которая сделала бы свей лучше гнома. Ты этого хочешь?

И вот чтоб такого говна не было и придуман вейланд. Разрабы DE могут делать что хотят, могут брать готовый DS, тот же weston например, или mir, если функционал их устраивает, могут пилить свой с нуля, могут пилить на основе либы типа wlroots, могут кооперироваться и пилить что-то совместно.

Чем ты, клован, недоволен?

Чтобы не было зависимости от стороннего приложения

Это бессмысленное бла-бла-бла. Если тебе нужен функционал стороннего приложения, ты от него хоть как будешь зависим. 99.9% программ не нуждаются в захвате экрана, им pipewire не нужен, они от него независимы. Если программе нужен захват, она будет зависеть от чего-то, и нет никакой разницы, будет это «что-то» расширением вейланда или pipewire. Ты, клован, можешь внятно сформулировать, чем скриншотилке клиент для pipewire хуже клиента для wl-расширения. Причём захватывалке в условном скайпе всё равно придётся pipewire подключать.