Window manager (Русский)

Состояние перевода: На этой странице представлен перевод статьи Window manager. Дата последней синхронизации: 20 января 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Оконный менеджер (WM) — программа, которая управляет отображением окон в оконной системе графического интерфейса пользователя (GUI). Он может являться частью среды рабочего стола или работать отдельно.

Примечание: Оконные менеджеры есть только в Xorg. Эквивалент оконных менеджеров в Wayland называется композиторы, потому что они также работают как композитные менеджеры окон.

Обзор

Оконные менеджеры работают в роли клиентов оконной системы X, которые управляют внешним видом и поведением прямоугольных фреймов («окон»), где отображаются элементы интерфейса графических программ. Они добавляют фрейму рамку, панель заголовка, возможность изменять его размер и т. д., а также часто предоставляют дополнительную функциональность — например, создают специальные области на экране для «приклеивания» виджетов (dockapps), как Window Maker, или позволяют объединить несколько приложений в одном окне, переключаясь между ними с помощью вкладок, как Fluxbox. Некоторые оконные менеджеры даже включают в свой набор простые утилиты вроде меню запуска программ или графического инструмента для настройки самого менеджера.

Спецификация Extended Window Manager Hints от X Desktop Group создана и используется для того, чтобы позволить разным оконным менеджерам единообразно взаимодействовать с сервером X и другими клиентами.

Некоторые оконные менеджеры разрабатываются в рамках более крупных проектов сред рабочего стола, и, как правило, они теснее интегрируются в среду, создавая более полноценное рабочее окружение, дополненное значками рабочего стола, шрифтами, разнообразными панелями, нескучными обоями и виджетами рабочего стола.

Другие оконные менеджеры предназначены для независимого использования, что даёт пользователю полную свободу выбора других приложений, которые будут использоваться. Это позволяет пользователю создавать более лёгкую и настраиваемую среду, адаптированную для их собственных нужд. «Дополнения» (значки, панели и т.п.) при необходимости добавляются сторонними приложениями.

Некоторые независимые оконные менеджеры можно использовать для замены стандартного оконного менеджера в среде рабочего стола; аналогично, некоторые DE-ориентированные оконные менеджеры можно использовать независимо.

Перед установкой оконного менеджера необходимо установить и настроить сервер X. Подробную информацию вы сможете получить на странице Xorg.

Типы

  • Стековые (также плавающие) оконные менеджеры следуют традиционной метафоре рабочего стола, которая используется в коммерческих операционных системах вроде Windows и macOS. Окна отображаются подобно листкам бумаги на столе, накладываясь и перекрывая друг друга. Список статей о стековых оконных менеджерах смотрите в категории Стековые оконные менеджеры.
  • Фреймовые (тайловые) оконные менеджеры располагают окна на экране в виде плиток (фреймов) так, что они не перекрывают друг друга. Как правило, фреймовые оконные менеджеры подразумевают активное использование клавиатуры для управления окнами и имеют слабую поддержку мыши (либо не имеют её вовсе). Фреймовые оконные менеджеры могут предлагать набор стандартных расположений фреймов или позволять задавать их вручную. Список статей о фреймовых оконных менеджерах смотрите в категории Фреймовые оконные менеджеры.
  • Динамические оконные менеджеры позволяют динамически переключаться между двумя режимами — стековым и фреймовым. Список статей о динамических оконных менеджерах смотрите в категории Динамические оконные менеджеры.

Сравнение популярных оконных менеджеров вы можете найти на страницах Сравнение тайловых оконных менеджеров и Wikipedia:Comparison of X window managers.

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

Стековые оконные менеджеры

  • 2bwm Быстрый стековый менеджер, отличающийся наличием двойной рамки у окон на основе mcwm, написанной Майклом Карделлом. В 2bwm вся функциональность доступна с клавиатуры, однако, мышь также может быть использована для управления окнами.
https://github.com/venam/2bwm || 2bwmAUR
  • 9wm Оконный менеджер X11, вдохновлённый rio из Plan 9.
https://github.com/9wm/9wm || 9wmAUR
  • AfterStep Оконный менеджер для X Window System. Изначально повторяющий внешний вид интерфейса NeXTStep, он предоставляет конечным пользователям гармоничный, чистый и элегантный рабочий стол. Целью разработки AfterStep является предоставление возможности гибкой настройки рабочего стола и эстетичного дизайна при эффективном использовании системных ресурсов.
