Jump to content

Оформление на стороне клиента

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

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

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

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

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

[ редактировать ]

Термин « оформление на стороне клиента» происходит от системы X Window , где клиентом является приложение, которое отображает окно и отправляет его на X- сервер , который управляет отображением. Альтернатива называется украшением на стороне сервера (SSD), хотя на X украшение рисуется оконным менеджером, который на самом деле не является «сервером». Эти термины также используются в Wayland , где клиентом является приложение, которое отображает окно и отправляет его на сервер Wayland, который управляет отображением, а также функционирует как оконный менеджер композиции .

Реализации

[ редактировать ]

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

[ редактировать ]

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

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

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

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

Электрон

[ редактировать ]

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

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

[ редактировать ]
Deepin File Manager — приложение на базе Qt с оформлением на стороне клиента.

Deepin Tool Kit — небольшой модифицированный набор инструментов виджетов на основе Qt5 , он используется Deepin Desktop Environment .

Приложения

[ редактировать ]

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

  • Steam использует собственный набор виджетов под названием «VGUI».
  • Firefox использует украшения на стороне клиента, когда строка заголовка отключена.
  • Google Chrome и другие браузеры на основе Chromium используют украшения на стороне клиента в Windows и macOS и поддерживают как клиентские, так и серверные украшения в Linux.

Серверы отображения

[ редактировать ]

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

Ограничения

[ редактировать ]

Если приложение зависает, пользователь не может закрыть его, нажав кнопку закрытия в рамке окна. [10]

  • В 2008 году Adobe выпустила Photoshop CS4, в котором используются украшения на стороне клиента.
  • В 2012 году Microsoft использует украшения на стороне клиента в своем новом языке дизайна Metro, добавляя объекты панели инструментов, такие как кнопки «Назад», в строку заголовка Windows.
  • В 2013 году в GTK добавлена ​​поддержка украшений на стороне клиента с выпуском GTK 3.10. [11]

См. также

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


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9c0a14306fe30adc0258064cd6bc8b2c__1715288520
URL1:https://arc.ask3.ru/arc/aa/9c/2c/9c0a14306fe30adc0258064cd6bc8b2c.html
Заголовок, (Title) документа по адресу, URL1:
Client-side decoration - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)