Window manager (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Window manager
. Дата последней синхронизации: 20 января 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Xdg-menu (Русский)
Xorg (Русский)
xinit (Русский)
Wayland (Русский)#Композиторы
Среда рабочего стола
Оконный менеджер
Оконный менеджер
(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
||
2bwm
AUR
9wm
— Оконный менеджер X11, вдохновлённый rio из Plan 9.
https://github.com/9wm/9wm
||
9wm
AUR
AfterStep
— Оконный менеджер для X Window System. Изначально повторяющий внешний вид интерфейса NeXTStep, он предоставляет конечным пользователям гармоничный, чистый и элегантный рабочий стол. Целью разработки AfterStep является предоставление возможности гибкой настройки рабочего стола и эстетичного дизайна при эффективном использовании системных ресурсов.
http://www.afterstep.org/
||
afterstep-git
AUR
berry
— Компактный оконный менеджер, написанный на C для Unix-систем. Он управляется через клиент командной строки, что позволяет пользователям управлять окнами с помощью демона горячих клавиш, такого как
sxhkd
, или расширять функциональность с помощью скриптов. Он предоставляет расширяемые параметры оформления с двойными рамками, строками заголовка и текстом окна. Berry интуитивно размещает новые окна в незанятых местах и поддерживает виртуальные рабочие столы.
https://berrywm.org/
||
berry-git
AUR
Blackbox
— Быстрый и лёгкий оконный менеджер для X без всех этих раздражающих зависимостей. Blackbox написан на C++ и содержит полностью собственный код (хотя реализация графики идентична таковой в WindowMaker).
https://blackboxwm.sourceforge.net/
||
blackbox
Compiz
— Композитный менеджер на основе OpenGL, использующий GLX_EXT_texture_from_pixmap для использования изображений окон в качестве текстур. У него есть гибкая система плагинов и он спроектирован для работы на большинстве графических ускорителей.
https://launchpad.net/compiz
||
compiz
AUR
,
compiz-core
AUR
cwm
— Изначально отделившийся от evilwm, но позже переписанный с нуля. cwm нацелен на простоту и при этом предлагает некоторые полезные возможности, такие как поиск окон.
https://github.com/chneukirchen/cwm
||
cwm
AUR
eggwm
— Легковесный оконный менеджер Qt4/Qt5.
eggwm-qt5
AUR
||
eggwm
AUR
Enlightenment
— Это не просто оконный менеджер для X11, но и целый набор библиотек, которые помогут вам создать отличные пользовательские интерфейсы с много меньшими затратами времени и сил, чем при использовании более консервативных тулкитов, не говоря уже о других оконных менеджерах.
https://www.enlightenment.org/
||
enlightenment
evilwm
— Минималистичный оконный менеджер для X Window System. Минималистичный тут не значит, что этот менеджер голый и неюзабельный — под этим имеется в виду, что он в нём отказались от всего, что делает
не
юзабельными другие оконные менеджеры.
https://www.6809.org.uk/evilwm/
||
evilwm
AUR
Fluxbox
— Оконный менеджер для X, основанный на коде Blackbox 0.61.1. Нетребователен к ресурсам и практичен в использовании, при этом полон возможностей для создания простой и очень быстрой рабочей среды. Он написан на C++ и имеет лицензию MIT.
https://github.com/fluxbox/fluxbox
||
fluxbox
Flwm
— Попытка совместить лучшие идеи из разных оконных менеджеров. Основное влияние и кодовую базу получил от wm2 автора Криса Каннама.
https://flwm.sourceforge.net/
||
flwm
AUR
FVWM
— Мощный ICCCM-совместимый много-виртуально-десктопный оконный менеджер для X Window System. Находится в активной разработке и имеет отзывчивую техподдержку.
https://www.fvwm.org/
||
fvwm
AUR
Gala
— Симпатичный оконный менеджер из Elementary OS, является частью
Pantheon
. Также, являясь композитным менеджером, работает на libmutter.
https://launchpad.net/gala
||
gala
,
gala-git
AUR
Goomwwm
— Оконный менеджер X11, написанный на C по методологии «чистой комнаты». Он предоставляет возможность гибкого управления окнами посредством клавиатуры: есть горячие клавиши для переключения окон, изменения размеров, перемещения, укладывания плиткой и других операций. Он также быстрый, лёгкий, знает, что такое Xinerama, и совместим с EWMH везде, где только это возможно.
https://github.com/seanpringle/goomwwm
||
goomwwm
AUR
IceWM
— Оконный менеджер для X. Целью своей ставит стремление к скорости, простоте и старается как можно меньше раздражать пользователя при работе.
https://ice-wm.org/
||
icewm
jbwm
— Оконный менеджер, основанный на evilwm, с минимальным размером конфигурации примерно 16 КБ, ориентированный на небольшой размер бинарника и удобство использования, включающий дополнительные строки заголовка и XFT title-bar font rendering как опцию при компиляции. jbwm также имеет более простые сочетания клавиш, чем evilwm.
https://github.com/jefbed/jbwm
||
jbwm
AUR
JWM
— Оконный менеджер для X, написан на C и использует только Xlib.
https://joewing.net/projects/jwm/
||
jwm
Karmen
— Оконный менеджер для X, написанный Йоханом Винхуйзеном. "Создан, чтобы просто работать". Тут нет никаких файлов настройки и других зависимостей, кроме Xlib. Karmen совместим с ICCCM и EWMH.
https://karmen.sourceforge.net/
||
karmen
AUR
KWin
— Стандартный оконный и композитный менеджер KDE. Это позволяет KWin использовать разнообразные графические эффекты, подобно Compiz, при этом также предоставляя все возможности с предыдущих релизов KDE (например, очень неплохую интеграцию со средой, гибкость в настройке, предотвращения потери фокуса, надёжный механизм обработки сбоев приложений/тулкитов и т. д.). Также может работать как композитор
Wayland
.
https://techbase.kde.org/Projects/KWin
||
kwin
lwm
— Оконный менеджер для X, который всеми силами прячется от вас. Вы не увидите значков, кнопок, панелей, меню, ничего: если вам что-нибудь из этого нужно, устанавливайте сторонние программы. Здесь нет никаких настроек вообще: если они вам нужны, используйте другой оконный менеджер — такой, который поможет вашей операционной системе оккупировать все свободное пространство на вашем жестком диске, а потом примется за вашу оперативную память.
http://www.jfc.org.uk/software/lwm.html
||
lwm
AUR
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.
https://www2u.biglobe.ne.jp/~y-miyata/mlvwm.html
||
mlvwm
AUR
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
PekWM
— Оконный менеджер, некогда основывавшийся на aewm++, но теперь уже далеко от него ушедший. У него сильно больший набор возможностей, например группировка окон (аналогично Ion, PWM, или Fluxbox), auto-properties, Xinerama, keygrabber с поддержкой наборов ключей и многое другое.
https://www.pekwm.org/
||
pekwm
Sawfish
— Расширяемый оконный менеджер, который использует скриптовый язык наподобие Lisp. Его политика очень минимальна по сравнению с большинством оконных менеджеров. Его цель — просто управлять окнами наиболее гибким и привлекательным способом. Многие высокоуровневые функции также реализованы на Lisp.
https://sawfish.wikia.com/wiki/Main_Page
||
sawfish
AUR
sowm
— Simple Opinionated Window Manager, обеспечивает переключение в полноэкранный режим, центрирование окон и смешанный рабочий процесс (например, мышь и клавиатура).
https://github.com/dylanaraps/sowm
||
sowm
AUR
TinyWM
— Оконный менеджер Tiny, который автор создал, чтобы поупражняться в минимализме. Он может быть весьма полезен в обучении основ построения оконных менеджеров. Включает в себя около 50 строк кода на C. Есть также версия на
python
, которая использует python-xlib.
http://incise.org/tinywm.html
||
tinywm
AUR
twm
— Простой оконный менеджер для X, используется как менеджер по умолчанию в Xorg с 1989 года. Он предоставляет заголовки окон, рамки, несколько способов управления значками, макросы, а также поддержку горячих клавиш.
https://gitlab.freedesktop.org/xorg/app/twm/
||
xorg-twm
ukwm
— Лёгкий оконный менеджер GTK, стандартный оконный менеджер среды рабочего стола UKUI.
https://github.com/ukui/ukwm/
||
ukwm
[
ссылка недействительна
: package not found]
UWM
— Оконный менеджер UDE.
https://udeproject.sourceforge.net/
||
ude
AUR
Wind
— Небольшой стековый оконный менеджер. Пытается соответствовать ICCCM, EHWM, NetWM.
https://windwm.sourceforge.net/
||
windwm
AUR
[
ссылка недействительна
: package not found]
WindowLab
— Компактный и простой оконный менеджер. Имеет свои отличительные особенности.
https://github.com/nickgravgaard/windowlab
||
windowlab
AUR
Window Maker
— Оконный менеджер для X11, изначально разработанный для поддержки интеграции для GNUstep Desktop Environment. Везде, где возможно, он повторяет элегантный стиль графического интерфейса NEXTSTEP. Он быстрый, обладает широкими возможностями, прост в настройке и использовании.
https://windowmaker.org/
||
windowmaker
WM2
— Оконный менеджер для X. Он предоставляет необычный стиль оформления окон и настолько скромную функциональность, насколько его автору кажется приемлемым для оконного менеджера. wm2 ненастраиваемый: вы можете только редактировать исходный код и пересобирать его. Он точно не для тех, кому нужен дружелюбный оконный менеджер.
https://www.all-day-breakfast.com/wm2/
||
wm2
AUR
worm
— Динамический оконный менеджер на основе тегов для X11. Он поддерживает как стековое, так и фреймовое размещение окон. Написан на языке программирования Nim.
https://github.com/codic12/worm
||
worm-git
AUR
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-git
AUR
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
||
larswm
AUR
LeftWM
— Фреймовый оконный менеджер, написанный на
Rust
.
https://leftwm.org
||
leftwm
AUR
Notion
— Фреймовый оконный менеджер с поддержкой вкладок для X Window System.
Фреймы: вы разделяете экран на неперекрывающиеся фреймы. Каждое окно занимает целиком один фрейм.
Вкладки: фрейм может иметь несколько окон внутри, но отображается всегда только одно — окно текущей вкладки.
Статичность: большинство фреймовых менеджеров динамические, что значит, что они автоматически изменяют размер и передвигают фреймы при появлении и исчезновении окон. Notion, однако, не делает этого самостоятельно.
Notion — форк Ion3.
https://notionwm.net/
||
notion
Ratpoison
— Простой оконный менеджер без объёмных зависимостей, ненужных эффектов и декораций окон. Ratpoison настраивается в обычном текстовом файле. Информационная панель в Ratpoison несколько необычная и показывается только по необходимости. Она предоставляет возможность запуска приложений и отображает уведомления. Ratpoison не включает в себя системный трей.
https://www.nongnu.org/ratpoison/
||
ratpoison
AUR
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/
||
dwm
AUR
echinus
— Простой и лёгкий фреймовый и стековый оконный менеджер для X11. Изначально являясь форком dwm с более простой настройкой, echinus стал полноценным репарентинговым оконным менеджером с поддержкой EWMH. Имеет панель задач
ourico
AUR
, совместимую с EWMH.
http://plhk.ru
||
echinus
AUR
FrankenWM
— Продолжение
monsterwm
с правильно реализованным стековым режимом. Из добавленных возможностей: новые схемы размещения (fibonacci, equal stack, dual stack), рамки и отступы можно настраивать, сворачивание/разворачивание отдельных окон, возможность показать/спрятать все окна и прочее.
https://github.com/sulami/FrankenWM
||
frankenwm
AUR
spectrwm
— Компактный динамический фреймовый оконный менеджер для X11, на который в свое время повлияли
xmonad
и
dwm
. Старается занимать как можно меньше места на экране, предоставляя возможность распорядиться им для более важных вещей. Настраивается в текстовом файле. Написан хакерами для хакеров и стремится быть легким, компактным и быстрым. Имеет встроенную строку статуса.
https://github.com/conformal/spectrwm/
||
spectrwm
AUR
Qtile
— Полнофункциональный фреймовый оконный менеджер, написанный на Python. Qtile простой, компактный и расширяемый. Легко создавать собственные схемы размещения, виджеты и встроенные команды. Настраивается этот менеджер также изменением кода Python, таким образом, вы получаете всю мощь языка для удовлетворения любых собственных нужд.
https://github.com/qtile/qtile
||
qtile
Wingo
— Полнофункциональный гибридный оконный менеджер, который позволяет отображать разные рабочие столы на нескольких экранах, при этом позволяя на одном экране работать во фреймовом режиме, а на другом — в стековом одновременно. Wingo предоставляет также собственный язык для написания скриптов. Поддерживаются темы и пользовательские хуки. Wingo написан на
Go
и не имеет зависимостей.
https://github.com/BurntSushi/wingo
||
wingo-git
AUR
xmonad
— Динамический фреймовый оконный менеджер для X11, написанный и настраиваемый на Haskell. В обычном менеджере вы тратите кучу времени на размещение окон, а затем на их поиск. Xmonad делает жизнь проще, автоматизируя эти процессы. После изменения в настройках xmonad необходимо перекомпилировать, поэтому должен быть установлен компилятор Haskell (больше 100 МБ). Большая библиотека
xmonad-contrib
предоставляет множество дополнительных возможностей.
https://xmonad.org/
||
xmonad
Смотрите также
The Window Manager Report
What are the best window managers for Linux?
A Memory Comparison of Light Linux Desktops