LINUX.ORG.RU

Linux Mint отказывается от libAdwaita и призывает остальных присоединиться к ним

 , ,


2

3

Разработчики Linux Mint в своем ежемесячном дайджесте новостей рассказали о ходе разработки Linux Mint 22 и, в том числе, поделились своим видением ситуации, связанной с развитием GNOME и приложений, разрабатываемых в рамках него.

В 2016 году разработчиками Linux Mint был запущен проект под названием XApps, направленный на создание универсальных приложений для традиционных настольных сред на базе GTK для замены базовых приложений GNOME. В их числе Xreader (форк Atrill, который, в свою очередь, форк Evince), Xplayer (форк Totem), Xviewer (форк Eye of Gnome) и другие. Более подробно о проекте можно узнать на их сайте.

В дайджесте заявляется, что разработчики планируют расширять список приложений, входящих в проект XApps, и призывают остальных присоединиться к работе над проектом. В первую очередь они обращаются к разработчикам Mate и XFCE, которые заинтересованы в развитии приложений, независимых от проекта GNOME, а также разработчиков дистрибутивов, которые в качестве своей базовой среды их используют. Почему-то упоминается в основном Xubuntu.

Причиной такого заявления, как и причиной создания проекта XApps, является все большее расхождение между разработчиками GNOME и остальными в понимании того, как должен строиться интерфейс пользовательских программ, и использование проектом GNOME библиотеки libAdwaita, которая является основой для построения интерфейсов в большинстве приложений в современном GNOME. По мнению разработчиков Linux Mint, указанная библиотека создавалась только для GNOME, и приложения GNOME все меньше и меньше подходят для работы где-либо еще, кроме самого GNOME.

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

По причинам такой несовместимости в будущем Linux Mint 22 был удален GNOME Font Viewer, а некоторые из программ были понижены до версии на GTK3, в частности:

  • Celluloid;
  • GNOME Calculator;
  • Simple Scan;
  • Baobab;
  • System Monitor;
  • GNOME Calendar;
  • File Roller;
  • Zenity.

От Zenity разработчики вообще планируют отказаться, а остальные развивать в виде форков.

Кроме этого, разработчики Mint считают нецелесообразным идти по пути Ubuntu, которая модифицирует библиотеку libAdwaita под свои темы оформления, потому тема Adwaita будет удалена из списка доступных в Cinnamon 6.2.

Разработчики считают, что проект XApps может решить проблему и заявляют для него в качестве основного принципа независимость от дистрибутива и окружения рабочего стола, будь то Cinnamon, XFCE, Mate или иной другой. XApps, по их мнению, должен быть отдельным проектом со своими репозиториями на GitHub, чатом, веб-сайтом, управлением и т. д.

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

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)
Ответ на: комментарий от cumvillain

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

Это называется экосистемой. В экосистеме Wayland напрочь отсутствует поддержка средств доступности, да. Это является одним из аргументов к тому, что даже спустя 15 лет разработки Wayland он до сих пор не готов заменить X для очень многих пользователей. И непонятно, будет ли когда-нибудь готов.

Очень сложная мысль, я понимаю. Требуется ещё 15 лет чтобы её осознать.

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

если у меня приложение запущено на машине A, а окна оно отображает на машине B?

а ведь базар начался с

Приложение создаёт окно внутри иксов/вейланда. Другое приложение тоже создаёт окно внутри иксов/вейланда. Одно приложение другому хочет отправить данные по некоторому протоколу

то есть:

  1. решали проблему взаимодействия двух независимых приложений. Ты её сам и озвучил
  2. когда дали решение в виде системной шины ты начал кривляться и закатывать глаза в стиле «ой дебииилы»
  3. На второй странице срача выясняется, что ты имел в виду другое и вообще речь шла про низкоуровневый протокол взаимодействия частей распределенного графического приложения через Х-систем. С чем собственно никто и не спорил.

Ну и кто тут дебил то?

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

