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

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

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

Contents

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

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

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

Оконный менеджер (WM) Написан на Настраивается с помощью Стиль управления Поддержка системного трея Перезагрузка на лету Информационный бар Композитность Слои по умолчанию Pixel usage Внешнее управление Библиотека Многомониторный (n) режим ICCCM/EWMH Совместимый Состояние
alopex C C (recompile) Гибридный Нет Нет Встроенный; Вызов сценария / программы в качестве первого аргумента внешний max, h-stack, v-stack, h-tab Variable borders; titles in-statusbar Xlib шесть меток, два вида, доступные по умолчанию Активный
Awesome C Lua Динамический Встроенный Да Встроенный, изображения и текст внешний max, nh-stack (and invert), nv-stack (and invert), free variable borders, optional h-tab titles dbus (если включен) XCB n-tags (рабочие пространства). По-умолчанию включено 9. Example Да Активный
bspwm C Anything Гибридный Нет Да Can write internal state to a FIFO внешний v-split, h-split Variable borders via bspc XCB Рабочие столы привязаны к мониторам Да Активный
dswm Lisp Lisp Ручной Нет Да Да Нет Активный
dwm C C (recompile) Динамический Дополнительный патч Optional Built-in, reads from root window name внешний v-stack, max Xlib n regions, 9 workspaces fixed to each region Активный
echinus C Text Динамический Нет Да ourico AUR внешний v-stack, b-stack, max Variable borders & optional titles Xlib Да Неизвестно
euclid-wm C Text Гибридный Нет Да внешний(dzen) строки, столбцы 1-pix borders Xlib Бездействующий
FrankenWM C C (recompile) Динамический Нет Нет No, outputs information to stdout, which can easily be parsed and displayed by an внешний monitor or panel (dzen2, conky, etc) внешний v-stack (and invert), h-stack (and invert), dual-v/h-stack, grid, fibonacci (vh-stack), строки, столбцы, max, free Variable borders XCB Активный
herbstluftwm C Text Ручной Нет Да строки, столбцы 1-pix borders commands via herbstclient Xlib and Glib n regions, 9 workspaces visible in any region Активный
i3 C Text Динамический i3bar Да(Layout is preserved) text piped to i3bar ( i3status / conky and others can be used) внешний 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 Да Активный
Ion3 [archived page] C Lua Ручной trayion Да configurable ? h-tab, max Заброшенный
monsterwm C C (recompile) Динамический Нет Optional, but windows are lost No, outputs information to stdout, which can easily be parsed and displayed by an внешнийmonitor or panel ( dzen2 , conky , etc) внешний h-stack, v-stack, grid, max supports _NET_Активный_WINDOW , so внешнийcontrol can be supplied by xdotool and similar tools Xlib primary and XCB fork [ссылка недействительна: раздел не найден] n workspaces per monitor Активный
Musca C Text, own command set, C(recompile) Ручной Нет No, but allows running of musca commands on the fly Нет Нет h-split, v-split, max commands, hooks Xlib Заброшенный
Notion C, Lua Lua, compatible with Ion3 configs Ручной trayion, stalonetray Да configurable ? 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 Нетborders, although customizable Hooks, Server mode XCB Активный
Ratpoison C Text Ручной Нет Да Да внешний max Нет Активный
Snapwm C Reloadable Text Динамический Нет Да Built-in, reads from root window name внешний nVertical, Fullscreen, nHorizontal, Grid, Center Stacking variable borders, Нетtitles Xlib Number of desktops distributed evenly between monitors Активный
Spectrwm C Text Динамический Нет Да Built-in, reads from user script Нет nv-stack, nh-stack, max 1-pix borders, Нетtitles XCB n regions, 10 workspaces visible in any region Да Активный
Stumpwm Lisp Lisp Ручной Нет Да Да Нет Нет Активный
subtle C Ruby Ручной Built-in Да Built-in (Ruby), внешнийcan be used as well внешний Variable grid Variable borders, Нетtitles Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) Xlib One workspace (view) per monitor (screen), placement on views via tags and per runtime Да Активный
Wingo Go Text Динамический Нет Да Нет внешний floating, nv-stack, nh-stack, max title bars in floating, skinny borders in tiling via wingo-cmd or UNIX sockets in any programming language X Go Binding n regions, workspaces visible in any region Да Активный
WMFS C Text Динамический Built-in Да Built-in, set with command, color text, images внешний nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max variable borders, titles or Нетtitles commands Xlib Up to 36 tags(workspaces) per screen Да Активный
xmonad Haskell Haskell Динамический Нет Да Нет Да, с xmonad-contrib и внешним менеджером nv-stack, nh-stack, max variable borders, Нетtitles via XMonad-Hooks-ServerMode Xlib n regions, 9 workspaces visible in any region Да/ ? Активный
Оконный менеджер (WM) Написан на Настраивается с помощью Стиль управления Поддержка системного трея Перезагрузка на лету Информационный бар Композитность Слои по умолчанию Pixel usage Внешнее управление Библиотека Многомониторный (n) режим ICCCM/EWMH compliant Состояние
Читайте также:  Красивая консоль для windows

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

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