http://www.afterstep.org/ || afterstep-gitAUR
  • berry Компактный оконный менеджер, написанный на C для Unix-систем. Он управляется через клиент командной строки, что позволяет пользователям управлять окнами с помощью демона горячих клавиш, такого как sxhkd, или расширять функциональность с помощью скриптов. Он предоставляет расширяемые параметры оформления с двойными рамками, строками заголовка и текстом окна. Berry интуитивно размещает новые окна в незанятых местах и поддерживает виртуальные рабочие столы.
https://berrywm.org/ || berry-gitAUR
  • Blackbox Быстрый и лёгкий оконный менеджер для X без всех этих раздражающих зависимостей. Blackbox написан на C++ и содержит полностью собственный код (хотя реализация графики идентична таковой в WindowMaker).
https://blackboxwm.sourceforge.net/ || blackbox
  • Compiz Композитный менеджер на основе OpenGL, использующий GLX_EXT_texture_from_pixmap для использования изображений окон в качестве текстур. У него есть гибкая система плагинов и он спроектирован для работы на большинстве графических ускорителей.
https://launchpad.net/compiz || compizAUR, compiz-coreAUR
  • cwm Изначально отделившийся от evilwm, но позже переписанный с нуля. cwm нацелен на простоту и при этом предлагает некоторые полезные возможности, такие как поиск окон.
https://github.com/chneukirchen/cwm || cwmAUR
  • eggwm Легковесный оконный менеджер Qt4/Qt5.
eggwm-qt5AUR || eggwmAUR
  • Enlightenment Это не просто оконный менеджер для X11, но и целый набор библиотек, которые помогут вам создать отличные пользовательские интерфейсы с много меньшими затратами времени и сил, чем при использовании более консервативных тулкитов, не говоря уже о других оконных менеджерах.
https://www.enlightenment.org/ || enlightenment
  • evilwm Минималистичный оконный менеджер для X Window System. Минималистичный тут не значит, что этот менеджер голый и неюзабельный — под этим имеется в виду, что он в нём отказались от всего, что делает неюзабельными другие оконные менеджеры.
https://www.6809.org.uk/evilwm/ || evilwmAUR
  • Fluxbox Оконный менеджер для X, основанный на коде Blackbox 0.61.1. Нетребователен к ресурсам и практичен в использовании, при этом полон возможностей для создания простой и очень быстрой рабочей среды. Он написан на C++ и имеет лицензию MIT.
https://github.com/fluxbox/fluxbox || fluxbox
  • Flwm Попытка совместить лучшие идеи из разных оконных менеджеров. Основное влияние и кодовую базу получил от wm2 автора Криса Каннама.
https://flwm.sourceforge.net/ || flwmAUR
  • FVWM Мощный ICCCM-совместимый много-виртуально-десктопный оконный менеджер для X Window System. Находится в активной разработке и имеет отзывчивую техподдержку.
https://www.fvwm.org/ || fvwmAUR
  • Gala Симпатичный оконный менеджер из Elementary OS, является частью Pantheon. Также, являясь композитным менеджером, работает на libmutter.
https://launchpad.net/gala || gala, gala-gitAUR
  • Goomwwm Оконный менеджер X11, написанный на C по методологии «чистой комнаты». Он предоставляет возможность гибкого управления окнами посредством клавиатуры: есть горячие клавиши для переключения окон, изменения размеров, перемещения, укладывания плиткой и других операций. Он также быстрый, лёгкий, знает, что такое Xinerama, и совместим с EWMH везде, где только это возможно.
https://github.com/seanpringle/goomwwm || goomwwmAUR
  • IceWM Оконный менеджер для X. Целью своей ставит стремление к скорости, простоте и старается как можно меньше раздражать пользователя при работе.
https://ice-wm.org/ || icewm
  • jbwm Оконный менеджер, основанный на evilwm, с минимальным размером конфигурации примерно 16 КБ, ориентированный на небольшой размер бинарника и удобство использования, включающий дополнительные строки заголовка и XFT title-bar font rendering как опцию при компиляции. jbwm также имеет более простые сочетания клавиш, чем evilwm.
https://github.com/jefbed/jbwm || jbwmAUR
  • JWM Оконный менеджер для X, написан на C и использует только Xlib.
https://joewing.net/projects/jwm/ || jwmAUR
  • Karmen Оконный менеджер для X, написанный Йоханом Винхуйзеном. "Создан, чтобы просто работать". Тут нет никаких файлов настройки и других зависимостей, кроме Xlib. Karmen совместим с ICCCM и EWMH.
