LINUX.ORG.RU

Solus отказывается от GTK

 , , ,


3

2

Один из лидеров проекта Solus Linux, Джошуа Стробл (Joshua Strobl), объявил о намерении отказаться от GTK при разработке как будущих версий Budgie, так и всей экосистемы приложений в Solus. В своем блоге он высказал ряд упреков в адрес текущего состояния и планов развития GTK, а также философии разработки GNOME.

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

Жалуется Джошуа и на то, что выпущенный чуть менее года назад GTK 4 немного усложнил код для работы с виджетами, запретив прямое наследование. Но гораздо более важной проблемой ему видится упразднение API X11, в частности для получения конфигурации подключенных мониторов. Двигаясь в сторону полной поддержки Wayland, GNOME удалил функции опроса X-сервера, поручая разработчику писать собственные интерфейсы для обращения напрямую к X11 (либо к API других ОС, если приложение оказалось кроссплатформенным).

В то время как рабочая функциональность удаляется, многие известные ошибки в GNOME не исправляются месяцами и годами (в частности, автор приводит в пример ошибки с прокруткой в GtkListView и с переключением на другое окно при открытом выпающем списке в GtkPopover). При этом Джошуа описывает это в разрезе собственного опыта написания с использованием GTK своего аудиоплеера Koto.

Релиз GTK 4 не оправдал ожидания авторов Solus, надеявшихся на ряд обещаемых изменений в libhandy, которые в итоге так и не были добавлены. А дорожная карта к GTK 5 предрекает ещё большее закручивание гаек в части кастомизации и общий регресс как в UX, так и для использования библиотки в сторонних приложениях. Джошуа прямым текстом утверждает, что использование в разработке GTK 4 и выше — это выстрел себе в ногу.

По итогам этих размышлений лидеры проекта Solus приняли решение отказаться от использования GTK в Budgie и в целом минимизировать присутствие GNOME в своем пользовательском окружении, перейдя к выбору одного из следующих GUI-тулкитов:

  • EFL (библиотека в основе Enlightment Desktop);

  • Qt;

  • iced (кроссплатформенная GUI-библиотека для Rust).

В случае Qt разработчикам Solus не хочется писать код на C++, и к тому же смущает «коммерческая лицензия» Qt и неприятный осадок. iced находится в ранней стадии разработки и многие полезные вещи придется писать с нуля, а ресурсов для этого нет.

Остаётся EFL, который в итоге и был выбран. Постепенно планируется написать на EFL свои виджеты, а затем и основные десктопные приложения, либо адаптировать существующие, по возможности не связанные с GNOME.

Что касается дистрибутива, то версия с GNOME будет собираться в отдельный образ, и ей будет уделен минимум внимания, будет обеспечена лишь базовая работоспособность. В Budgie 11 не будет никаких зависимостей от GTK.

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

★★★★★

Проверено: hobbit ()
Последнее исправление: sudopacman (всего исправлений: 9)

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

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

Вообще, конечно, забавно когда разработчики других де сетуют, что гномеры не учитывают их мнение при разработке своего тулкита

Посмотрим что у ребят получится. Сколько там лет космонавт пытался переписать гном на qt? И во что это вылилось? Вон, китайцы особо громких заявлений не делали, просто взяли и переписали свой deepin на qt. Говорят, стало ещё хуже, зато они сделали, а не просто чешут языками в сети.

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

И они абсолютно правы.

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

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

Вон, китайцы особо громких заявлений не делали, просто взяли и переписали свой deepin на qt. Говорят, стало ещё хуже, зато они сделали, а не просто чешут языками в сети.

Два чая этому господину.

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

Мне вот что нравится в гноме, так это то что основатель проекта проклял это детище

Разумеется, если сказать тебе «ну-ка давай пруфцы, где де Иказа прямым текстом проклял гном», ты немедля сольешься. Вы не понимаете — это риторика, это другое.

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

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

Оксиджен действительно не очень. Поэтому в KDE по дефолту бриз.

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

Ждём, когда до анона дойдёт, что ООП != C++.

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

Не попросили пруфцы — не приведу пруфцы?

t184256 ★★★★★
()

С одной стороны EFL хороший и шустрый.

С другой стороны, все DE которые на нем написаны - выглядят как бэд трип.

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

Это вовсе не проблема GTK, это проблема вот таких вот Джошуа, не понимающих что поддержку Wayland в своих поделиях им так и так придётся пилить.

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

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

/они говорят/ «Линукс - это не про выбор»

И они абсолютно правы.

Нет.

Ок, субъективно правы :)))
Вы не понимаете — это риторика, это другое.
ты немедля сольешься

Классная у вас логика :)

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

не понимающих что поддержку Wayland в своих поделиях им так и так придётся пилить.

Смотри, чтобы не пилить композиторы на каждую фичу, уже есть wlroots. До поддержи менеджеров окон в X11 ему ещё как до луны раком, но начало положено.

Вангую, что и оконные примитивы/буферы в итоге из виджетов запилят в отдельный вейляндоугодный аналог Xt/Xlib. Или так 1% и останется.

А до тех пор будут перпендикулярные gtk/qt и всё остальное через xwayland. Ну и оффтопик.

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

А ты точно прочитал процитированное тобой же?

Да. Зато ресурсов на разработку ни кому не нужной DE (100500 их уже) у них есть.

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

Вообще это такая манера общения у SJW-парашников: объявлять мнение большинства неправильным в силу каких-либо причин и на этом основании его систематически игнорировать. Раз оно неправильное, значит и не мнение вовсе, а просто какие-то эксцессы от неотесанных баранов, которые и права на какое-то мнение и не имеют, ибо не разделяют наши «прогрессивные» ценности.

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

