Клиентское оформление - Client-side decoration

Пример приложения, использующего Client-Side Decoration для рисования собственных элементов управления окном. (Виджет GtkHeaderBar на Файлы GNOME, 2014-01)

Клиентское оформление (CSD) - это концепция, позволяющая графический программное обеспечение быть ответственным за рисование собственного оконные украшения, исторически ответственность оконный менеджер.[1]

Иногда украшение на стороне клиента используется для обозначения приложений, у которых нет традиционной строки заголовка, однако это неправильное употребление фразы, поскольку даже приложения, у которых есть основная строка заголовка, могут быть украшены на стороне клиента.[2]

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

Терминология

В Linux и Unix-подобный системы, это называется Украшение на стороне клиента который исходит из X Window System, где клиент - это приложение, которое отображает окно и отправляет его на X-сервер. Альтернатива называется Украшение на стороне сервера (SSD), хотя на X декорации рисуются оконным менеджером, который на самом деле не является «сервером».

Реализации

Наборы инструментов для виджетов

GTK

GTK был первым набором инструментов GUI в Linux, который реализовал оформление на стороне клиента с помощью виджета GtkHeaderBar.[4]

GtkHeaderBar объединяет заголовка, строка меню и панель инструментов в одну единую горизонтальную полосу, чтобы освободить больше места для содержимого приложения, потенциально уменьшая объем неиспользуемого пространства за счет отображения пустых полос. Это может помочь достичь гибкого пользовательского интерфейса и единообразного UX в разных компьютерные форм-факторы от настольных систем до малый форм-фактор устройств, удалив из приложений традиционные части, ориентированные на настольные компьютеры. Они имеют первоклассную поддержку в Оболочка GNOME и широко используются Приложения GNOME.

UWP

Универсальная платформа Windows приложения могут рисовать собственные строки заголовка.[5]

macOS

В macOS, AppKit приложения используют украшение на стороне клиента при использовании виджета NSWindow.[6]

Электрон

Электрон имеет возможность использовать окно без рамки (без панели инструментов, строки меню, вкладок), однако приложение отвечает за рисование собственных теней.[7]

Набор инструментов Deepin

Глубоко в Файловый менеджер, приложение на основе Qt с оформлением на стороне клиента.

Глубоко в Набор инструментов представляет собой небольшую модифицированную набор инструментов для виджетов на основе Qt5, он используется Среда рабочего стола Deepin.

Приложения

Известные приложения с оформлением на стороне клиента:

  • Пар, использует собственный набор инструментов для виджетов называется «ВГУИ».
  • Fire Fox использует клиентские украшения, когда строка заголовка отключена.
  • Гугл Хром использует оформление на стороне клиента в Windows и macOS и поддерживает как клиентское, так и серверное оформление в Linux.

Показать серверы

Wayland

Wayland был разработан для оформления на стороне клиента (включая тени окон) по умолчанию, но имеет дополнительный протокол, известный как xdg-decoration, который позволяет приложению (клиенту) запрашивать, поддерживает ли оконный менеджер оформление на стороне сервера, и если чтобы клиент мог запросить это.[8] Бормотать, композитор, используемый Оболочка GNOME в Wayland поддерживает только оформление на стороне клиента,[9] пока KWin поддерживает оформление как на стороне клиента, так и на стороне сервера.

История

  • В 2008 Adobe вышел Фотошоп CS4, в котором используются украшения на стороне клиента.
  • В 2012 Microsoft использует украшения на стороне клиента в своих новых метро язык дизайна, добавляя объекты панели инструментов, такие как кнопки возврата, в строку заголовка окна.
  • В 2013 году GTK добавила поддержку клиентских украшений с выпуском GTK 3.10.[10]

Смотрите также

Рекомендации

  1. ^ «Клиентские украшения, продолжение». blogs.gnome.org. Получено 2019-01-17.
  2. ^ "Небольшая заметка об украшениях окон | Флориан Мюлльнер". Получено 2019-11-13.
  3. ^ "Инициатива CSD требует, чтобы приложения отказались от полос заголовков в пользу полос заголовков - Phoronix". Фороникс. Получено 2018-01-28.
  4. ^ "GtkHeaderBar: Справочное руководство по GTK + 3". developer.gnome.org. Получено 2019-01-17.
  5. ^ mijacobs. «Настройка строки заголовка - приложения Windows UWP». docs.microsoft.com. Получено 2019-01-17.
  6. ^ "NSWindow - AppKit | Документация для разработчиков Apple". developer.apple.com. Получено 2019-06-07.
  7. ^ «Безрамное окно | Электрон». electronicjs.org. Получено 2019-01-17.
  8. ^ Разработка протокола Wayland, Wayland, 07.10.2019, получено 2019-11-13
  9. ^ Бернард, Тобиас. «Представляем инициативу CSD - Пространство и смысл». ГНОМ. Получено 2018-01-28.
  10. ^ "Выпущена GTK + 3.10 [LWN.net]". lwn.net. Получено 2019-01-17.

внешняя ссылка