Sway 1.0
Sway 1.0 (вместе с wlroots) включает 6,875 изменений от 205 контрибьюторов. Это первый стабильный релиз sway.
Изменения
- Кодовая база полностью переработана. Некоторые особенности были изменены чтобы совпадать с поведением i3, в том числе со сломом обратной совместимости. Могут присетствовать ошибки, о которых разработчикам ещё неизвестно.
- swaygrab удалён. Для скриншотов попробуйте grim, а для захвата видео wlstream.
- Этот релиз зависит от wlroots 0.5 и убирает зависимость от wlc.
- Этот релиз использует scdoc для генерации страниц man, и убирает зависимость от asciidoc.
- Экспериментальная поддержка проприетарного драйвера Nvidia была объявлена устаревшей с момента её добавления, и теперь полностью удалена. Используйте nouveau, а в будущем покупайте GPU у производителей, который поддерживают Open Source. Другие проприетарные драйверы также не поддерживаются.
- swaylock выделен в отдельный проект
- swayidle, новый демон, управляющий состоянием бездействия, также доступен отдельно
Новые возможности
- 100% совместимость с i3*
- 100% совместимость с i3 IPC*
- 100% совместимость с i3-gaps
- 100% совместимость с i3bar**
*
За исключением небольшого количества возможностей, которые сознательно не поддерживаются, такие как сохранение/восстановление раскладки и возможности, которые имеют смысл только в X11
**
За исключением трея
Возможности sway
- Добавлен swayidle, демон для управления DPMS и состоянием бездействия (например автоматической блокировкой экрана по таймауту) —
man swayidle
- Добавлен swaynag, замена i3-nagbar с дополнительными возможностями, не поддерживаемыми i3-nagbar —
man swaynag
bindsym --locked
добавляет сочетания клавиш, которые работают, пока экран заблокирован- Блоки команд теперь обобщённые и работают с любой командой
- Прозрачность окна может быть настроена командой
opacity
border csd
явным образом включает декорации на стороне клиента- Атомарные изменения раскладки гарантируют, что при изменении размеров окон и подстройке раскладки, вы не увидите неполных кадров и частично отрисованных клиентов
- Urgency hint из Xwayland теперь поддерживается
- Отслеживание события damage значительно улучшает производительность CPU и энергопотребление
- Аппаратные курсоры теперь поддерживаются, улучшая производительность
- Бекенды Wayland, x11, и headless теперь поддерживаются для конечного пользователя, позволяя вложенные и безголовые сессии sway
- Экранные клавиатуры, такие как virtboard теперь поддерживаются
- Перемещение тайловых окон мышью теперь поддерживается и работает как предложенная возможность i3
- Барьеры указателя теперь позволяют играм и другим приложениям захватывать курсор
Вывод на экран
man 5 sway-output
- Поворот экрана (например
output NAME transform 90
) - Дробное масштабирование (например
output NAME scale 1.5
) — смотрите предупреждения в мануале - Окна могут быть перемещены мышью между экранами (и отображаться корректно, когда перемещаются между экранами с разными коэффициентами масштабирования)
- Разрешение экрана теперь применяется через modesetting
- Sway может работать на нескольких GPU
- Поддержка последовательных цепочек DisplayPort (daisy-chained) и других экзотических конфигураций
- Все клиенты sway (к примеру swaylock) корректно поддерживают HiDPI
- Реализован новый интерфейс управления гаммой с широкой поддержкой аппаратного обеспечения* — смотрите этот патч redshift
*
У некоторых пользователей могут быть проблемы с ошибками в драйверах, конкретно в некоторых конфигурациях AMDGPU
Ввод
man 5 sway-input
- Раскладки клавиатуры и опции XKB могут быть указаны в файле конфигурации
- Стабилизирована поддержка мультитач
- Графические планшеты поддерживаются (частично — эмулируется мышь)
- Можно указать статус num lock и caps lock при старте
- Несколько устройств ввода может быть привязано к одному курсору (или нескольким курсорам)
- Несколько клавиатур с разными раскладками могут использоваться взаимозаменяемо
- Может быть настроено несколько рабочих мест (каждое со своими устройствами ввода и окном в фокусе)
- Можно ограничить влияние устройств ввода конкретным экраном или областью экрана
- Устройства ввода, которые создают события с абсолютным позиционированием (например графические планшеты) могут ограничить своё влияние регионом устройства ввода
- Движения мыши и нажатия клавиш могут быть симулированы командами sway
Возможности wayland
- Поддержка drag and drop
- Мультимедийное содержимое (изображения, и т.п.) могут быть скопированы между Xwayland и Wayland
- Реализован протокол главного выделения GTK (и синхронизируется с главным выделением Xwayland)
- Реализован протокол layer-shell (что позволяет сторонние панели, блокировщики экрана, демоны уведомлений, и т.п.)
- Разработан и реализован протокол захвата экрана в реальном времени (что позволяет в будущем сторонние инструменты для скриншотов и захвата видео с экрана)
- Реализованы протоколы бездействия и запрета бездействия (что позволяет отключение экрана и запрет отключения к примеру видеоплейерами)
- Реализовано и стандартизовано согласование декораций на стороне клиента/сервера
- Поддерживается стабильный протокол xdg-shell
swaylock
man swaylock
- Поддержка разных изображений на разных экранах
- Внешний вид может быть настроен
- Добавлен опциональный файл конфигурации
Разное
- Xwayland теперь запускается только тогда, когда запускается клиент x11
Исправления ошибок
- Исправлены все известные проблемы с xdg-shell (такие как размытые меню, которые не получают фокус)
- Исправлены все известные проблемы с Xwayland (такие как странности меню Firefox)
- Исправлены все известные ошибки HiDPI
- Исправлены все известные ошибки swaylock и swaybar
- Перезагрузка конфига не вызывает крашей
- Переключение TTY не подвешивает систему
- Вцелом большинство ошибок исправлено
>>> Подробности