В современном мире пользовательских интерфейсов и рабочих окружений для Linux Wayland продолжает укреплять свои позиции благодаря расширенным возможностям и передовым технологиям отображения. Среди множества доступных композиторов выделяется Niri — скроллируемый тайлинговый композитор для Wayland, который сочетает в себе инновационный подход к работе с окнами и высокую стабильность. Этот проект приносит свежий взгляд на организацию рабочего пространства и задает новые стандарты удобства при работе с множеством приложений одновременно. Niri основан на идее создания бесконечной горизонтальной полосы с окнами, расположенными в колонках, которые можно прокручивать. Такой подход позволяет пользователю открывать новые окна, не переживая о том, что уже расположенные окна будут автоматически изменять свои размеры.
Это значительно облегчает управление окнами и сохраняет их предсказуемое расположение, что особенно важно для тех, кто работает с большим количеством информационных панелей и приложений. Каждый монитор в системе получает собственную независимую полосу окон. Эта особенность Niri исключает возможность перетекания окон с одного экрана на другой, что часто становится проблемой в других композиторах, не учитывающих физическое разделение дисплеев. Кроме того, рабочие пространства организованы вертикально и динамически, что вдохновлено популярными решениями, такими как GNOME. Такой вертикальный стэк позволяет с легкостью переключаться между различными наборами окон, поддерживая порядок и логическую структуру рабочего процесса.
Niri выделяется также своей поддержкой динамического перераспределения рабочих пространств при изменении конфигурации мониторов. При отключении монитора рабочие пространства автоматически перемещаются на доступный дисплей, а при подключении возвращаются обратно, если это возможно. Эта уникальная функция значительно упрощает работу в мобильных условиях, где часто меняется количество активных экранов. Для управления окнами Niri предлагает богатый набор функций. Среди них возможность легко группировать окна в виде вкладок, что удобно при работе с родственными приложениями.
В сочетании с поддержкой настраиваемых отступов, рамок и размеров окон пользователь получает полный контроль над внешним видом и поведением интерфейса. Благодаря градиентным рамкам с использованием цветовых моделей Oklab и Oklch интерфейс выглядит современно и эстетично, что немаловажно для длительной работы и восприятия информации. Среди других ключевых возможностей Niri — встроенный интерфейс для создания скриншотов и поддержка видеозахвата окон и мониторов через интеграцию с xdg-desktop-portal-gnome. Важной особенностью является возможность блокировать определенные окна от отображения в screencast, обеспечивая конфиденциальность и безопасность информации. Эта функциональность особо актуальна для пользователей, проводящих прямые трансляции или интернет-встречи с демонстрацией экрана.
Плавность и отзывчивость интерфейса поддерживаются за счет анимаций с возможностью использования пользовательских шейдеров, что добавляет гибкости визуальным эффектам. Niri активно работает с сенсорными устройствами — поддерживаются тачпад и мышь, реализованы полноценные жесты, хотя еще отсутствует поддержка жестов для сенсорных экранов. Это говорит о том, что разработчики стремятся обеспечить удобство работы для различных способов ввода. Особое внимание уделяется доступности. Niri поддерживает экранные читалки и остается удобным для пользователей с ограничениями по зрению, что расширяет аудиторию и позволяет использовать композитор в разнообразных условиях.
Производительность Niri впечатляет. Несмотря на использование современных визуальных эффектов и большого функционала, он подходит для работы на старых устройствах с невысокими ресурсами, что подтверждают многочисленные отзывы пользователей. Такая оптимизация достигается благодаря тщательной реализации и выбору технологий, используемых в проекте. Многомониторность в Niri реализована с самого начала проекта. При этом поддерживаются дисплеи с разным DPI, что очень важно для современных смешанных конфигураций с мониторами различного разрешения и размера.
Помимо этого, композитор успешно работает с видеокартами NVIDIA, что не всегда является тривиальной задачей для Wayland-сред. Полноценная поддержка плавающих окон стала доступна с версии 25.01. Это расширяет возможности манипуляции окнами и позволяет использовать традиционные сценарии взаимодействия, привычные пользователям X11-окружений. Кроме того, интеграция с Xwayland через специальный механизм xwayland-satellite, появившаяся в версии 25.
08, радикально расширяет совместимость с приложениями, использующими X11. Это позволяет постепенно переходить на Wayland без потери возможностей работы с устаревшим или неадаптированным программным обеспечением. Конфигурация Niri обладает возможностью живого обновления, что позволяет изменять настройки без перезапуска композитора. Это повышает удобство и ускоряет настройку окружения под индивидуальные потребности. Для знакомства с Niri существует подробная документация и демонстрационные видео, которые наглядно показывают возможности и принципы работы композитора.
Сообщество активно поддерживает новичков через каналы Matrix и Discord, что делает применение Niri максимально комфортным. Вдохновением для создания Niri послужил такой проект, как PaperWM, который реализовывает идею скроллируемой тайлинговой компоновки на базе GNOME Shell. Однако Niri удалось решить задачи, которые PaperWM вынужден обходить, из-за принципа работы GNOME Shell с областью координат окон. В своей основе Niri с самого начала проектировался как самостоятельный Wayland-композитор, что обеспечивает большую гибкость и надежность. Аналогичные идеи реализуются в других проектах, таких как karousel для KDE или scroll и papersway для Sway/i3, и даже на macOS существует PaperWM.