LINUX.ORG.RU

Разработчики некоторых приложений Gnome просят не использовать темы в их приложениях

 , , ,


1

3

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

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

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

Главной технической проблемой с «темингом» GTK является то, что нет никакого API для тем GTK, только хаки и пользовательские таблицы стилей - нет никакой гарантии, что та или иная тема ничего не сломает.

«Мы устали от необходимости делать дополнительную работу для конфигураций, которые мы никогда не собирались поддерживать», - говорится в письме.

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

«Вы не делаете то же самое с Blender, Atom, Telegram или другими сторонними приложениями. Тот факт, что наши приложения используют GTK, не означает, что мы согласны с тем, что их заменяют без нашего ведома», - продолжается в письме.

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

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

Прислушается ли сообщество Gnome к словам разработчиков? Время покажет.

Письмо

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

★★★

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

Я хочу чтобы все проги имели тему breeze-dark. И за исключением gtk, браузеров

Поищи в центре настроек. В кде можно указать тему гтк приложухам - breeze dark.

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

Что интересно, если пройти по ссылке, то можно увидеть, что авторы письма явным образом пишут, что они вообще не против того, чтобы пользователи натягивали себе какие угодно темы на приложения, потому что если пользователь натянул тему и у него что-то сломалось, то пользователь знает, что он ССЗБ. Обращение направлено в сторону дистростроителей, потому что если пользователь (с установленной дефолтной темой дистра) поставил приложение и там что-то сломано - то пользователь уверен, что косяк тут не со стороны дистра, а со стороны приложения, а это не так.

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

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

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

Я испытываю. Например, в GIMP под KDE или в Inkscape, из-за угрёбищной мимикрии (Breeze-gtk) постоянно что-либо вылазит, но самое раздражающее это всплывающие подсказки, где текст отображается практически таким же цветом, что и фон.

УМВР во всем перечисленном тобой кроме либры, ибо не пользую. KDE 5.15.5. Конфиги вроде не трогал, все искаропки. Использую «Breeze светлый вариант».

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

Обычно это исправляется отключением галочки «Применять цвета к приложениям не из KDE» в настройках цветовых стилей KDE.

salsergey
()

Один гном, один шрифт, одна тема значков, одно разрешение екрана.

Крута отсыпте такой травы.

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

В терминале тоже белый фон выставить? Как яркость не крути в темноте белого всегда будет много

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

Не уверен, надо смотреть в трекере.

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

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

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

Хаха. Кажется уже даже до разработчиков на gtk потихоньку начинает доходить, что gnome - не очень... Глядишь через лет 10 пересядут на qt :)

ты немного перепутал. Это разработчики гнома могут понять, что gtk не очень и пересесть на qt. Если разработчики gtk подумают, что гном не очень и ему может помочь миграция на qt, то значит проблема вовсе не в гноме, а в гтк и самое время самим разраотчикам гтк принять эвтаназин...

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

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

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

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

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

Если тема меняет фон со светлого на темный, то автоматом должна быть адаптация цвета текста для контраста или обводка

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

Но если тема правильная, а кастомный виджет её по сути игнорирует, то виноват автор виджета.

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

От автора каждой программы - да. Но этого никто и не требует.

А вот авторы кастомных виджетов обязаны следовать системной палитре. И так в любых тулкитах: хоть GTK, хоть Qt...

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

Но если тема правильная, а кастомный виджет её по сути игнорирует, то виноват автор виджета.

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

От автора каждой программы - да. Но этого никто и не требует.

сейчас все эти проблемы лежат на авторе каждой программы.

А вот авторы кастомных виджетов обязаны следовать системной палитре. И так в любых тулкитах: хоть GTK, хоть Qt...

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

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

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

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

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

При этом тот же Electron ЕМНИП позволяет использовать системную палитру.

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

«Слышал звон, да не знает, где он.»

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

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

«Моё приложение падает при нажатии пробела? Ну, не используйте пробел!»

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

сейчас все эти проблемы лежат на авторе каждой программы.

Что, прямо каждой?

не свосем понятно, откуда они ее возьмут

В GTK - из GtkSettings, в Qt - из QGuiApplication::palette().

anonymous
()

разработчики Gnome... просят не использовать их приложения

vitalif ★★★★★
()

нет никакой гарантии, что та или иная тема ничего не сломает.

