Инициатива по переводу приложений на декорирование окон на стороне клиента

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.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Инициатива по переводу приложений на декорирование окон на стороне клиента», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.