Выпуск 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.

Источник: http://www.opennet.ru/opennews/art.shtml?num=62420