https://karmen.sourceforge.net/ || karmenAUR
  • KWin Стандартный оконный и композитный менеджер KDE. Это позволяет KWin использовать разнообразные графические эффекты, подобно Compiz, при этом также предоставляя все возможности с предыдущих релизов KDE (например, очень неплохую интеграцию со средой, гибкость в настройке, предотвращения потери фокуса, надёжный механизм обработки сбоев приложений/тулкитов и т. д.). Также может работать как композитор Wayland.
https://techbase.kde.org/Projects/KWin || kwin
  • lwm Оконный менеджер для X, который всеми силами прячется от вас. Вы не увидите значков, кнопок, панелей, меню, ничего: если вам что-нибудь из этого нужно, устанавливайте сторонние программы. Здесь нет никаких настроек вообще: если они вам нужны, используйте другой оконный менеджер — такой, который поможет вашей операционной системе оккупировать все свободное пространство на вашем жестком диске, а потом примется за вашу оперативную память.
http://www.jfc.org.uk/software/lwm.html || lwmAUR
  • Marco Оконный менеджер MATE, форк Metacity.
https://github.com/mate-desktop/marco || marco
  • Metacity Этот оконный менеджер стремится быть компактным и стабильным, при этом просто тихо выполнять свою работу и не отвлекать пользователя. Он использовался в GNOME 2 и GNOME Flashback, ныне его заменил Mutter.
https://blogs.gnome.org/metacity/ || metacity
  • MLVWM Macintosh-Like Virtual Window Manager, потомок FVWM, который пытается имитировать внешний вид и дизайн окон Macintosh до появления Mac OS X.
http://www2u.biglobe.ne.jp/~y-miyata/mlvwm.html || mlvwmAUR
  • Muffin Менеджер окон и композитинга для Cinnamon, форк Mutter, основан на Clutter, использует OpenGL. Его нельзя использовать отдельно от Cinnamon.
https://github.com/linuxmint/muffin/ || muffin
  • Mutter Оконный и композитный менеджер для GNOME, основанный на Clutter; использует OpenGL. Также может работать как композитор Wayland.
https://gitlab.gnome.org/GNOME/mutter/ || mutter
  • MWM Менеджер окон Motif (MWM) — это менеджер окон X, основанный на наборе инструментов Motif.
https://sourceforge.net/projects/motif/ || openmotif
  • Openbox Очень гибкий в настройке оконный менеджер с расширенной поддержкой разнообразных стандартов. Визуальный стиль *box хорошо известен своей минималистичностью. Openbox предоставляет большое количество возможностей для разработчиков тем оформления, чем предыдущие реализации *box.
https://openbox.org/ || openbox
  • pawm Оконный менеджер для X Window system. Он не предоставит вам рабочий стол и не утомит тысячами бесполезных опций. Вместо этого, он включает в себя только те компоненты, которые нужны для запуска ваших приложений X и в то же время имеет простой и дружелюбный интерфейс.
https://www.pleyades.net/david/projects/pawm || pawmAUR
  • PekWM Оконный менеджер, некогда основывавшийся на aewm++, но теперь уже далеко от него ушедший. У него сильно больший набор возможностей, например группировка окон (аналогично Ion, PWM, или Fluxbox), auto-properties, Xinerama, keygrabber с поддержкой наборов ключей и многое другое.
https://www.pekwm.org/ || pekwm
  • Sawfish Расширяемый оконный менеджер, который использует скриптовый язык наподобие Lisp. Его политика очень минимальна по сравнению с большинством оконных менеджеров. Его цель — просто управлять окнами наиболее гибким и привлекательным способом. Многие высокоуровневые функции также реализованы на Lisp.
https://sawfish.wikia.com/wiki/Main_Page || sawfishAUR
  • sowm Simple Opinionated Window Manager, обеспечивает переключение в полноэкранный режим, центрирование окон и смешанный рабочий процесс (например, мышь и клавиатура).
https://github.com/dylanaraps/sowm || sowmAUR
  • TinyWM Оконный менеджер Tiny, который автор создал, чтобы поупражняться в минимализме. Он может быть весьма полезен в обучении основ построения оконных менеджеров. Включает в себя около 50 строк кода на C. Есть также версия на python, которая использует python-xlib.
http://incise.org/tinywm.html || tinywmAUR
  • twm Простой оконный менеджер для X, используется как менеджер по умолчанию в Xorg с 1989 года. Он предоставляет заголовки окон, рамки, несколько способов управления значками, макросы, а также поддержку горячих клавиш.
https://gitlab.freedesktop.org/xorg/app/twm/ || xorg-twm
  • ukwm Лёгкий оконный менеджер GTK, стандартный оконный менеджер среды рабочего стола UKUI.