Ряд общих типов компоновки доступен в нескольких тайловых 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).
Читайте также:  Лучший антивирус для windows 10 pro

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

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

Источник

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

Я хотел бы продолжить начатую вчера JagaJaga тему тайловых оконных менеджеров рассказом об еще одном их представителе — i3wm. В отличие от awesome его настройки записываются в обычном текстовом файле.

Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.

Демонстрация от автора i3

Установка

i3wm представлен в репозиториях Debian, Arch, Gentoo, Ubunto, FreeBSD, NetBSD, OpenBSD, OpenSUSE, Mageia, Fedora и Exerbo. Я буду рассказывать на примере Ubuntu 12.04.

Нужный пакет называется i3, поэтому:

Теперь на экране ввода пользователя и пароля можно выбрать «i3» в качестве оконного менеджера.

Настройка

При первом запуске вам предложат выбрать клавишу-модификатор. Я выбрал win для совместимости с большинством приложений.

Добавим переключение на русскую раскладку по Alt+Shift, автозагрузку dropbox, переключение между рабочими столами по mod+Control+Left/Right, блокировку экрана по mod+Control+l и спящий режим с блокировкой экрана при выходе из него по mod+Control+s.

Переключение раскладки клавиатуры настроено с помощью setxkbmap. Для этого служит

Чтобы не вводить её каждый раз после перезагрузки, создадим в корневой папке пользователя файл .xsessionrc, сделаем исполняемым и приведем к виду:

Читайте также:  Семейство операционных семейств windows

Для автозагрузки Dropbox .xsessionrc будет выглядеть так:

Теперь при следующем заходе в i3wm будут доступны русская и английская клавиатура.

Настройка i3 обычно производится с помощью пользовательского конфига. Создадим папку

/.i3 и скопируем в нее шаблон конфигурации:

Теперь вы можете на основе документации выбрать настройки для себя. Я добавил следующие строки:

Использование

Некоторые стандартные горячие клавиши, которые работают по умолчанию:

mod+Enter открывает терминал
mod+d запускает dmenu (меню сверху экрана, которое по мере ввода с клавиатуры названия приложения предлагает варианты для запуска)
mod+Shift+Q закрывает активное окно

mod+v включает режим вертикального тайлинга (экран будет делиться горизонтально)
mod+h включает режим горизонтального тайлинга (экран будет делиться вертикально)

mod+w включает режим вкладок (каждое окно на рабочем столе занимает весь экран, сверху видны вкладки)
mod+s включает стековый режим (заголовки окон один под другим, каждое окно занимает весь экран)
mod+e возвращает стандартный режим
mod+Shift+Space переключает окно в режим плавающего и обратно

mod+Left/Right/Up/Down перемещает фокус в пределах рабочего стола
mod+Shift+Left/Right/Up/Down перемещает текущее окно в пределах рабочего стола

mod+1 и т.д. переключает на рабочий стол с указанным номером

mod+Shift+C читает настройки из файла конфигурации
mod+Shift+E выходит из i3wm на экран ввода имени пользователя и пароля

Полные возможности по настройке и использованию i3wm описаны в документации.

Cheatsheet с горячими клавишами, удобные картинки-подсказки с сайта автора:

Бонус

Если у вас два монитора, или встроенный экран нетбука и внешний монитор, как у меня, то i3wm отлично будет работать на них. Самое главное, что для этого не требуется никаких дополнительных настроек.

Cписок доступных мониторов:

Настроим их работу в паре:

где LVD1 — встроенный в нетбук монитор, его разрешение 1366×768 и он прижат к левому верхнему углу, VGA1 — внешний монитор, его разрешение 1280×1024 и он смещен на 1366 пикселей вправо относительно левого верхнего угла.

Есть результат! Слева встроенный экран нетбука, справа внешний монитор:

Хабражитель burjui поделился ссылкой на видео про i3 с GoogleTechTalks.

Источник

Оцените статью