а всё потому, что на 90% сообщество гномо.. - вылизывает стрёмный и неудобный C-код..

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

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

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

Ну да, если закрыть глаза и уши, а ещё говорить не переставая «может отправляться», можно представить, что живёшь в своем идеальном манямирке. В реальности вебизация. Причем если у линупса и есть шанс проникнуть на десктоп, то даёт ему его как раз вебизация, когда для всякой нужной на 1 раз мелочи не нужно искать неподлерживаемую вырвиглазную приблуду на tcl/tk, а можно воспользоваться онлайновым сервисом.

При этом тот же Electron ЕМНИП позволяет использовать системную палитру.

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

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

В арче ведь нет темы по-умолчанию. Или я не так понял вопрос?

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

Один гном, один шрифт, одна тема значков, одно разрешение екрана.

один народ, ой, не тот топик

captain_cat
()

Ждём, когда гноморазработчики наконец уже попросят не использовать гном.

Vier_E ★★★
()

Главной технической проблемой с «темингом» GTK является то, что нет никакого API для тем GTK, только хаки и пользовательские таблицы стилей - нет никакой гарантии, что та или иная тема ничего не сломает.
нет никакой гарантии, что та или иная тема ничего не сломает.

Шёл 2019 год, гном всё ещё можно поломать кастомной темой.
лицорука.пнг

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

Поддерживаю. Я бы только смягчил, немного: тому, кому пришла идея делать «темы» до того, пока не решены куда более серьёзные проблемы. Пока не решены более серьёзные важные вопросы, темы можно было просто не делать. Внедрение поддержки тем - диверсия врагов свободного ПО.

Но если уж делать, то темы должны быть полностью отделены от тулкитов и быть отдельным, независимым от тулкитов проектом, со своими стандартами на API, протоколами, спецификациями и т.п. Тулкиты должны через стандартный интерфейс получать доступ к темам.

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

«Моё приложение падает при нажатии пробела? Ну, не используйте пробел!»

- «Моё приложение падает при нажатии пробела?"

- Не воспроизводится. Как вы этого добились?

- Поставил гном 3 билд 16547 и применил нашу особенную праздничную тему оформления «гном3-у нас уже трое пользователей»!

- С другими темами работает?

- С другими темами работает, с другими гномами работает, с другими де работает!

- Ну, смените тему оформления на работающую...

Что, прямо каждой?

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

В GTK - из GtkSettings, в Qt - из QGuiApplication::palette().

То есть, из QT приложения я должен вызывать GtkSettings, чтобы узнать, что там в гноме? И наоборот, в гтк, QGuiApplication::palette(), чтобы определить, что там в кде? А перед этим я еще должен угадать, а какой, собственно, десктоп используется? Вот у меня сейчас установлен гном3 и мате. Как узнать, запускаю я гном приложение в мате-десктопе или наоборот, гном десктоп и мате-приложение? Где брать настройки оформления?

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

А если дефолтная тема лично мне не нравится? А если мне больше нравится другая тема? А если я хочу ваще цвета и значки свои собственные?

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

С другими темами работает

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

Если работает только в дефолтной теме, и это косяк приложения - надо чинить приложение. А не запрещать недефолтные темы. Вы правда этого не понимаете, или прикидываетесь?

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

Соответствующий механизм есть в каждом тулките - его и надо использовать.

То есть, из QT приложения я должен вызывать GtkSettings, чтобы узнать, что там в гноме? И наоборот, в гтк, QGuiApplication::palette(), чтобы определить, что там в кде?

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

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

...И эти проблемы были вызваны косяками в самом приложении и были исправлены в самом приложении. Что и требовалось доказать.

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

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

khrundel ★★★★
()

Разработчики некоторых приложений Gnome просят не использовать их приложения. За это приходится платить непредвиденными ошибками и странным поведением приложений.

как-то так надо. :-)

если не пользовать, то и багов не будет.

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

Когда халявщики с 1% рынка выеживаются и требуют к себе большего внимания чем получают солидные господа с windows, неудивительно что этих халявщиков обычно посылают в пешее эротическое. Недавно, например, GOG удалил Линукс из списка платформ на которые их лончер хотя бы в теории когда-нибудь портируют.

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

мы друг друга не поняли.