Это называется экосистемой. В экосистеме Wayland напрочь отсутствует поддержка средств доступности, да.

Не существует никакой экосистемы Wayland. Как всегда и было, есть GNOME, есть KDE, есть wlroots и есть ещё какие-то ушлепки типа DeepIn. Везде a11y будет разный тупо в силу того как приложения написаны и себя ведут. В GNOME кнопки большие и слепым удобно, в каком-нибудь AstraLinuxDesktop кнопок нет вообще.

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

Это очень философский вопрос, стоит ли называть шину обмена сообщениями понятием «IPC», или лучше так и считать отдельным понятием шины.

Но то что ты придумал от балды «универсальное IPC» и не смог пояснить за базар – факт.

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

gnome-terminal, nemo, evince, evolution в циннамон - отключается в настройках. Это от конкретного приложения зависит.

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

Это очень философский вопрос, стоит ли называть шину обмена сообщениями понятием «IPC», или лучше так и считать отдельным понятием шины.

Но то что ты придумал от балды «универсальное IPC» и не смог пояснить за базар – факт.

Дядя, это самая нелепая (и провальная) попытка самоутвердиться за счет терминологии, что я видел.

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

Семафоры уже перестали быть средством IPC? И разделяемая память? Как насчёт обычных TCP- и unix-сокетов? Как насчёт сигналов?

Во-первых, как это отменяет

тем не менее в приведенной мной цитате, то чего ты не видишь совершенно недвусмысленно и очевидно представлено.

Во-вторых, каким образом ты собрался использовать семафоры или разделяемую память для отправки броадкаст-сообщений заранее неизвестным подписчикам?

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

Не существует никакой экосистемы Wayland.

Экосистема Wayland – это набор протоколов и софта, который эти протоколы реализует: композиторы, тулкиты, пользовательский софт и т.д. Очень сложно, да. Я понимаю.

Везде a11y будет разный тупо в силу того как приложения написаны и себя ведут.

Это значит, что его тупо не будет. Потому что a11y – это на самом деле сложно. Я не шучу, реально сложная штука. Я удивлён, что у слюниксового сообщества 15 лет назад получилось его хотя бы один раз нормально сделать, потому что это была реально титаническая работа. Делать то же самое ещё 5 раз отдельно под GNOME, KDE и т.д. никто не будет, потому что проще на венду перейти. Особенно учитывая, что многие штуки в этом a11y идут в разрез с идеями Wayland об обеспечении «безопасности». Например, экранной читалке нужен полный доступ к содержимому окон (желательно, прямо к «DOM»), буферу обмена и т.д.

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

В GNOME кнопки большие и слепым удобно, в каком-нибудь AstraLinuxDesktop кнопок нет вообще.

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

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

когда дали решение в виде системной шины

Она не системная, она сессионная. На системной шине происходят совсем другие вещи.

Вы вместе с cumvillain плаваете в понятиях и тупите, вот и всё. Разберитесь, что к чему относится, что с чем связано, какие задачи и как выполняет.

Если в чем-то не разбираетесь, то умерьте пыл.

ты начал кривляться и закатывать глаза в стиле «ой дебииилы»

Чел, не я начал базар на тему «вот есть универсальное IPC».

а ведь базар начался с

Приложение создаёт окно внутри иксов/вейланда. Другое приложение тоже создаёт окно внутри иксов/вейланда. Одно приложение другому хочет отправить данные по некоторому протоколу

Совершенно верно. И X11 и wayland используют встроенные средства обмена информацией между клиентами. И никакой dbus там не самоочевиден. Вот ни разу.

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

Очень сложно, да. Я понимаю.

Очень сложно. Нет, не понимаешь.

Вот тебе пример от реального слепого:

It seems that they haven’t gotten the idea, after all. I got interested in a nice GUI app for mastodon recently, called tuba. I discovered that it used GTK 4, however. I knew there were rumors about accessibility problems, of course, but what better way to learn than to experience it for yourself? So that’s what I did.

