В качестве основы используется библиотека wlroots, развиваемая разработчиками пользовательского окружения Sway и предоставляющая базовые функции для организации работы композитного менеджера на базе Wayland. Из расширенных Wayland-протоколов поддерживаются wlr-output-management для настройки устройств вывода, layer-shell для организации работы оболочки рабочего стола и foreign-toplevel для подключения собственных панелей и переключателей окон.
Возможно подключение надстроек с реализацией таких функций, как создание скриншотов, отображение обоев на рабочем столе, размещение панели и меню. Анимированные эффекты, градиенты и пиктограммы (за исключением кнопок для окон) не поддерживаются принципиально. Для запуска X11-приложений в окружении на базе протокола Wayland поддерживается использование DDX-компонента XWayland. Тема оформления, базовое меню и горячие клавиши настраиваются через файлы конфигурации в формате xml. Имеется встроенная поддержка экранов с высокой плотностью пикселей (HiDPI).
Помимо встроенного корневого меню, настраиваемого через menu.xml, можно подключить сторонние реализации меню приложений, такие как bemenu, fuzzel и wofi. В качестве панели можно использовать Waybar, sfwbar, Yambar или LavaLauncher. Для управления подключением мониторов и изменением их параметров предлагается использовать wlr-randr или kanshi. Блокировка экрана осуществляется при помощи swaylock.
Ключевые изменения в новом выпуске:
- Добавлена настройка ‹menu›‹ignoreButtonReleasePeriod› для определения времени игнорирования удержания кнопок мыши, что можно использовать для защиты от непреднамеренного выбора элементов или закрытия меню.
- Добавлена возможность использования падающих теней для окон, декодируемых на стороне сервера. Для включения теней в блоке ‹theme› предложена настройка ‹dropShadows›, а для настройки размера и цвета добавлены свойства window.active|inactive.shadow.size и window.active|inactive.shadow.color.
- Добавлено правило ignoreConfigureRequest, позволяющее игнорировать запросы конфигурации от клиентов X11 для изменения размера и позиции на экране.
- В правилах разрешена привязка к типу окон (‹windowRule type=»»›). Например, для окон XWayland применяется тип NET_WM_WINDOW_TYPE_DESKTOP.
- В циклы ‹action name=»ForEach»› добавлена поддержка секций «none», срабатывающих при отсутствии успешных совпадений.
- Добавлена опция «-S» (—session) для запуска указанной команды при запуске и для завершения работы композитного менеджера при завершении работы команды.
- В темах оформления появилась возможность указания цвета кодирования уровня прозрачности, используя формат «#aabbccff».
- В настройках интерфейса переключения между окнами разрешено создание произвольных полей с форматированием в стиле printf, например, ‹field content=»custom» format=»foobar %b %3s %-10o %-20W %-10i%t» width=»100%» /›. Добавлена возможность указания ширины интерфейса переключения между окнам в процентах относительно ширины экрана («osd.window-switcher.width: 75%»), а также изменения размера и цвета рамки вокруг эскизов окон (osd.window-switcher.preview.border.width|color). При настройке содержимого добавлены новые поля workspace, state, type_short и output.
- Добавлена поддержка совместимых с Openbox меню (pipe-menu).
- Добавлена возможность настройки привязки к краю экрана.
- Добавлена поддержка настройки методов ввода и интерфейс для их редактирования.
- Добавлена поддержка калибровки устройств ввода.
- В интерфейсе переключения между виртуальными рабочими столами появилась возможность определения префикса наименования рабочих столов.
- Добавлена возможность определения переменных окружения в файлах *.env, размещённых в каталоге «environment.d».
- Добавлена поддержка указания пустого значения для очистки переменной окружения.
- Добавлена возможность определения запасного устройства вывода ( LABWC_FALLBACK_OUTPUT), которое будет выбрано в случае недоступности базовых устройств вывода, что может оказаться полезным, например, при запуске VNC-сервера.
- Добавлена настройка ‹windowSwitcher allWorkspaces=»yes»›, позволяющая в window-switcher отображать окна на всех виртуальных рабочих столах.
- Предоставлена фозможность запуска shutdown-скрипта при завершении работы.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61165