Comparison of tiling window managers (Русский) - ArchWiki

Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Comparison of tiling window managers. Дата последней синхронизации: 20 января 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Эта статья предусматривает объективное сравнение наиболее популярных фреймовых (тайловых) оконных менеджеров (в отличие от стековых оконных менеджеров).

## Таблица сравнения

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

Оконный менеджер (WM) | Написан на | Настраивается с помощью | Стиль управления | Поддержка системного трея | Перезагрузка на лету | Информационный бар | Композитинг | Разметка по умолчанию | Pixel usage | Внешнее управление | Библиотека | Многомониторный (n) режим | ICCCM/EWMH совместимый | Состояние
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Awesome | C | Lua | Динамический | Встроенный | Да | Встроенный, изображения и текст | Внешний | max, nh-stack (and invert), nv-stack (and invert), free | Variable borders, optional h-tab titles | dbus (если включен) | XCB | n-tags (рабочие пространства). По умолчанию включено 9. Пример | Да | Активный
bspwm | C | Чего угодно | Гибридный | Нет | Да | Может записывать внутреннее состояние в FIFO | Внешний | v-split, h-split | Variable borders | через `bspc` | XCB | Рабочие столы привязаны к мониторам | Да | Активный
dwm | C | C (перекомпиляция) | Динамический | Дополнительный патч | Опционально | Встроенный, считывает имя корневого окна | Внешний | v-stack, max |  | через dwmfifo | Xlib | n regions, 9 workspaces fixed to each region | Нет | Активный
FrankenWM | C | C (перекомпиляция) | Динамический | Нет | Нет | Нет, выводит информацию на stdout, которая может быть легко обработана и отображена на внешнем мониторе или панели (dzen2, conky и т.д.) | Внешний | v-stack (and invert), h-stack (and invert), dual-v/h-stack, grid, fibonacci (vh-stack), rows, columns, max, free | Variable borders |  | XCB |  | Нет | Активный
herbstluftwm | C++ | Текстовый файл | Ручной | Нет | Да |  |  | строки, столбцы | 1-pix borders | commands via herbstclient | Xlib | n regions, 9 workspaces visible in any region |  | Активный
i3 | C | Текстовый файл | Ручной | i3bar | Да (разметка сохраняется) | текст передаётся в i3bar (можно использовать `i3status`/`conky` и другие) | Внешний | tree, v-split, h-split, stacked, tabbed, max, can be nested infinitely | None, 1-pix or 2-pix, optional titlebars, can hide edge borders | commands via ipc (or i3-msg, which uses ipc) | XCB | n regions | Да | Активный
LeftWM | Rust | RON (настройки) / Что угодно (темы) | Динамический | Нет | Да | Да, много вариантов через систему управления темами | Внешний | v-stack, columns, rows | Variable based on theme | supports `_NET_ACTIVE_WINDOW` and sending commands to a named pipe | Xlib | Workspaces and monitors are not tied. Many workspaces for monitor or many monitors for workspace | Да | Активный
Notion | C, Lua | Lua, совместимо с Ion3 | Ручной | trayion, stalonetray | Да | Настраивается | ? | h-tab, max | Configurable borders and titlebars/tabs | EWMH, arbitrary Lua scripts which have access to the rich internal API | Xlib | n workspaces on each monitor. Supports on-the-fly changes in topology |  | Активный
qtile | Python | Python | Динамический | Да | Да | Да | Внешний | tree, v-split, h-split, stacked, tabbed, max | No borders, although customizable | Hooks, Server mode | XCB |  |  | Активный
Ratpoison | C | Текстовый файл | Ручной | Нет | Да | Да | Внешний | max |  |  |  |  | Нет | Активный
Snapwm | C | Reloadable Text | Динамический | Нет | Да | Встроенный, считывает имя корневого окна | Внешний | nVertical, Fullscreen, nHorizontal, Grid, Center Stacking | Variable borders, no titles |  | Xlib | Number of desktops distributed evenly between monitors |  | Активный
Spectrwm | C | Текстовый файл | Динамический | Нет | Да | Встроенный, считывает вывод пользовательского скрипта | Нет | nv-stack, nh-stack, max | 1-pix borders, no titles |  | XCB | n regions, 10 workspaces visible in any region | Нет | Активный
Stumpwm | Lisp | Lisp | Ручной | Нет | Да | Да | Нет |  |  |  | Xlib |  | Нет | Активный
xmonad | Haskell | Haskell | Динамический | Нет | Да | Нет | Да, с xmonad-contrib и внешним менеджером | nv-stack, nh-stack, max | Variable borders, no titles | via XMonad-Hooks-ServerMode | Xlib | n regions, 9 workspaces visible in any region | Да / ? | Активный
Оконный менеджер (WM) | Написан на | Настраивается с помощью | Стиль управления | Поддержка системного трея | Перезагрузка на лету | Информационный бар | Композитинг | Разметка по умолчанию | Pixel usage | Внешнее управление | Библиотека | Многомониторный (n) режим | ICCCM/EWMH совместимый | Состояние

Совет: Внешний контроль может быть достигнут с помощью таких программ, как xdotool имитирующих нажатие клавиш.

### Стиль управления

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

### Слои

Ряд общих типов компоновки доступен в нескольких тайловых WM, хотя терминология может несколько меняться.

- max: Показать одно окно во весь экран (со статусбаром, заголовком и границами или без них). Также: monocle (dwm, monsterwm).
- h-stack: Основная область в верхней половине, другие окна располагаются горизонтально в нижней половине. Основная область может быть изменяемого размера. Может быть инвертирована вверх-вниз (wmfs). Также: bottom stack (dwm), bstack (monsterwm).
- v-stack: Основная область в левой половине, другие окна располагаются вертикально в правой половине. Основная область может быть изменяемого размера. Может быть инвертирована влево-вправо(wmfs). Aka: tile (dwm, monsterwm).
- nh-stack: h-stack позволяет >=1 окно(а) в мастер-области. Также: nbstack (dwm).
- nv-stack: v-stack позволяет >=1 окно(а) в мастер-области. Также: ntile (dwm).
- mirror-h: nh-stack со стеками выше и ниже главной области.
- mirror-v: nv-stack со стеками слева и справа от главной области.
- h-tab: одно окно показано на весь экран, со всеми названиями окон, указанными по горизонтали (как вкладки браузера).
- v-tab: одно окно показано на весь экран, со всеми названиями окон, указанными по вертикали. Также: stack (wmii).
- h-split: назначенным сочетанием клавиш разбивается окно по горизонтали, создавая пространство для другого.
- v-split: назначенным сочетанием клавиш разбивается окно по вертикали, создавая пространство для другого.
- columns: ручной стиль слоёв, который воспринимает окна как столбцы по вертикали.
- rows: ручной стиль слоёв, который воспринимает окна как горизонтальные ряды.
- grid: размеры и позиции окон, основанные на регулярной сетке NxM. Может быть автоматическим (как в wmfs, monsterwm) или ручным (как в Subtle).

### Назначение клавиш

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

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

- Список фреймовых Wayland-композиторов
- Comparison of extensible window managers compares window managers "extensible" by scripting, like xmonad and Sawfish.

Categories:

- Tiling window managers (Русский)
- Software comparisons (Русский)