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 не подвешивает систему.
- В целом, большинство ошибок исправлено.
>>> Подробности