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

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

Содержание

1 Общая информация

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

2 X Window System

  • В системе X Window оконный менеджер представляет собой отдельную программу.

2.1 Awesome

  • Сайт: https://awesomewm.org/
  • Репозиторий: https://github.com/awesomeWM/awesome
  • Основан на dwm.
  • Мозаичное расположение окон, плавающие элементы, теги.
  • Написан на C.
  • Конфигурация на Lua.
  • Хорошо задокументирован.
  • Нормально обращается с мышью.

2.2 Bspwm

  • Репозиторий: https://github.com/baskerville/bspwm
  • Представляет окна как листья полного бинарного дерева.
  • Не обрабатывает привязки клавиш сам по себе, требуя использование другой программы.
  • Настройка горячих клавиш производится с помощью отдельной программы sxhkd.
  • Конфигурация может быть написана на любом скриптовом языке.

2.3 Dwm

  • Сайт: http://dwm.suckless.org/
  • По умолчанию используется схема «основная область + область стека».
  • Другие стандартные макеты представляют собой режим «монокля» с одним окном и плавающий макет без мозаики.

2.4 Herbstluftwm

  • Сайт: https://herbstluftwm.org/
  • Использует концепцию независимых от монитора тегов в качестве рабочих пространств.
  • Одновременно можно просмотреть ровно один тег.
  • Настраивается во время выполнения с помощью вызовов IPC из herbstclient.

2.5 i3

  • Window manager i3
  • Репозиторий: https://github.com/i3/i3
  • Основан на wmii.
  • Рассматривает дополнительные мониторы как дополнительные рабочие области.
  • Позволяет вертикальное и горизонтальное разделение, макеты с вкладками и стопкой, а также родительские контейнеры.
  • Можно управлять полностью с клавиатуры, но можно использовать и мышь.
  • Правила расположения окон можно настроить очень гибко.
  • Хорошая документация.

2.6 Ion

  • Сайт: https://tuomov.iki.fi/software/ion/
  • Каждый фрейм может содержать одно или несколько окон.
  • Только одно из этих окон видно и заполняет весь кадр.
  • Не развивается.

2.7 Larswm

  • Сайт: http://porneia.free.fr/larswm/larswm.html
  • Динамический тайлинг.
  • Дисплей разделён по вертикали на две области.
  • Левая область заполнена одним окном, правая содержит все остальные окна, расположенные друг над другом.
  • Не развивается.

2.8 LeftWM

2.9 Qtile

2.10 Ratpoison

2.11 Spectrwm

2.12 StumpWM

  • Репозиторий: https://github.com/stumpwm/stumpwm
  • Ответвление ratpoison.
  • Управляется клавиатурой, поддерживает несколько дисплеев (например, xrandr).
  • Язык настройки — Common Lisp.
  • По умолчанию использует совместимые с Emacs сочетания клавиш.

2.13 Wmii

  • Мозаичное и групповое управление окнами с помощью клавиатуры и мыши.
  • Идеология тегов.
  • Конфигурация по умолчанию использует сочетания клавиш, заимствованные из текстового редактора vi.
  • Настройка через виртуальную файловую систему с использованием протокола файловой системы 9P.

2.14 Xmonad

3 Wayland

3.1 Hyprland

3.2 Sway

3.3 River

3.4 CageBreak

3.5 dwl

  • Репозиторий: https://github.com/djpohly/dwl
  • Вдохновлён dwm.
  • Не имеет никакого другого интерфейса настройки, кроме редактирования исходного кода.

4 Тайловые оконные менеджеры для Windows

4.1 b3

4.2 komorebi

4.3 GlazeWM

  • Вдохновлён i3 (см. Window manager i3) для Windows и Polybar.
  • Репозиторий: https://github.com/glazerdesktop/GlazeWM
  • Конфигурация в yaml.
  • Установка:
    • Winget
      winget install GlazeWM
      
  • Устанавливается в %LOCALAPPDATA%\Microsoft\Winget\Packages\ по умолчанию.

4.4 bug.n

4.5 MaxTo

4.6 Stack

4.7 Plumb

4.8 workspacer

4.9 dwm-win32


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие