LINUX.ORG.RU

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

 , , ,


1

3

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

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

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

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

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

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

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

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

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

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

Письмо

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

★★★

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

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

Если это простой текстовый редактор без подсветки синтаксиса, то светлым на тёмном фоне, т.е. как в теме.

Если же есть поддержка подсветки синтаксиса, то схема подсветки уже является полной палитрой, и потому отображение должно следовать данной палитре. При этом желательно иметь хотя бы два варианта: для светлой и тёмной темы.

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

С чего бы это вдруг?

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

Если же есть поддержка подсветки синтаксиса, то схема подсветки уже является полной палитрой, и потому отображение должно следовать данной палитре. При этом желательно иметь хотя бы два варианта: для светлой и тёмной темы.

Вот в Clementine есть виджет спектроанализатора, какого он должен быть цвета? Там же есть регулятор громкости — какого он должен быть цвета? Там же боковая панель — она берётся из цвета выделения, но затемняется, потому что иначе будет вырвиглаз.

Теперь ты понимаешь, что простого ответа на вопрос, какого цвета должен быть элемент кастомного виджета — его просто нет?

А ещё там есть иконки. Да, используются иконки из темы, но далеко не все иконки есть в теме, и получается ой: https://pic4a.ru/i7qz/

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

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

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

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

С чего бы это вдруг?

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

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

Вот в Clementine есть виджет спектроанализатора, какого он должен быть цвета?

Например, цвета выделения. Фон - стандартный.

Там же есть регулятор громкости — какого он должен быть цвета?

Аналогично.

Теперь ты понимаешь, что простого ответа на вопрос, какого цвета должен быть элемент кастомного виджета — его просто нет?

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

А ещё там есть иконки. Да, используются иконки из темы, но далеко не все иконки есть в теме, и получается ой: https://pic4a.ru/i7qz/

Это баг в приложении. Не задали минимальный размер значков/не включили scaling.

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

Это баг в приложении. Не задали минимальный размер значков/не включили scaling.

Предлагаете хардкодить размер иконок и, соответственно, кнопок? А если пользователь специально выбрал компактную тему, а ему иконки 16x16 в 3 раза растянут!

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

Предлагаете хардкодить размер иконок и, соответственно, кнопок? А если пользователь специально выбрал компактную тему, а ему иконки 16x16 в 3 раза растянут!

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

И что за «компактная тема»? Есть набор размеров значков, которые предоставляет тема. Приложение запрашивает значок определённого размера, и если он есть, то он уже правильного размера, а если его нет, то он скейлится.

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

Например, цвета выделения. Фон - стандартный.

У кого-то дальтонизм? Там много цветов, представляешь?

Аналогично.

Нет, не аналогично.

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

Вот они и задают свою палитру. А дистрибутивостроители им переопределяют.

Не задали минимальный размер значков/не включили scaling.

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

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

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

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

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

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

Пиксельная графика в ненатурально размере уж очень убого выглядит. Так что в некоторых случаях лучше показать как есть. Но в общем мы внесли ясность: не только цвета, но и размер значков должен браться из темы. Шикарно.

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

У кого-то дальтонизм? Там много цветов, представляешь?

Где? Я вижу лишь градиент из цвета фона в цвет выделения.

Нет, не аналогично.

См. снимок выше.

Вот они и задают свою палитру. А дистрибутивостроители им переопределяют.

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

У кого-то реально дальтонизм. А ничего, что половина иконок в одном стиле, половина у другом?

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

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

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

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

Но в общем мы внесли ясность: не только цвета, но и размер значков должен браться из темы

Ясность внесли, по-видимому, голоса в вашей голове, ибо я этого не говорил.

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

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

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

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

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

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

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

В приложения для DE имеем конечное количество виджетов, конечнок количество иконок - тут можно делать темы и иконпаки.

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

Где? Я вижу лишь градиент из цвета фона в цвет выделения.

Там восемь вариантов анализатора. Даже на твоём скриншоте три цвета, не считая фонового.

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

Вот-вот. И получаем ярко-белый рабочий лист в тёмной теме. Привет любителям темизировать.

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

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

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

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

Вопрос о том, на хрена так делать, остаётся открытым.

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

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

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

1. Пропала иконка с кнопки выбора пути: https://pic4a.ru/iHa9/

2. Иконка «отправить ссылку» в этой теме иконок выглядит как квадратик со стрелочкой вправо, а вместо неё рисуется что-то по смыслу другое: https://pic4a.ru/ihZI/

3. Единственная цветная иконка на всё приложение, хотя и подходящая по смыслу: https://pic4a.ru/iiAU/

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