Рабочий стол Niti
Сам по себе niri это только композитор. Панель, лаунчер, быстрое меню, уведомления и экранные индикаторы делает Niti: полноценный shell для niri (по роли это то же, что GNOME Shell для GNOME). Niti написан на Vala и GTK4 с libadwaita, создан только для ALT Atomic и тесно связан с её экосистемой. Исходный код: NitiVala.

Как это выглядит#
Меню приложений:

Док с избранными приложениями:

Быстрое меню с уведомлениями:

Уведомление на рабочем столе:

Виджет обновления системы:

Системный монитор:

Из чего состоит#
- Панель с виджетами по трём зонам: слева, по центру, справа.
- Лаунчер (
Mod+D) и сетка всех приложений (Mod+G). - Быстрое меню: сеть, Bluetooth, звук, яркость, «Не беспокоить» и другие плитки.
- Уведомления и экранные индикаторы громкости и яркости.
- Календарь с синхронизацией онлайн-аккаунтов.
- Док с избранными приложениями.
- Меню выключения (
Mod+Shift+BackSpace).
Niti запускается пользовательской службой niti.service. Состояние службы смотрится так:
systemctl --user status niti.serviceОкна Niti из командной строки#
Часть окон Niti можно открыть командой. Так же устроены сочетания клавиш в binds.kdl:
niti --toggle-window Launcher
niti --toggle-window AppGrid
niti --toggle-window Hotkeys
niti --open-window QuickCenterPowerГлобальный поиск#
Лаунчер (Mod+D) это глобальный поиск. В поле видна раскладка клавиатуры (например RU), Enter запускает выбранный результат. Результаты появляются по мере набора, совпадающая часть выделена жирным.

Каждый источник показывается отдельным блоком:
| Источник | Что находит |
|---|---|
| Приложения | Установленные приложения рядом значков, подходящее выделено |
| Тюнер | Страницы настроек Tuner с описанием: набрали слово, получили нужную страницу |
| Atomic Booster | Разделы и действия системы |
| Калькулятор | Вычисления прямо в поле поиска (поставщик GNOME Calculator) |
| Справка | Подсказки по системе |
| Системные действия | Выключение, перезагрузка и подобные команды |
| Внешние поставщики | Поставщики поиска в стиле GNOME |

Пустое поле поиска с подсказкой «Поиск приложений, файлов и настроек»:

Настройка поиска#
Порядок и состав источников хранятся в ~/.config/niti-vala/search.json:
{
"app_search": true,
"external_providers": true,
"providers": [],
"locations": { "recursive": [], "single": [], "bookmarks": [] }
}app_searchвключает поиск приложений;external_providersвключает внешние поставщики поиска;providersзадаёт включённые источники и порядок;locationsописывает, где искать файлы: папки с обходом вложенных (recursive), отдельные папки (single) и закладки (bookmarks).
Удобнее настраивать это в Tuner на странице «Поиск». Если расположения не заданы, поиск файлов ничего не показывает.
Режим ИИ#
Отдельное окно «Спросить Google AI» открывается по Mod+Shift+Space. Для него нужен интернет.

Виджеты панели#
Каждый виджет это отдельный модуль libpeas. Набор виджетов в образе:
| Виджет | Что показывает |
|---|---|
workspaces | Рабочие столы |
tasks | Запущенные окна и закреплённые приложения |
clock | Часы, дата, календарь |
media | Текущий трек (бегущая строка) |
systeminfo | Сводка по системе |
vitals | Системный монитор: процессор, память, температуры |
disks | Подключённые диски |
power | Кнопка питания |
battery | Заряд батареи |
caffeine | Запрет засыпания экрана |
keyboard | Текущая раскладка |
tray | Значки приложений в трее |
quickbutton | Кнопка быстрого меню |
recording | Запись экрана |
layouts | Макеты окон |
hotkeys | Список горячих клавиш |
Какие виджеты показаны и в каком порядке, настраивается в мастере ReadySet и в Tuner (страницы «Настройки панели» и «Быстрое меню»). Написать свой виджет можно по этому руководству.
Где лежат настройки#
Настройки Niti хранятся в ~/.config/niti-vala/:
| Файл | Что в нём |
|---|---|
panel.json | Режим, высота и цвет панели, виджеты по зонам left, center, right |
profile.json | Профиль набора модулей (extensions-profile) |
widgets/<модуль>/config.json | Настройки конкретного виджета |
dock.json, appgrid.json, calendar.json, notifications.json, search.json | Настройки соответствующих окон |
Вручную править эти файлы можно, но удобнее делать это в Tuner. Многие виджеты следят за своим файлом и подхватывают изменения сразу.
Пример зон из panel.json:
{
"panel": { "mode": "solid", "height": 34, "color": "standard", "layer": "top" },
"zones": {
"left": ["niti-workspaces", "niti-tasks"],
"center": ["niti-clock", "niti-media"],
"right": ["niti-tray", "niti-quickbutton"]
}
}Профиль набора модулей#
В profile.json хранится ключ extensions-profile с одним из значений minimal, balanced или full. По умолчанию стоит balanced:
{"extensions-profile": "balanced"}Профиль влияет на набор загружаемых модулей. Точный состав каждого профиля в документации пока не описан. Это не профили питания системы (performance, balanced, power-saver): они переключаются в быстром меню.
Любой модуль можно отключить флагом {"enabled": false} в его настройках.
Важно. Niti рассчитан только на ALT Atomic. Поддержка других дистрибутивов не планируется.