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