https://github.com/ukui/ukwm/ || ukwm
  • UWM Оконный менеджер UDE.
https://udeproject.sourceforge.net/ || udeAUR
  • Wind Небольшой стековый оконный менеджер. Пытается соответствовать ICCCM, EHWM, NetWM.
https://windwm.sourceforge.net/ || windwmAUR
  • WindowLab Компактный и простой оконный менеджер. Имеет свои отличительные особенности.
https://github.com/nickgravgaard/windowlab || windowlabAUR
  • Window Maker Оконный менеджер для X11, изначально разработанный для поддержки интеграции для GNUstep Desktop Environment. Везде, где возможно, он повторяет элегантный стиль графического интерфейса NEXTSTEP. Он быстрый, обладает широкими возможностями, прост в настройке и использовании.
https://windowmaker.org/ || windowmakerAUR
  • WM2 Оконный менеджер для X. Он предоставляет необычный стиль оформления окон и настолько скромную функциональность, насколько его автору кажется приемлемым для оконного менеджера. wm2 ненастраиваемый: вы можете только редактировать исходный код и пересобирать его. Он точно не для тех, кому нужен дружелюбный оконный менеджер.
https://www.all-day-breakfast.com/wm2/ || wm2AUR
  • worm Динамический оконный менеджер на основе тегов для X11. Он поддерживает как стековое, так и фреймовое размещение окон. Написан на языке программирования Nim.
https://github.com/codic12/worm || worm-gitAUR
  • Xfwm Оконный менеджер Xfce управляет отображением окон на экране, предоставляет привлекательное оформление окон, управляет виртуальными рабочими столами и умеет работать с несколькими экранами. Предоставляет собственный композитный режим (благодаря расширению X.Org Composite) для прозрачности и теней. Оконный менеджер Xfce также включает редактор сочетаний клавиш для команд пользователя, а также панель настроек для конфигурирования.
https://docs.xfce.org/xfce/xfwm4/start || xfwm4

Фреймовые оконные менеджеры

  • Bspwm Фреймовый оконный менеджер, который предоставляет окна как листья бинарного дерева. Есть поддержка EWMH и нескольких мониторов, а ещё он настраивается и управляется посредством сообщений.
https://github.com/baskerville/bspwm || bspwm
  • EXWM EXWM (Emacs X Window Manager) — полнофункциональный оконный менеджер X Window для Emacs, построенный на основе XELB. Он предлагает полностью управляемые с клавиатуры операции, гибридные режимы макета (tiling & stacking), динамические рабочие пространства, соответствие ICCCM/EWMH, поддержку RandR (несколько мониторов) и встроенный системный трей.
https://github.com/ch11ng/exwm || emacs-exwm-gitAUR
  • Herbstluftwm Фреймовый оконный менеджер для X11, использующий Xlib и Glib. Размещение фреймов основано на принципе разделения областей экрана на подфреймы, которые, в свою очередь, также могут быть разделены снова (все как в i3/musca). Тэги (виртуальные рабочие столы) могут быть добавлены или убраны «на лету». Каждый тэг имеет собственную схему размещения. Только один тег может быть отображён на каждом мониторе, но, в целом, теги независимы от экранов (как в xmonad). Он настраивается в рантайме посредством IPC-вызовов от herbstclient. Поэтому файл настроек — это просто скрипт, который запускается при старте системы (как в wmii/musca).
https://herbstluftwm.org || herbstluftwm
  • i3 Фреймовый оконный менеджер, написанный полностью с нуля. i3 был создан оттого, что любимый разработчиками wmii не предоставлял некоторых возможностей, которые они хотели (например, работа на нескольких мониторах работала со сбоями), развивался медленно и был сложен в освоении и кастомизации (отсутствовала документация/комментарии в исходном коде). i3 заметно отличается в плане поддержки нескольких экранов и реализации метафоры дерева. Интерфейс Plan 9 не был реализован для более быстрой работы менеджера.
https://i3wm.org/ || i3-wm
  • Larswm Фреймовый оконный менеджер, основанный на 9wm.
http://porneia.free.fr/larswm/larswm.html || larswmAUR
  • LeftWM Фреймовый оконный менеджер, написанный на Rust.
https://leftwm.org || leftwmAUR
  • Notion Фреймовый оконный менеджер с поддержкой вкладок для X Window System.
    • Фреймы: вы разделяете экран на неперекрывающиеся фреймы. Каждое окно занимает целиком один фрейм.
    • Вкладки: фрейм может иметь несколько окон внутри, но отображается всегда только одно — окно текущей вкладки.
    • Статичность: большинство фреймовых менеджеров динамические, что значит, что они автоматически изменяют размер и передвигают фреймы при появлении и исчезновении окон. Notion, однако, не делает этого самостоятельно.
