X оконный менеджер - X window manager

Оконная система на основе протокола X11 поддерживает сервер дисплея и менеджер окон в качестве отдельных компонентов ,

Менеджер X окно является оконный менеджер , который работает на верхней части системы X Window System , система управления окнами используется в основном на Unix-подобных системах.

В отличие от платформ MacOS Classic , macOS и Microsoft Windows (за исключением замененной оболочки Microsoft Windows explorer.exe ), которые исторически предоставляли фиксированный набор способов, контролируемых поставщиком, для управления отображением окон и панелей на экране и тем, как пользователь может Взаимодействовать с ними, управление окнами для X Window System было намеренно отделено от программного обеспечения, обеспечивающего графическое отображение. Пользователь может выбирать между различными сторонними оконными менеджерами, которые отличаются друг от друга несколькими способами, в том числе:

  • настраиваемость внешнего вида и функционала:
  • потребление памяти и других системных ресурсов
  • степень интеграции со средой рабочего стола , которая обеспечивает более полный интерфейс с операционной системой и предоставляет ряд интегрированных утилит и приложений.

Как работают оконные менеджеры X

Когда оконный менеджер запущен, некоторые виды взаимодействия между X-сервером и его клиентами перенаправляются через оконный менеджер. В частности, всякий раз, когда делается попытка показать новое окно, этот запрос перенаправляется диспетчеру окон, который определяет начальную позицию окна. Кроме того, в большинстве современных оконных менеджеров происходит повторное родительство , что обычно приводит к размещению баннера в верхней части окна и рисованию декоративной рамки вокруг окна. Эти два элемента контролируются оконным менеджером, а не программой. Следовательно, когда пользователь щелкает или перетаскивает эти элементы, именно оконный менеджер выполняет соответствующие действия (такие как перемещение или изменение размера окна).

Оконные менеджеры также отвечают за значки . Действительно, значки не существуют на уровне протокола ядра X Window System . Когда пользователь запрашивает отображение окна в виде значка, диспетчер окон отключает его (делает его невидимым) и предпринимает соответствующие действия, чтобы отобразить значок на его месте. Большинство современных оконных менеджеров больше не отображают значки для отображения окон в буквальном смысле. Часто вспомогательная программа панели инструментов позволяет получить доступ к окнам с иконками.

Хотя основной целью оконного менеджера является управление окнами, многие оконные менеджеры имеют дополнительные функции, такие как обработка щелчков мыши в корневом окне , представление панелей и других визуальных элементов, обработка некоторых нажатий клавиш (например, Alt-F4 может закрыть окно ), решая, какое приложение запускать при запуске и т. д.

Существуют стандартизированные протоколы, позволяющие обычным клиентам общаться с оконным менеджером. Первоначально это руководство по соглашениям между клиентами (ICCCM), но оно было заменено расширенными подсказками диспетчера окон (EWMH). Эти протоколы позволяют клиентам запрашивать заголовки для окон и значков, проверять, является ли окно значком, которое может быть закреплено или свернуто, и, возможно, настраивать оформление окон, какой виртуальный рабочий стол занимает окно. Дополнительная информация из оконного менеджера доступна через основной протокол, включая видимость окон, например, если окно скрыто на другом виртуальном рабочем столе , и выяснение настроек для фреймов оконного менеджера.

Типы оконных менеджеров

Укладка оконных менеджеров

Оконный менеджер штабелирования оказывает окна один за одним на экран в определенных координатах. Если область одного окна перекрывает другую, то окно «наверху» перезаписывает часть видимого внешнего вида другого. Это приводит к появлению знакомого многим пользователям внешнего вида, в котором окна немного похожи на листы бумаги на рабочем столе, которые можно перемещать и позволять перекрывать друг друга.

В отличие от композитных оконных менеджеров (см. Ниже), отсутствие отдельных внеэкранных буферов может означать повышенную эффективность, но такие эффекты, как полупрозрачность, невозможны.

Стеклянные оконные менеджеры включают Amiwm , Blackbox , Enlightenment , Fluxbox , FVWM , IceWM , MWM , Openbox и Window Maker .

Тайловые оконные менеджеры

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

Тайловые оконные менеджеры включают awesome , dwm , ion , larswm , ratpoison , Stumpwm , wmii , i3 , xmonad и XWEM .

Составление оконных менеджеров

Композитинга менеджер окон может появиться пользователю аналогично оконным менеджером штабелирования. Однако отдельные окна сначала визуализируются в отдельных буферах, а затем их изображения накладываются на экранный буфер; этот двухэтапный процесс означает, что можно применять визуальные эффекты (такие как тени, полупрозрачность). Это также означает, что составные оконные менеджеры по своей природе более требовательны к ресурсам, чем эквивалентные по мощности оконные менеджеры стекирования. По этой причине некоторые оконные менеджеры для X не поддерживают композицию по умолчанию, например Openbox . Композиция в Lubuntu

Исторически сложилось так , что Amiga в 1985 году, OSX в 2001 году, Java Looking Glass в 2003 году и демонстрация Windows Longhorn в 2003 году (отложенная до Vista в 2007 году) предшествовали усилиям по компоновке под X11. Составные оконные менеджеры для X включают:

Поддержка композитинга может быть добавлена ​​к оконным менеджерам без компоновки с помощью композиторов, таких как compton .

Виртуальные оконные менеджеры

Менеджер виртуального окна является оконным менеджером , который использует виртуальные экраны, разрешение которого может быть выше , чем разрешение своего монитора / адаптера дисплея , таким образом , напоминающего двумерный виртуальный рабочим стола с его видовым . Эта среда очень полезна, когда нужно одновременно открывать большое количество окон. Создан ряд виртуальных оконных менеджеров, включая FVWM , Tvtwm , HaZe и другие.

Расширяемые оконные менеджеры

Некоторые оконные менеджеры можно расширять или программировать с помощью пользовательских сценариев.

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

Некоторые примеры таких оконных менеджеров и используемых языков:

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

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

Внешние ссылки