Рабочий стол: niri и Niti
Композитор, который раскладывает окна в бесконечную ленту, и shell, который превращает его в законченный рабочий стол.
Что такое niri
niri это тайловый Wayland-композитор с прокручиваемой лентой окон (scrollable tiling). Окна стоят в колонках на бесконечной горизонтальной ленте, и у каждого монитора она своя. Открыли новое окно: оно появляется рядом, а остальные не сжимаются и не прыгают, как в обычных тайловых менеджерах. Нужное окно просто «доезжает» в видимую область.
Что умеет
- создан с нуля для прокручиваемого тайлинга, мониторы по-настоящему независимы (разные масштабы и DPI);
- динамические рабочие столы, как в GNOME, и обзор, который уменьшает рабочие столы и окна;
- встроенный интерфейс скриншотов и запись экрана или отдельного окна через xdg-desktop-portal-gnome;
- анимации (в том числе со своими шейдерами), градиентные рамки, размытие фона, группировка окон во вкладки;
- удобно и с мышью: при зажатой клавише
Modколесо листает рабочие столы, а горизонтальное (боковое) колёсико двигает ленту окон; сMod+Ctrlпереносит колонки; - конфиг перечитывается на лету, есть поддержка программ чтения с экрана;
- приложения X11 работают через xwayland-satellite.
Кто и зачем
niri делает русскоязычный разработчик Иван Молодецких (на GitHub под ником YaLTeR) на языке Rust под лицензией GPL-3.0. Идея выросла из PaperWM, расширения GNOME Shell с прокручиваемым тайлингом: расширение упирается в общую систему координат оболочки, и автору хотелось написать отдельный композитор, где мониторы разделены правильно.
niri не наш проект: мы берём его как есть из апстрима и ставим в образ. Поэтому все его возможности и документацию (wiki) можно использовать и в Atomic Niri.
Что такое Niti
Сам по себе niri это только композитор: он раскладывает окна, но не рисует панель, не показывает уведомления и не запускает программы. Всё это делает Niti: полноценный shell для niri (по роли это то же, что GNOME Shell для GNOME).
Название по-русски означает «нити»: ниточки, за которые дёргают нужное в системе. Так пользователь через панель взаимодействует с системой. Как Niti появился и почему, рассказано на странице «Что такое», а всё, что он умеет, описано на отдельной странице.
Лаунчер и док
Поиск и сетка всех приложений, док с избранным.
Быстрое меню
Сеть, Bluetooth, звук, яркость, режим «Не беспокоить» и другие плитки в одном месте.
Уведомления и OSD
Уведомления, индикаторы громкости и яркости, меню выключения.
Панель и виджеты
Часы и календарь, рабочие столы, задачи, трей, батарея, раскладка клавиатуры, медиа, диски, системный монитор и другие.
Глобальный поиск
Лаунчер на Super+D это глобальный поиск: одно поле, в котором результаты появляются по мере набора. Каждый источник показывается своим блоком:
- Приложения рядом значков, подходящее выделено;
- Tuner: страницы настроек с описанием, совпадение подсвечено жирным;
- Atomic Booster: разделы и действия системы;
- Калькулятор, справка и системные действия;
- Внешние поставщики поиска в стиле GNOME и расположения для поиска файлов, которые вы добавили в настройках.
Какие источники включены и где искать, настраивается в Tuner на странице «Поиск». Отдельное окно для вопросов к ИИ открывается по Super+Shift+Space.
Глобальный поиск: результаты на рабочем столе
Приложения, Tuner, Atomic Booster
Пустое поле
Режим ИИ: «Спросить Google AI»
Написан на нативной Vala
Niti написан на Vala: этот язык компилируется напрямую в нативный код C/GObject, на котором построен сам GTK. Нет прослойки биндингов и сборщика мусора, поэтому панель стартует мгновенно и почти ничего не ест в простое. Интерфейс на GTK4 и libadwaita.
- Плагинная архитектура (libpeas). Каждый виджет это независимый модуль по простому контракту. Заменить или отключить один виджет можно без пересборки всей панели, и свои виджеты можно добавлять так же.
- Настройка без правки файлов. Состав и порядок виджетов, быстрое меню, меню питания настраиваются в Tuner и в мастере первой настройки.
- История. Niti родился как панель на Go в противовес ashell, но очень быстро вырос в полноценный shell, который теперь реализован на Vala. Go-версия больше не развивается, проект продолжает NitiVala. Подробнее о Niti.
Только для ALT Atomic
Niti создан сугубо для ALT Atomic и тесно связан с её экосистемой: обновлениями образа, Atomic Booster, Tuner и ReadySet. Расширять его на другие дистрибутивы пока не планируется. Это осознанный выбор: глубокая интеграция с одной системой лучше, чем поверхностная поддержка всех.
Как это складывается
| Слой | Что это |
|---|---|
| niri | композитор: окна, рабочие столы, мониторы, ввод |
| Niti | shell: панель, лаунчер, быстрое меню, уведомления |
| Tuner | настройки; каждая вкладка отдельный плагин |
| Atomic Booster | система, приложения, контейнеры |
| ReadySet | мастер первой настройки |
| ALT Atomic | неизменяемая основа, обновления и откат |






