Инициатива по переводу приложений на декорирование окон на стороне клиента
5 февраля 2018 года
Разработчики GNOME выступили с инициативой по переводу как можно большего числа приложений на декорирование окон на стороне клиента (CSD, Client Side Decoration), при котором заголовок и рамки окна отрисовываются не оконным менеджером, а самим приложением. CSD позволяет задействовать пропадающее впустую пространство заголовка окна для размещения меню, кнопок панели и других значимых элементов интерфейса.
Для унификации оформления на основе CSD предлагается придерживаться общих рекомендаций, таких как отказ от отдельной панели для заголовка окна, размещение типичных кнопок закрытия/раскрытия/сворачивания окна, предоставление штатного контекстного меню, вызываемого при клике правой кнопкой мыши, поддержка настроек для размещения кнопок в левой или правой части окна. Из достоинств перехода на CSD упоминается экономия вертикального экранного пространства в условиях преобладания широкоформатных экранов и более широкие возможности интеграции с содержимым окна. Кроме того, при работе GNOME поверх Wayland приложениям с прямой поддержкой Wayland (не через XWayland) предоставляется только возможность использования CSD.
Инициатива распространяется как на приложения GNOME, так и на любые другие графические программы, в том числе написанные с использованием Qt. В качестве первичных задач отмечена работа по реализации CSD для Chromium, Firefox, Blender, LibreOffice, GIMP, Inkscape, GNOME Terminal, Skype и Telegram. Среди менее приоритетных проектов упомянуты VLC, Krita, Kdenlive, Darktable, VirtualBox, Transmission и Thunderbird. Для упрощения портирования не-GTK приложений рассматривается возможность подготовки средств для применения CSD в стиле GNOME для приложений на базе Electron и Qt. Для использования CSD в приложениях на GTK2+ предлагается портировать их на GTK3+.
Мартин Грэсслин (Martin Gräßlin), ведущий разработчик оконного менеджера KWin, не согласился с предложением разработчиков GNOME и посчитал его лукавством. При классической отрисовке служебных областей окна на стороне сервера (SSD, Server Side Decoration) гораздо проще привести к единому стилю оформление окон всех приложений. В случае применения CSD потребуется отдельно адаптировать интерфейс к каждому графическому окружению и достаточно трудно добиться того, чтобы приложение не выглядело чужеродно в разных пользовательских окружениях.
Грэсслин считает надуманным упоминание того, что Wayland вынуждает переводить приложения на CSD, так как ничто в Wayland не обязывает применять CSD. CSD требуют GNOME Shell и Weston, но работающие поверх Wayland окружения KDE Plasma и Sway не привязаны к CSD. Разработчики KDE подготовили расширение для протокола Wayland, которое уже поддерживается в GTK и позволяет согласовывать с композитным сервером Wayland использование CSD или SSD. Переход на CSD достаточно трудоёмкая работа и не желающие её выполнять разработчики тулкитов с тем же успехом могут призвать GNOME реализовать декорирование на стороне сервера, тем более, что они сами нуждаются в её поддержке для XWayland.
В ответ авторы инициативы указали на то, что пока не планируют добавлять в GNOME Shell поддержку предложенного расширения к протоколу Wayland. Также указано, что инициатива касается только оптимизации интерфейса приложений для GNOME и не обязывает разработчиков отказаться от использования обычных заголовочных панелей в других пользовательских окружениях. Для выбора режима декорирования окна в приложениях также может предоставляться специальная настройка, как это сделано в Chromium.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.