Менеджер X окно является оконный менеджер , который работает на верхней части системы X Window System , система управления окнами используется в основном на Unix-подобных системах.
В отличие от платформ MacOS Classic , macOS и Microsoft Windows (за исключением замененной оболочки Microsoft Windows explorer.exe ), которые исторически предоставляли фиксированный набор способов, контролируемых поставщиком, для управления отображением окон и панелей на экране и тем, как пользователь может Взаимодействовать с ними, управление окнами для X Window System было сознательно отделено от программного обеспечения, обеспечивающего графическое отображение. Пользователь может выбирать между различными сторонними оконными менеджерами, которые отличаются друг от друга несколькими способами, в том числе:
- настраиваемость внешнего вида и функционала:
- текстовые меню, используемые для запуска программ и / или изменения параметров
- доки и другие графические способы запуска программ
- несколько рабочих столов и виртуальных рабочих столов (рабочие столы больше размера физического монитора) и пейджеры [1] для переключения между ними
- потребление памяти и других системных ресурсов
- степень интеграции со средой рабочего стола , которая обеспечивает более полный интерфейс с операционной системой и предоставляет ряд интегрированных утилит и приложений.
Как работают оконные менеджеры X
Когда оконный менеджер запущен, некоторые виды взаимодействия между X-сервером и его клиентами перенаправляются через оконный менеджер. В частности, всякий раз, когда делается попытка показать новое окно, этот запрос перенаправляется диспетчеру окон, который определяет начальную позицию окна. Кроме того, большинство современных оконных менеджеров изменяют родительские качества , что обычно приводит к размещению баннера в верхней части окна и рисованию декоративной рамки вокруг окна. Эти два элемента контролируются оконным менеджером, а не программой. Следовательно, когда пользователь щелкает или перетаскивает эти элементы, именно оконный менеджер выполняет соответствующие действия (например, перемещение или изменение размера окна).
Оконные менеджеры также отвечают за значки . Действительно, значки не существуют на уровне протокола ядра X Window System . Когда пользователь запрашивает отображение окна в виде значка, диспетчер окон отключает его (делает его невидимым) и предпринимает соответствующие действия, чтобы отобразить значок на его месте. Большинство современных оконных менеджеров больше не отображают значки для отображения окон в буквальном смысле. Часто вспомогательная программа панели инструментов позволяет получить доступ к окнам с иконками.
Хотя основной целью оконного менеджера является управление окнами, многие оконные менеджеры имеют дополнительные функции, такие как обработка щелчков мыши в корневом окне , представление панелей и других визуальных элементов, обработка некоторых нажатий клавиш (например, Alt-F4 может закрыть окно ), решая, какое приложение запускать при запуске и т. д.
Существуют стандартизированные протоколы, позволяющие обычным клиентам общаться с оконным менеджером. Первоначально это руководство по соглашениям между клиентами (ICCCM), но оно было заменено подсказками расширенного оконного менеджера (EWMH). Эти протоколы позволяют клиентам запрашивать заголовки для окон и значков, проверять, является ли окно значком, которое может быть закреплено или свернуто, и, возможно, настраивать оформление окон, какой виртуальный рабочий стол занимает окно. [1] Дополнительная информация из оконного менеджера доступна через основной протокол, включая видимость окон, например, если окно скрыто на другом виртуальном рабочем столе , и выяснение настроек для рамок оконного менеджера. [ необходима цитата ]
Типы оконных менеджеров
Укладка оконных менеджеров
Оконный менеджер штабелирования оказывает окна один за одним на экран в определенных координатах. Если область одного окна перекрывает другую, то окно «сверху» перезаписывает часть видимого внешнего вида другого. Это приводит к появлению знакомого многим пользователям внешнего вида, в котором окна немного похожи на листы бумаги на рабочем столе, которые можно перемещать и позволять перекрывать друг друга.
В отличие от композитных оконных менеджеров (см. Ниже), отсутствие отдельных внеэкранных буферов может означать повышенную эффективность, но такие эффекты, как полупрозрачность, невозможны.
Стеклянные оконные менеджеры включают 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 включают:
- GNOME «s Mutter урожденная Metacity (первый DEV-ветвь наборщик в 2.7 [ править ] или 2,8 Вайбак машина 2004 года Linux Today - Release Digest: GNOME, 30 августа 2004 ПЕРВОНАЧАЛЬНО стабильная ветвь наборщика так 2,14 в 2005 Re: О Compositing или 2006 Metacity, ответвленный на 2.14 - текущая архитектура композитора, начиная с 2.22. Включите Metacity Compositing в GNOME 2.22 | Tombuntu в 2008 году - Metacity + Clutter породил Mutter в 2011 году),
- Xfce «s Xfwm (с 4,2 2004 года [ править ] или 2005 Xfce 4.2.0 выпустили! ),
- Единство «s Compiz (с 2005-был раздвоенный , как берилл в 2006 году , но эти проекты вновь объединены в 2007 году), и
- KDE «s KWin (с 4,0 в 2008 г.).
Поддержка компоновки может быть добавлена к оконным менеджерам без компоновки с помощью композиторов, таких как compton .
Виртуальные оконные менеджеры
Менеджер виртуального окна является оконным менеджером , который использует виртуальные экраны, разрешение которого может быть выше , чем разрешение своего монитора / адаптера дисплея , таким образом , напоминающего двумерный виртуальный рабочим стола с его видовым . Эта среда очень полезна, когда нужно одновременно открывать большое количество окон. Создан ряд виртуальных оконных менеджеров, включая FVWM , Tvtwm , HaZe и другие.
Расширяемые оконные менеджеры
Некоторые оконные менеджеры можно расширять или программировать с помощью пользовательских сценариев.
В этих оконных менеджерах пользователи могут определять новые действия или отменять действия по умолчанию или реакции на различные события, такие как изменение размера и положения окна, создание и удаление окна, ввод с помощью клавиш и мыши, таймер и т.д. выполнение кода тоже.
Вот несколько примеров таких оконных менеджеров и используемых языков:
- Потрясающе - Lua
- KWin - ECMAScript
- Qtile - Python
- Sawfish - «реп», диалект Лиспа.
- Xmonad - haskell
- StumpWM - Common Lisp
- GWM - " ШЕРСТЬ ", диалект Лиспа.
- Bspwm - C
Смотрите также
- Сравнение оконных менеджеров X
- Перенастройка оконного менеджера для популярной техники реализации
- Протоколы и архитектура системы X Window для контекста
- Оконная система
- Wmctrl - утилита командной строки, используемая для управления окнами в оконных менеджерах, совместимых с EWMH и NetWM.
- xdotool - еще одна утилита командной строки, используемая для управления окнами
- Композитор Wayland
Рекомендации
- ^ a b «Подсказки расширенного оконного менеджера» . standard.freedesktop.org . Проверено 16 сентября 2018 .
Внешние ссылки
- Полный список оконных менеджеров для Unix
- ArchWiki Список оконных менеджеров для Linux