Oh dear, was I disapointed! The first thing that struk me when launching the app, is the fact that the flat review of orca stopped working. Second, that it appears that GTK 4 and orca are fighting over the keyboard. I can’t make orca stop talking, I can’t know on which element on the UI I’m on until it finished talking the previous thing it was saying and moves onto this one. I can’t use any screen reader shortcut, either.

It is exactly, if not worse, than QT 4 was, when accessibility was barely considered.

Чтобы это все работало, приложения должны быть нормальными и предоставлять всю необходимую информацию тому же screen reader’у. До Wayland тут ещё очень и очень далеко.

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

Во-вторых, каким образом ты собрался использовать семафоры или разделяемую память для отправки броадкаст-сообщений заранее неизвестным подписчикам?

А каким образом ты собрался использовать DBUS для высокопроизводительных операций на разделяемой памяти, например? Или для запуска hrenj | grep bugaga?

Я нигде. Еще раз. НИГДЕ. Не писал, что существует какое-то универсальное IPC.

Вы вытащили откуда-то это «универсальное IPC» и тупите с ним уже какое-то сообщение подряд.

Достаточно просто осознать, что dbus – это обычная шина обмена сообщениями, и всё. Разговор не стоит выйденного яйца.

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

Чтобы это все работало, приложения должны быть нормальными и предоставлять всю необходимую информацию тому же screen reader’у.

А это уже есть. В Qt это есть в новых версиях (5 и 6), в GTK 2 и 3 это тоже есть (через ATK), в GTK4 это выкинуто.

До Wayland тут ещё очень и очень далеко.

В иксах работает. В Wayland же сделана идиотская модель «безопасности», при которой одна прога (читалка экрана) не может знать ничего о другой (браузер с ЛОРом).

Перестань уходить в отрицалово. Ты хотел пример серьёзной фичи, которой нет в Wayland. Я его тебе принёс.

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

Да ты мой хороший, специалист сука во всех вопросах, вот тебе выдержка из спецификации D-Bus где черным по белому написано, что это в том числе и системная шина

Uses of D-Bus include notification of system changes (notification of when a camera is plugged in to a computer, or a new version of some software has been installed), or desktop interoperability, for example a file monitoring service or a configuration service.

D-Bus is designed for two specific use cases:

A «system bus» for notifications from the system to user sessions, and to allow the system to request input from user sessions.

A «session bus» used to implement desktop environments such as GNOME and KDE.

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

Это значит, что его тупо не будет. Потому что a11y – это на самом деле сложно. Я не шучу, реально сложная штука. Я удивлён, что у слюниксового сообщества 15 лет назад получилось его хотя бы один раз нормально сделать, потому что это была реально титаническая работа. Делать то же самое ещё 5 раз отдельно под GNOME, KDE и т.д. никто не будет, потому что проще на венду перейти.

Именно. Делали на энтузиазме, потому что у нас тут «свободная ОС» и «сила сообщества».

Посмотрев, как на самом деле тут настроены к «сообществу», никто еще раз всё переделывать не будет.

Линуксовый десктоп успешно себя закопал. Кредит доверия для проекта выдают только один раз.

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

А каким образом ты собрался использовать DBUS для высокопроизводительных операций на разделяемой памяти, например? Или для запуска hrenj | grep bugaga?

Ты можешь передавать файловый дескриптор через D-Bus.

Вы вытащили откуда-то это «универсальное IPC» и тупите с ним уже какое-то сообщение подряд. Достаточно просто убрать осознать, что dbus – это обычная шина обмена сообщениями, и всё. Разговор не стоит выйденного яйца.

Разговор шел про универсальный IPC для линуксовых GUI программ. Шизу про передачу сообщений на соседний хост ты сам начал, мы тут не при чем. Выпей таблеток и вернись к изначальному топику: передаче пунктов глобального меню между панелькой и приложением через D-Bus.

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

