|
После 6 месяцев разработки представлен первый предварительный выпуск композитного сервера Xfwl4, использующего протокол Wayland. Xfwl4 написан на языке Rust с использованием библиотеки Smithay. В качестве причины создания нового композитного сервера упоминается неудачная попытка реализации одновременной поддержки X11 и Wayland в существующей кодовой базе оконного менеджера xfwm4, который изначально был спроектирован с учётом тесной интеграции протокола X11, что затруднило отделение общей логики управления окнами от специфики X11.
Xfwl4 развивается с нуля и не пересекается с кодовой базой оконного менеджера xfwm4, но нацелен на реализацию всей имеющейся в xfwm4 функциональности, вплоть до возможности использования существующих настроек xfconf и интерфейса конфигурации с учётом специфики использования Wayland вместо X11. Планируется довести функциональность Xfwl4 до уровня, при котором пользователь сможет переключаться между Xfwl4 и xfwm4, не замечая различий.
Из расширенных функций Xfwl4 отмечается существенная переработка логики запуска сеансов, реализация Wayland-протокола xdg-session-management и поддержка запуска X11-приложений при помощи XWayland. Код Xfwl4 распространяется под лицензией GPLv3 (для сравнения код оконного менеджера xfwm4 распространяется под GPLv2).
Xfwl4 построен поверх библиотеки Smithay, предоставляющей реализацию почти всех официальных расширений протокола Wayland, а также протоколов wlroots и KDE. Smithay применяется в таких проектах, как Cosmic и Niri. По аналогии с wlroots библиотека Smithay предоставляет высокоуровневые абстракции, но при этом позволяет вмешиваться в работу низкоуровневых систем и адаптировать под свои потребности методы вывода графики, работу с устройствами ввода, поведение Wayland-протоколов и обработку задач, связанных с построением рабочего стола. Язык Rust выбран, как затрудняющий совершение ошибок при работе с памятью и снижающий вероятность проблем, приводящих к аварийному завершению работы.
От проекта по постепенному добавлению поддержки Wayland в xfwm4 решено отказаться из-за опасений снижения стабильности и появления новых ошибок в процессе рефакторинга. Проще оказалось оставить xfwm4 завязанным на X11 и параллельно развивать новый композитный сервер для Wayland. В качестве причин создания нового сервера также упоминается невозможность адаптировать некоторые концепции управления окнами X11 для Wayland и необходимость использования языка Си и библиотеки wlroots в случае продолжения развития xfwm4, несмотря на наличие лучших альтернатив.
Первый выпуск Xfwl4 имеет уровень качества альфа-версии и реализует не всю задуманную функциональность. Из возможностей, пока недоступных в первом тестовом выпуске:
- Диалог настройки мыши и тачпада.
- Диалог настройки виртуальных рабочих столов.
- Определение областей по краям экрана, в которых исключается размещение окон.
- Сворачивание окна с отображением пиктограммы и меню, показываемое при клике средней кнопкой мыши.
- Показ эскизов с содержимым виртуальных рабочих столов в панели.
- Комбинации клавиш для переключения между приложениями и окнами приложений.
- Восстановления прошлого местоположения окон после перезапуска приложений.
|