я про то, что такой подход делает конкретные приложения в итоге ненужными.

вопрос, кстати, а что под виндовс можно работать? (оно меня бесит...)

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

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

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

Да уж. Вот неймется им:

  1. Иконки в меню убили
  2. Само меню через MenuModel фиг сделаешь
  3. Server-side decorations почти убили
  4. Теперь темы хотят убить ради вящей славы гнома

Просто сама идея неправильна. Они хотят, чтоб основным «решателем» за внешний вид и прочее был разработчик. Тогда как в OpenSource всегда внешний вид определял пользователь или (на крайний случай) дистр. Так что я однозначно против того, чтоб темы убирать. А если они так хотят свою тему в приложение - приложите кастомный CSS и сделайте ему приоритет выше, чем пришедший из настроек. И все.

Athor ★★
()

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

Как так то? Ваше приложение распространяется по свободной лицензии - что хочу с ним, то и делаю.

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

Убийство SSD - одна из самых вменяемых идей, которые когда-то зарождались в среде линукса. Если у тебя нет нативных кнопок и эдитбоксов, на кой ляд тебе нативный заголовок окна, да ещё и работающий через пень-колоду? Просто потому, что привыкли, что это есть, что вот эта часть окна в KDE должна выглядеть иначе чем в Гноме?

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

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

Если линуксоиды продолжат упираться, то так и будет.

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

Теперь темы хотят убить ради вящей славы гнома

Медаль за Ъ.

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

Пока не решены более серьёзные важные вопросы, темы можно было просто не делать.

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

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

Это всего лишь значит, что мне придется кроме appmenu-gtk-module пилить themes-gtk-module, который возвращает старые темы.

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

А убийство SSD - дурь. Потому что разнобой приложений наступает от этого, как и от отказа от тем.

Отказ от SSD, отказ от тем, отсутствие аналога EHWM в Wayland, Flatpak вместо пакета. Что дальше - переходим скопом на ядро NT или Darwin?

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

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

Ну и дизайнер не всегда делает по вкусу каждого юзера. Поэтому и инструмент нужен.

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

Но если тема правильная, а кастомный виджет её по сути игнорирует, то виноват автор виджета.

Вот есть текстовый редактор и тёмная тема. Какого цвета должен быть текст? Чёрным по белому, как на бумаге, или белым по серому, как в теме? Если выбираем чёрным по белому, то сразу получаем кучу проблем со всеми виджетами, которые в этом редакторе поверх области листа будут рисоваться. Или вот подсветка синтаксиса в IDE, там ещё хуже, уже просто «тёмным по светлому» или «светлым по темному» не ограничиться, в палитре темы всяко нет специального цвета для интерполируемых строковых литералов, например. Возможны случаи, когда нечто должно выделяться синим, а в теме синий выбран основным цветом текста.

khrundel ★★★★
()

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

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

Это всего лишь значит, что мне придется кроме appmenu-gtk-module пилить themes-gtk-module, который возвращает старые темы.

Пили, чё. Есть такая пословица «работа дураков любит».

По-человечески - это значит, что не использовать нестандарт и хардкод

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

Разработчик приложения вообще не должен иметь права решать за внешний вид приложения, только за функционал.

Так свободное ПО же. Бери, форкай, включай поддержку тем в ГТК, следи, чтоб цвета выбирались адекватные. Но, блин, не заставляй с этим пердолиться людей, которым это неинтересно. Они и так тебе бесплатно программу пишут, спасибо скажи.

Потому что разнобой приложений наступает от этого, как и от отказа от тем.

«Если вы такие умные, почему строем не ходите»? Ну разнобой, и что? Нормальным людям на разнобой плевать. Тем более, что однобоя нет и не будет, веб же. Получается, нужно тратить кучу усилий на решение надуманной проблемы и в конце концов получить решение для 30% случаев. Нафига?

Отказ от SSD, отказ от тем, отсутствие аналога EHWM в Wayland, Flatpak вместо пакета. Что дальше - переходим скопом на ядро NT или Darwin?

Мне вот интересно, как можно в одном и том же сообщении требовать казарменного однообразия от тысяч программ, и тут же выражать озабоченность тем, что flatpak может сожрать какой-нибудь никудышный формат пакетов? Я не понял, ты за «пусть расцветает 100 цветов» или за «все равны как на подбор»?

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