Выпуск Hyprland 0.46, композитного сервера на базе Wayland

Представлен композитный сервер Hyprland 0.46, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Код написан на языке С++ и распространяется под лицензией BSD.

Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. Для повышения производительности игр доступна возможность отключения вертикальной синхронизации (VSync) с кадровым гасящим импульсом, применяемая для защиты от появления разрывов при выводе (tearing). Из функций также выделяются: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране.

В новой версии:

  • Вместо параметра “cursor:dumb_copy” предложена новая настройка “cursor:use_cpu_buffer“, позволяющая использовать аппаратные курсоры на системах с видеокартами NVIDIA.
  • Изменена логика задания правил для окон и экранных раскладок – для срабатывания правила теперь требуется полное, а не частичное совпадение с регулярным выражением. Оптимизирован код обработки правил. Задействован более быстрый движок регулярных выражений RE2 от Google.
  • В список зависимостей добавлены библиотеки hyprgraphics и re2.
  • Для обработки цветов задействовано цветовое пространство OkLab вместо sRGB, что позволило добиться более естественного отображения градиентов и цветовых переходов.
  • Добавлена поддержка перемещения контента между окружениями Wayland и X11 (на базе XWayland) в режиме Drag&Drop.
  • Добавлен новый приветственный экран, показываемый после обновления версии Hyprland.
  • Добавлена настройка “cursor:warp_back_after_non_mouse_input” для исключения проблем при одновременной работы с мышью и сенсорным экраном.
  • В утилите hyprctl реализована возможность вывода списка плагинов в формате JSON (“hyprctl -j plugins”). Добавлены новые поля inhibitingIdle и directScanout.






Release. Ссылка here.