Sway (оконный менеджер)

Sway — менеджер окон с плиточным размещением и композитор для Wayland, вдохновлённый i3 и написанный на языке программирования C. Sway задуман как полноценная замена i3 с поддержкой современного протокола отображения Wayland и библиотеки композиторов wlroots. Sway способен работать с существующими файлами конфигурации i3 и поддерживает большинство возможностей i3, одновременно предлагая ряд собственных новшеств.

Управление окнами по умолчанию в Sway схоже с редактором vi: фокусировка осуществляется с помощью комбинации Super и одной из стрелок или клавиш h, j, k, l. Перемещение окон выполняется тем же сочетанием, но с добавлением Shift[1].

Как и i3, Sway можно расширять и управлять им через Unix-сокет и IPC-интерфейс на основе JSON практически из любого языка программирования.

Первый стабильный выпуск Sway состоялся 11 марта 2019 года после 3,6 лет разработки[2].

Общие сведения
Sway
Тип менеджер окон
Автор Drew DeVault (SirCmpwn)
Написана на C
Операционная система Unix-подобные
Первый выпуск 24 марта 2016
Последняя версия 1.11 (8 июня 2025)
Репозиторий github.com/swaywm/sway.g…
Лицензия MIT License
Сайт swaywm.org

Возможности

Sway воспроизводит множество особенностей i3:

  • Настройка производится через текстовый файл.
  • Плиточное размещение окон осуществляется вручную, а не динамически.
  • Окна можно делить горизонтально или вертикально.
  • Окна можно располагать в виде вкладок (горизонтальный список, как в браузерах) либо в виде стека (вертикальный список).
  • Окна могут быть «плавающими», подобно накладывающим оконным менеджерам.
  • Плиточные и плавающие окна можно изменять по размеру или перемещать с помощью мыши и клавиатуры[3].
  • Sway полностью управляется с клавиатуры[4].

Уникальные возможности Sway:

  • Поддержка нескольких не модифицирующих клавиш при назначении горячих клавиш[5].
  • Окна на одном рабочем пространстве могут быть разделены на контейнеры: часть окон — во вкладках, остальные — в обычной плитке, плавающих областях или стеке.
  • Поддержка собственных средств настройки ввода, вывода и обоев без внешних программ.
  • Собственная экосистема утилит: swaybg, swaybar, swayidle.
  • Поддержка жестов для указательных устройств.

Примечания