Вангую, что и оконные примитивы/буферы в итоге из виджетов запилят в отдельный вейляндоугодный аналог Xt/Xlib. Или так 1% и останется.

Проблема почему не сделано в том, что поговорить ЛЕГКО, а сделать ТРУДНО.
Возьмем к примеру WIN API для диалоговых форм.
Да можно много лучше, но можно программно получить адрес расположения диалоговой формы в memory и там есть все метаданные о
contols.
Что трудно придумать аналогичную спецификацию?
Нет! Как сказано выше, все просто хотят

ХАЛЯВЫ!
anonymous
()
Ответ на: комментарий от Murz

А сейчас-то они на чём пишут? На C без плюсов, на расте, или ещё на какомнить смузи?

А вот это, кстати, хороший вопрос. Ну да, если у них был GTK, то они могли писать, например, на Vala. Но это просто гипотеза, а на чём пишут в действительности — вопрос интересный, присоединяюсь.

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

А сейчас-то они на чём пишут? На C без плюсов, на расте, или ещё на какомнить смузи?

А что исходники закрыты?

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

На Vala (такой себе транслятор с языка, похожего на C# на C).

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

Что трудно придумать аналогичную спецификацию?

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

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

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

Так речь не о том, что Wayland протокол нужно расширять, а о том, чтобы создать спецификацию для представления метаданных controls, которую бы использовали разработчики GUI …

anonymous
()

О, я вижу, @sudopacman взял слова «коммерческая лицензия» Qt в кавычки.

Правильно сделал. Поскольку для разработчиков свободного софта Qt распространяется под GPL, а основные модули — ещё и под LGPL. То есть наличие у Qt ещё и коммерческой лицензии (благодаря которой разработчики Qt получают финансовую поддержку от любителей карточных игр и прекрасных дам лёгкого поведения) разработчиков свободного софта, разработчиков свободного софта теоретически должно волновать чуть менее, чем никак.

Ну да, LTS. Но будем честны, у всех ли опенсорсных библиотек, которыми мы пользуемся, есть такое понятие как LTS вообще? К тому же это опенсорс. Развивать функциональность Qt может одна команда, а LTSы предлагать другая, причём вообще не одна. Наверное, можно брать сборочки от KDE или вообще делать свои, если силушки хватит. (Мне вон для своего пет-проекта LTS вообще не упёрся, в гробу я этот LTS видал. Да, я понимаю, что у разработчиков WM/DE и дистрибутивов запросы другие.)

Поэтому предположу, что лицензию Qt тут пнули просто за компанию, а основная причина всё-таки — нежелание писать на крестах. Нежелание вполне понятное, хозяин-барин. Правда, возникает вопрос, а EFL они к какому ЯП пристёгивать собираются?

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

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

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

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

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

Фашист-гномосек Джеймс холдон и гном ненужны.

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

«Линукс - это не про выбор».

И они абсолютно правы.

Нет, не правы. Если бы они написали «GNOME - это не про выбор», то они были бы абсолютно правы. Но GNOME != линукс. Просто у поехавших разрабов еще и синдром Людовика включился.

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

Попытка сделать что-то юзабельное из гнома.

anonymous
()

Остаётся EFL, который в итоге и был выбран. Постепенно планируется написать на EFL свои виджеты, а затем и основные десктопные приложения, либо адаптировать существующие, по возможности не связанные с GNOME.

хы.. а не логичнее в этом случае было бы включиться в разработку Enlightment Desktop?

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

Хотя, был же оксиджен и пластик - хорошие были темы.

После Keramik уже ничего не вставляет…

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

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

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

А пилить DE на недотулките - это какой синдром? Логично развивать тулкит для себя. И для EDE полезно.

Oberstserj ★★
()

Остаётся EFL, который в итоге и был выбран.

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

https://what.thedailywtf.com/topic/15001/enlightened

Our beloved EFL main developer, whose name I dare not say or I go on a rampage, complained he had tons of bug reports about crashes etc. Something about passing wrong Evas_Objects to wrong functions. He decided to tackle the problem in the next version. I’ll let you guess which solution he choose:

1.Incorporate type safety.

2.Give some meaningful names for all typedefs, if type safety is too hard, so people would at least see what goes where.

3.Don’t use pointers as pointers. Split the bits in them into 3 (or 4) groups, which would be cast to a numerical indexes into 3- (or 4-) dimensional hash map, which in turn results in a real pointer to function + object, and call it, if such exist. If not, don’t do anything and don’t give the programmer any feedback. Oh, and implement this in a way that makes the absolute maximum objects your process can have equal to 512. But don’t forget to not warn anyone when the limit gets exceed, but call given function on a random object which causes hash collision.

Small hint: it’s not 1 or 2. Welcome to the 21st century programming!

Так что удачи чувакам. Она им явно понадобится.

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

Тебе удаётся писать имея всего одну извилину в голове?

anonymous
()

интересная будет budgie на EFL, пощупаем...

cetjs2 ★★★★★
()

Наконец-то к кого-то яйца выросли.

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

Я зачитался и меня перед глазами замелькали арки. Красивые такие. И эта музыка! Давно забытая музыка! Пам-пам пам-паааааам!

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

Кхм… А в Rust, как будто, наследование есть

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

anonymous
()

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

И эти люди запрещали Столлману ковыряться в носу?

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

А я вот вижу, что ты ничего не понял из прочитанного.

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

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

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