А каким образом ты собрался использовать DBUS для высокопроизводительных операций на разделяемой памяти, например?

а нахрена?

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

Перестань уходить в отрицалово. Ты хотел пример серьёзной фичи, которой нет в Wayland. Я его тебе принёс.

Ты никак не можешь понять что это не фича Wayland, а фича DE.

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

а нахрена?

Ничего не мешает передать memfd через D-Bus, если что.

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

Перестань уходить в отрицалово. Ты хотел пример серьёзной фичи, которой нет в Wayland. Я его тебе принёс.

Ты никак не можешь понять что это не фича Wayland, а фича DE.

Отсутствие протокола Wayland для поддержки a11y – не фича Wayland? Идиотская модель «безопасности» Wayland – тоже не фича Wayland? Серьёзно?

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

dbus - это просто реализация шины для обмена сообщениями.

Конкретно в слюниксе используется две шины: системная и сеансовая. на них сидят разные виды клиентов для решения разных задач.

банально объясняя на пальцах, через сеансовую тебе RSS-читалка будет присылать уведомления о новых статьях, а через системную ты будешь монтировать диски

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

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

Разговор шел про универсальный IPC для линуксовых GUI программ. Шизу про передачу сообщений на соседний хост ты сам начал, мы тут не при чем. Выпей таблеток и вернись к изначальному топику: передаче пунктов глобального меню между панелькой и приложением через D-Bus.

панелька запущена локально, а приложение с менюшкой – удалённо. твои действия?

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

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

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

Отсутствие протокола Wayland для поддержки a11y – не фича Wayland? Идиотская модель «безопасности» Wayland – тоже не фича Wayland? Серьёзно?

И какого протокола не хватает? Потому что orca в gnome работает. Крешится, да, но работает. Значит проблема не в отсутствии фичи, а в стабильности.

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

панелька запущена локально, а приложение с менюшкой – удалённо. твои действия?

KDE так умеет? Нет? Тогда зачем мы это обсуждаем?

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

а нахерна?

а нахерна ты собрался использовать семафоры для отправки броадкаст сообщений неизвестным подписчикам?

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

Ты никак не можешь понять что это не фича Wayland, а фича DE.

KDE так умеет? Нет? Тогда зачем мы это обсуждаем?

Вроде две отдельных ветки, но ты в обоих несёшь одинаковую пургу. Сходи остынь, ты перегрелся.

Мой вопрос касается архитектуры, а не KDE.

Или как ты вчера сказал, «обсуждение идей в отрыве от реализации».

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

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

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

а нахерна ты собрался использовать семафоры для отправки броадкаст сообщений неизвестным подписчикам?