Notion — форк Ion3.
https://notionwm.net/ || notion
  • Ratpoison Простой оконный менеджер без объёмных зависимостей, ненужных эффектов и декораций окон. Ratpoison настраивается в обычном текстовом файле. Информационная панель в Ratpoison несколько необычная и показывается только по необходимости. Она предоставляет возможность запуска приложений и отображает уведомления. Ratpoison не включает в себя системный трей.
https://www.nongnu.org/ratpoison/ || ratpoisonAUR
  • Stumpwm Фреймовый оконный менеджер для X11, нацеленный на управление с клавиатуры, и написанный целиком на Common Lisp. Stumpwm старается одновременно быть гибок в настройке и кастомизации, и при этом визуально минималистичен. Различные хуки позволяют подключить вашу собственную функциональность, а сам менеджер может быть перенастроен и перезагружен без полного перезапуска. Здесь нет декораций окон, значков, кнопок и системного трея. Информационная панель может быть настроена для постоянного отображения, либо появляться только по требованию.
https://stumpwm.github.io/ || stumpwm

Динамические оконные менеджеры

  • awesome Гибко настраиваемый с помощью скриптового интерпретатора Lua оконный менеджер для X нового поколения, очень быстрый и расширяемый. Выпускается под лицензией GNU GPLv2. Имеет встроенные системный трей, панель информации и панель запуска приложений. Доступно множество расширений, написанных на Lua. Awesome использует XCB вместо Xlib, что дает лучшую производительность.
https://awesomewm.org/ || awesome
  • dwm Dynamic Window Manager, оконный менеджер для X. Управляет окнами в фреймовом, полноэкранном и стековом режимах. Все схемы размещения могут быть изменены динамически. Не включает в себя трей или панель запуска, хотя неплохо интегрируется с dmenu (всё-таки у них один автор). Настраивается модификацией кода C с последующей перекомпиляцией.
https://dwm.suckless.org/ || dwmAUR
  • echinus Простой и лёгкий фреймовый и стековый оконный менеджер для X11. Изначально являясь форком dwm с более простой настройкой, echinus стал полноценным репарентинговым оконным менеджером с поддержкой EWMH. Имеет панель задач ouricoAUR, совместимую с EWMH.
http://plhk.ru || echinusAUR
  • FrankenWM Продолжение monsterwm с правильно реализованным стековым режимом. Из добавленных возможностей: новые схемы размещения (fibonacci, equal stack, dual stack), рамки и отступы можно настраивать, сворачивание/разворачивание отдельных окон, возможность показать/спрятать все окна и прочее.
https://github.com/sulami/FrankenWM || frankenwmAUR
  • spectrwm Компактный динамический фреймовый оконный менеджер для X11, на который в свое время повлияли xmonad и dwm. Старается занимать как можно меньше места на экране, предоставляя возможность распорядиться им для более важных вещей. Настраивается в текстовом файле. Написан хакерами для хакеров и стремится быть легким, компактным и быстрым. Имеет встроенную строку статуса.
https://github.com/conformal/spectrwm/ || spectrwmAUR
  • Qtile Полнофункциональный фреймовый оконный менеджер, написанный на Python. Qtile простой, компактный и расширяемый. Легко создавать собственные схемы размещения, виджеты и встроенные команды. Настраивается этот менеджер также изменением кода Python, таким образом, вы получаете всю мощь языка для удовлетворения любых собственных нужд.
https://github.com/qtile/qtile || qtile
  • Wingo Полнофункциональный гибридный оконный менеджер, который позволяет отображать разные рабочие столы на нескольких экранах, при этом позволяя на одном экране работать во фреймовом режиме, а на другом — в стековом одновременно. Wingo предоставляет также собственный язык для написания скриптов. Поддерживаются темы и пользовательские хуки. Wingo написан на Go и не имеет зависимостей.
https://github.com/BurntSushi/wingo || wingo-gitAUR
  • xmonad Динамический фреймовый оконный менеджер для X11, написанный и настраиваемый на Haskell. В обычном менеджере вы тратите кучу времени на размещение окон, а затем на их поиск. Xmonad делает жизнь проще, автоматизируя эти процессы. После изменения в настройках xmonad необходимо перекомпилировать, поэтому должен быть установлен компилятор Haskell (больше 100 МБ). Большая библиотека xmonad-contrib предоставляет множество дополнительных возможностей.
https://xmonad.org/ || xmonad

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

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.