Я собрался? Ты ох"""ел что-ли совсем?

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

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

Сможешь пояснить, как я тебя оскорбил? Или тоже сольёшься в «дебилов» и «сектантов»?

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

А кто же? Именно ты озвучил эту идею. Ctrl+F нажми и убедись.

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

Архитектуры чего?

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

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

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

Это очень общие слова. Если ты хочешь понять, откуда появился D-Bus в global menu, то все просто: потому что другого удобного способа передать список элементов меню из одного десктопного линуксового приложения в другое в линуксе нет. Можно было сделать для этого протокол в wayland, но это всем показалось странным.

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

Это очень общие слова. Если ты хочешь понять, откуда появился D-Bus в global menu, то все просто: потому что другого удобного способа передать список элементов меню из одного десктопного линуксового приложения в другое в линуксе нет. Можно было сделать для этого протокол в wayland, но это всем показалось странным.

А передавать тайтл странным не показалось?

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

15 лет назад

Потому что 15 лет назад был энтузиазм и запал. А сейчас всё затихло.
Ты ещё количество разнообразного опенсорсного софта оцени тогда и сейчас.

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

Потому что title это часть оконной системы и нужен композитору. Global menu в оконной системе не участвует вообще никак и единственная причина почему нужен протокол, связывающий wl_surface и dbus имя – убрать гонку между Focus/Unfocus.

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

И какого протокола не хватает?

Запроса текущего окна и координат курсора внутри этого окна сторонним приложением. Доступ к буферу обмена программой, которая не находится в фокусе.

Потому что orca в gnome работает.

Потому что гномеры сделали опять своей херни на dbus? Как и с захватом экрана.

Нет, можно сказать, что захват экрана или стриминг – тоже не фича Wayland, но тогда непонятно, зачем он вообще нужен этот Wayland, если у него нет фич.

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

Первая реализация глобального меню использовала передачу меню через средства иксов.

Вариант, который запилили в Юнити, был выбран не потому, что в данном конкретном случае dbus чем-то лучше, а потому что Шаттлворт в принципе был нацелен на выпил иксов в пользу Mir. По этой причине всё IPC с приложениями в Unity сразу делалось на основе dbus, за исключением того, которое уже было стандартным как часть NETWM. Но и его тоже выпиливали, например, вместо трея через иксы был сделан трей через dbus.

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

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

Потому что title это часть оконной системы и нужен композитору. Global menu в оконной системе не участвует вообще никак

Нету никакой оконной системы в вакууме, есть конкретное DE.

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

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

Запроса текущего окна и координат курсора внутри этого окна сторонним приложением.

Зачем это нужно, если приложение само может все это репортить?

Доступ к буферу обмена программой, которая не находится в фокусе.

wl-paste справляется, хотя у него вообще окна нет. Точно нужно?

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

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

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

Зачем это нужно, если приложение само может все это репортить?

Куда репортит? Программа в фокусе репортит, что она в фокусе? А если она глючит или зависла? Достоверно информацию о фокусе знает только композитор и запрашивать её нужно там. Как запрашивать? Наверное, через отдельный протокол Wayland, который отсутствует.

wl-paste справляется, хотя у него вообще окна нет. Точно нужно?

Unless the Wayland compositor implements the wlroots data-control protocol, wl-clipboard has to resort to using a hack to access the clipboard: it will briefly pop up a tiny transparent surface (window). On some desktop environments (in particular when using tiling window managers), this can cause visual issues such as brief flashing. In some cases the Wayland compositor doesn’t give focus to the popup surface, which prevents wl-clipboard from accessing the clipboard and manifests as a hang.

lol! lmao even! Он использует или кастомный протокол из wlroots, или создаёт таки окно. Ты бы хоть почитал то, на что ссылаешься.

https://man.archlinux.org/man/wl-clipboard.1.en

Тут нужен тот мем из Invincible про иксы и wayland: «Look at what they need to get a fraction of our power!» Создавать прозрачное окно на экране, чтобы забрать данные из буфера обмена, это конечно верх софтваре инженегринга.

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

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

Можно, но авторы решили этого не делать.

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

Протокол есть? Есть.

Где? В Wayland, доступный во всех композиторах? Нету. Он есть только в wlroots и KDE, но не в GNOME.

https://wayland.app/protocols/wlr-data-control-unstable-v1

Фрагментация на ровном месте просто ради фрагментации, когда разработчиков и так не хватает, это конечно очень сильно.

Тем не менее, вернёмся к изначальному тезису: спустя 15 лет разработки паритета по функционалу между X и Wayland до сих пор нет. И с таким подходом, неясно будет ли когда-нибудь. Пруфы я предоставил.

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

Где? В Wayland, доступный во всех композиторах? Нету. Он есть только в wlroots и KDE, но не в GNOME.

Это недостаток GNOME.

Фрагментация на ровном месте просто ради фрагментации, когда разработчиков и так не хватает, это конечно очень сильно.

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

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

Тем не менее, вернёмся к изначальному тезису: спустя 15 лет разработки паритета по функционалу между X и Wayland до сих пор нет. И с таким подходом, неясно будет ли когда-нибудь. Пруфы я предоставил.

Паритета между сессиями GNOME и KDE поверх X11 и Wayland.

cumvillain
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.