ochre@docs ~/docs/about/ ❯ less README█
[‹ 󰙯 󰓓] · git ochre · --:--
~/docs/about

ochre

Оболочка рабочего стола для композитора niri на Quickshell, целиком в стиле терминала: панель — строка shell-приглашения, меню — fzf, настройки — menuconfig, уведомления — строки лога, блокировка — getty. Палитра Gruvbox dark hard, шрифт Terminess (Terminus). Для Arch Linux и производных.

Раньше назывался nopox-shell. Обновление переносит всё само: настройки — в ~/.config/ochre/, конфиг niri — в ~/.config/niri/ochre/ вместе с include в config.kdl. Greeter под старым именем переустановите: Mod+S → system/ → обновить greeter.

user@ochre ~/ws/{1,[2]} [1] ❯ kitty # ~/projects [‹ 󰙯 󰓓] · cpu ▂▃▅▇ 4% · mem 1.7G · vol 40% · upd 2 · log 0 · ru · 21:58
рабочий стол ochre: панель, обои horizon, fastfetch и кодто же в акценте blueто же в акценте orange
одни и те же окна в акцентах ochre, blue и orange — фирменные обои меняются вслед за акцентом
  • панель из 17 модулей по зонам left / center / right, TUI-попапы по клику;
  • меню Mod+D для действий: программы, обои, пакеты pacman/AUR, питание;
  • настройки Mod+S в стиле menuconfig с поиском — без правки конфигов руками;
  • окна мониторов, биндов и обоев (wallhaven.cc);
  • темы GTK и Qt в той же палитре, с тем же акцентом и шрифтом;
  • блокировка и greeter как getty, уведомления как лог, обновление shell одним кликом.
~/docs/install/

Установка

Arch Linux и производные (CachyOS, EndeavourOS, …), от обычного пользователя:

❯ bash <(curl -fsSL https://raw.githubusercontent.com/nopoxxx/ochre/main/install.sh)

Установщик сначала задаёт вопросы, показывает итог и только потом ставит:

выборварианты
терминалkitty, alacritty, ghostty, foot — конфиг в Gruvbox + Terminess, Mod+Return
оболочкаzsh (подсказки и подсветка), fish, bash — приглашение как панель: user@host ~/путь ❯, красный ❯ после ошибки
браузерHelium, Firefox, Zen, Chromium, Brave, Vivaldi — станет браузером по умолчанию, Mod+Shift+B
файлыThunar, Nautilus, Dolphin, Nemo или yazi в терминале, Mod+E
программыпо группам: медиа, общение, графика, работа и код, игры, утилиты
Discordкак есть, с Vencord, с BetterDiscord или Vesktop вместо него

Нужен niri 25.11 или новее — установщик проверит и предложит обновить. Программы из AUR ставятся готовыми сборками из chaotic-aur (установщик предложит подключить его) — без компиляции, поэтому быстро; чего там нет — собирается из AUR. paru тоже ставится — им пользуется сам shell (обновления, меню packages/). Дальше — клон shell в ~/.config/quickshell, конфиг niri (или два include к вашему) и, по желанию, greeter. Всё, что заменяется, остаётся рядом как *.bak-<дата>.

флаги

флагчто делает
--yesбез вопросов, всё по умолчанию; pacman и paru получают --noconfirm
--terminal --shell --browser --filesвыбор без вопроса, например --terminal foot
--apps mpv,discord,steamпрограммы (none — никаких)
--discord-mod vencordnone, vencord, betterdiscord, vesktop
--keep-niri-configне заменять ваш config.kdl, только дописать include
--no-greeterне ставить greeter
--no-steam-notifyне ставить Millennium и плагин уведомлений Steam
--no-chaoticне подключать chaotic-aur: программы из AUR соберутся из исходников (дольше)
--branch <ветка>другая ветка репозитория
вручную
❯ sudo pacman -S --needed niri quickshell xwayland-satellite kitty git networkmanager pipewire \
    pipewire-pulse wireplumber upower pacman-contrib libnotify polkit-gnome ttf-terminus-nerd paru wl-clipboard \
    qt6ct adw-gtk-theme xdg-desktop-portal-gnome
❯ git clone https://github.com/nopoxxx/ochre ~/.config/quickshell

Затем подключите shell к niri — см. extras/niri.kdl.

пакетом

Вместо git-клона shell можно поставить пакетом ochre-git: файлы — в /usr/share/ochre, обновления — вместе с системой. В AUR его пока нет, собирается из репозитория:

❯ git clone https://github.com/nopoxxx/ochre && cd ochre/extras/aur/ochre-git && makepkg -si
❯ ochre setup      # то же, что установщик: программы, конфиг niri, терминал, оболочка, greeter

Команда ochre: без аргументов — запустить shell, ochre ipc … — IPC, ochre restart — перезапуск, ochre greeter — экран входа. Обновлённый пакет shell подхватывает не на лету, а после перезапуска — о нём придёт уведомление с кнопкой. Индикатора ochre ↑ у пакета нет: обновления ставит пакетный менеджер.

~/docs/keys

Клавиши

Mod — клавиша Super (Win). Полный список niri — Mod+Shift+/; изменить любое сочетание — в окне биндов.

shell

сочетаниедействие
Mod+Dменю
Mod+Spaceсразу список программ
Mod+Sнастройки
Mod+Returnтерминал (выбранный в настройках)
Mod+Eфайловый менеджер
Mod+Shift+Bбраузер
Mod+Shift+Wобои
Mod+Shift+S Printскриншот с разметкой
Mod+Shift+Tтекст с экрана в буфер (tesseract)
Mod+Shift+Cпипетка: цвет под курсором в буфер
Mod+Shift+Gигровой режим
Mod+Shift+Vистория буфера обмена
Mod+Aменю home (или клик по user@host)
Mod+Alt+Rзапись экрана: начать / остановить
Super+Alt+Lзаблокировать экран

окна и столы

сочетаниедействие
Mod+Tabобзор столов и окон
Mod+Qзакрыть окно
Mod+H/J/K/L Mod+стрелкифокус влево / вниз / вверх / вправо; с Ctrl — переместить
Mod+1…9стол по номеру; с Ctrl — перенести окно туда
Mod+колёсиковниз — следующее окно, вверх — предыдущее; с Ctrl — переместить окно
Mod+Shift+колёсиковверх — предыдущий стол, вниз — следующий
Mod+F / Mod+Shift+Fразвернуть колонку / во весь экран
Mod+Vплавающее окно; Mod+Ctrl+V — фокус между плавающими и колонками
Mod+Rсменить ширину колонки
Ctrl+Print / Alt+Printвстроенный скриншот niri: экран / окно, сразу в буфер и файл
Mod+Shift+Eвыйти из niri

Горячие углы: курсор в угол экрана открывает обзор. По умолчанию — левый верхний; какие углы включены — input/ → горячие углы.

Колёсико над самой панелью тоже листает столы её монитора, а над vol и kbd — громкость и раскладку.

~/docs/bar/

Панель

Строка shell-приглашения из модулей. Модули расставляются по зонам left / center / right в Mod+S → bar/: ←→ — зона, Shift+↑↓ — порядок. Там же положение, высота, floating-стиль, автоскрытие, разделитель и вид prompt.

модульчто показывает · клики
useruser@host — стиль prompt настраивается; клик — меню home
workspaces~/ws/{1,[2]} — столы этого монитора; клик — перейти
jobs[N] окон на активном столе
command❯ app # title активного окна с эффектом набора; ❯ красный, если окно просит внимания
mediaплеер (MPRIS) и полоски звука ▂▅▇▃, пока играет (нужен cava; bar/ → модули): клик — пауза, правый — следующий, средний — предыдущий
rec● REC 01:23 — идёт запись экрана; клик — остановить. Без записи не виден
timertimer 24:59 чай — таймер (меню: timer 25m чай): клик — пауза, правый — стоп, колёсико — ±1 мин. Без таймера не виден
privacymic discord cast obs — кто слушает микрофон и кто показывает экран. Выключенный микрофон не в счёт; когда никого нет, модуль не виден
tray[‹ 󰙯 󰓓] — значки Nerd Font или названия; клик — открыть, правый — меню, ‹ — свернуть в [+N]
cpu memзагрузка с графиком ▂▃▅▇ и память; клик — процессы как ps с [kill]
gpu tempзагрузка и температура (без датчика скрыты)
netspeed netскорость ↓↑ и подключение; клик по net — nmtui
volгромкость: колёсико ±5%, клик — микшер, правый — mute
batбатарея ноутбука, если есть
updatesчисло обновлений: клик — paru -Syu, правый — проверить
shellupdochre ↑N — вышла новая версия shell, см. update
notifylog N / dnd: клик — история уведомлений, правый — «не беспокоить»
kbdраскладка: клик или колёсико — переключить
clockчасы; клик — календарь как cal
home≡ — открыть меню home; по умолчанию выключен (его открывает клик по user)

Трей показывает значки известных программ — Discord, Steam, Telegram, VPN-клиенты, торренты, облака и др.; незнакомые — первой буквой. Вернуть названия: bar/ → трей → names.

~/docs/home

Меню home

Клик по user@host на панели или Mod+A. Вид — home/ → меню → вид: control — центр управления под панелью (плитки, ползунки, медиа; wi-fi и bluetooth открываются по › на плитке), column — колонка у края во всю высоту, dashboard — три колонки посередине экрана, classic — прежний вид строками. В первых трёх секции — карточки, клик по заголовку их сворачивает. Всё управляется и мышью, и с клавиатуры: ↑↓ — элементы и секции, ←→ — внутри строки или значение, ↵ — действие, Tab — следующая секция, Esc — закрыть.

меню home у левого края
меню home: громкость, погода, календарь, уведомления, система, действия
~/home/user/
── whoami ────────────────────────────user@archup 3ч 12м · Arch Linux · 6.17.1-arch1── быстро ────────────────────────────[wifi: home] [bt] [ночь] [dnd] [mic] [rec]── звук и экран ────────────────────── vol ▕████████████░░░░░░░░▏ 62% mic ▕████████████████████▏ 100%── сейчас играет ─────────────────────Instant CrushDaft Punk — Random Access Memories1:42 ━━━━━━━━━━────────────── 5:37── погода · Москва ───────────────────+7°C облачноощущается +4° · ветер 4 м/с · 81%── действия ──────────────────────────[запись] [настройки] [lock] [сон] [выход] ↑↓ выбор ←→ изменить ↵ действие tab секция
секциячто внутри
whoamiuser@host, время работы, система и ядро
быстропереключатели: Wi-Fi, bluetooth, ночной режим, «не беспокоить», микрофон, запись экрана
звук и экрангромкость, микрофон и яркость (на ноутбуке): ←→ ±5%, ↵ — mute
сейчас играетобложка, трек, прогресс (клик — перемотка), кнопки и полоски звука (cava — только звук этого плеера, не звонки и не системные звуки; home/ → звук для полосок); текущая строка песни из LRCLIB; несколько плееров — ‹ 1/2 ›
погодаOpen-Meteo: сейчас и прогноз на несколько дней; ↵ — обновить
календарьмесяц как cal: ←→ — листать, ↵ — сегодня
todoсписок дел из ~/.config/ochre/todo.txt (формат todo.txt, можно править руками): ↵ — сделано, a — добавить, Del — удалить, c — убрать сделанное, e — открыть файл
заметкиначало ~/.config/ochre/notes.md; ↵ — открыть в редакторе. По умолчанию скрыта
уведомленияпоследние пять: ↵ — действие, Del — убрать, [clear]
системаcpu, память, диск, температуры; ↵ — btop
питаниебатарея и профиль питания (эконом / баланс / мощность), если есть power-profiles-daemon
wi-fiсети рядом: ↵ — подключиться или отключиться; новой сети — поле пароля прямо под ней
bluetoothустройства: ↵ — подключить, отключить или сопрячь; Del — забыть
действиязапись экрана, настройки, блокировка, сон; выход, перезагрузку и выключение надо подтвердить вторым ↵

Mod+S → home/: какие секции показывать и в каком порядке (←→ — показать / скрыть, Shift+↑↓ — порядок), край экрана и ширина, город и единицы погоды (пустой город — по IP), ночной режим, запись экрана. Секции без устройства — Wi-Fi на десктопе, bluetooth без адаптера, батарея — не видны.

ночной режим

Тёплые цвета экрана через gammastep: переключатель ночь в меню, температура — в настройках. «По закату» включает его только от заката до рассвета в городе погоды.

запись экрана

Mod+Alt+R, кнопка в меню или qs ipc call record region / screen: область выделяется мышью (slurp), экран — монитор с фокусом. Звук — нет / системный / микрофон. Пока идёт запись, на панели ● REC — клик останавливает; файл — в ~/Videos/Screencasts, уведомление открывает папку.

индикатор громкости и яркости

При изменении громкости или яркости — клавишами, колёсиком, из других программ — внизу экрана появляется полоска vol ▕████████░░░░▏ 62%. Выключить или перенести — look/ → индикаторы.

~/docs/settings/

Настройки

Mod+S — большое окно: разделы слева, настройки карточками справа, у каждой — свой элемент: тумблер, кнопки вариантов, цвета, ползунок (можно тянуть), поле, кнопка. Мышью значение меняется сразу, ↺ — вернуть по умолчанию. Модули панели и секции home перетаскиваются мышью между зонами и внутри них. С клавиатуры — как в menuconfig: ←→ (или Space) — выбрать значение: видно было → ‹ станет ›; ↵ — применить, Esc или уход со строки — отменить. r — вернуть по умолчанию (тоже через ↵), / — поиск по всем настройкам, Tab — разделы. Изменённые значения помечены *.

раздел look/раздел bar/
разделы look/ и bar/
~/settings/look/
── shell ─────────────────────────────────▌ акцентный цвет yellow → ‹ blue › [↵] размер шрифта 16── приложения ──────────────────────────── темы Qt и GTK [*] шрифт shell в приложениях [*]── обои ────────────────────────────────── выбрать … заполнение ‹ fill › * ↵ применить esc отмена ←→ значение r по умолчанию
разделчто внутри
look/акцент (ochre — цвет бренда — и 7 цветов Gruvbox), размер шрифта, темы Qt и GTK, обои, высота и анимация меню, индикатор громкости и яркости, скорость анимаций
windows/отступы, колонки, рамка фокуса, обводка, тени, скругление, прозрачность неактивных, анимации niri: default, snappy, bouncy (пружины) и terminal — окно выводится строками с курсором, закрытое гаснет, как кинескоп
input/клавиатура и раскладки, бинды, мьют микрофона и звука, горячие углы, мышь и тачпад, курсор
bar/модули по зонам, положение и стиль панели, prompt, часы, график cpu, трей
home/секции меню home и их порядок, край, ширина и анимация, погода, ночной режим, запись экрана
notify/«не беспокоить», положение, время показа, максимум на экране, критичные, анимация и тестовое уведомление
lock/блокировка по бездействию, эхо пароля, часы, фраза под приглашением, обои, предпросмотр
system/мониторы, сеть, звук, приложения, конфиги, обновления shell

Анимация меню Mod+D, меню home и уведомлений выбирается отдельно: slide — выезжает, fade — проявляется, pop — вырастает из центра, unfold — разворачивается сверху вниз, type — печатается по символу: перед курсором █ бегут случайные знаки, за ним проступает окно; none — без анимации. Закрытие играет ту же анимацию в обратную сторону. Общая скорость — look/ → анимации (2 — вдвое быстрее, 0.5 — вдвое медленнее), у окон niri своё замедление в windows/.

Окна, открытые из настроек (мониторы, бинды, обои), по Esc возвращают в них.

~/docs/settings/monitors

Мониторы

system/ → мониторы: карта расположения, режим и частота, масштаб, поворот, расположение относительно другого монитора (справа от DP-1 и т.п.), VRR и основной монитор.

окно мониторов
два монитора на карте, справа — свойства выбранного

Любое изменение ждёт подтверждения y 15 секунд — иначе (или n / Esc) всё возвращается как было. Выключить последний работающий монитор нельзя.

~/docs/settings/binds

Бинды

input/ → бинды: все сочетания niri и ochre с поиском — изменить, добавить, отключить, вернуть. Сочетание можно нажать или ввести текстом; перед применением конфиг проверяется niri validate, и если не прошёл — изменение откатывается.

Без запроса список разбит на группы: ochre, программы, окна, фокус, перемещение, размеры, столы, мониторы, звук и медиа… Своя группа — подпись вида Игры: Steam (от двух биндов с одной приставкой).

окно биндов
все сочетания niri и ochre с поиском; источник — справа

Бинды собираются из трёх слоёв, следующий перекрывает предыдущий:

слойфайлкто пишет
1. ochre~/.config/niri/ochre/binds.kdlshell, из настроек (терминал, браузер…)
2. ваши~/.config/niri/config.kdlвы, руками
3. из окна биндов~/.config/niri/ochre/keys.kdlshell, из окна биндов

мьют микрофона и звука

В input/ → клавиши — строки мьют микрофона и мьют звука (наушники или колонки — устройство вывода по умолчанию). ↵ на строке и нажмите сочетание; ⇥ — ввести текстом (если сочетание уже занято niri, нажать его окну не получится), ⌫ — убрать. Работают и на экране блокировки; если сочетание занято другим биндом, подсказка внизу об этом скажет.

Файлы в ~/.config/niri/ochre/ перезаписываются при каждом запуске shell — ручные правки там пропадут. Свои бинды задавайте в окне биндов или в своём config.kdl.

~/docs/settings/wallpapers

Обои

Mod+Shift+W: сетка превью локальной коллекции ~/Pictures/Wallpapers/, Tab — поиск на wallhaven.cc с бесконечной прокруткой; выбранное скачивается в коллекцию. Режимы заполнения fill / fit / stretch.

Смена обоев — переходом (look/ → обои → переход): type — новые обои печатаются строками с курсором цвета акцента, blocks — проступают клетками, scan — развёрткой сверху вниз, fade, none или random. Скорость — вместе с остальными анимациями shell.

Первыми в сетке — фирменные обои ochre: horizon, sundown, field, tty. Первые три нарисованы под каждый акцент: пока они стоят, смена акцента в look/ меняет и их. При первом запуске стоит horizon.

фирменные обои в окне выбора
фирменные обои — первым рядом, в варианте текущего акцента
~/docs/settings/apps

Приложения по умолчанию

system/ → приложения:

  • терминал — для Mod+Return и окон, которые открывает shell (обновления, nmtui…);
  • файловый менеджер — для Mod+E;
  • оболочка — zsh / fish / bash: откроется терминал с chsh (спросит пароль), действует с нового входа; нет пакета — поставит;
  • браузер — станет браузером по умолчанию и откроется по Mod+Shift+B; нет пакета — поставит через paru.

Оболочка и браузер берутся из системы: если отменить chsh, настройка сама вернётся к тому, что стоит на самом деле.

~/docs/shot

Скриншоты

Mod+Shift+S или Print: экраны замирают — тяните область, клик или Space — весь экран, w — окно (кликните по нему; снимается целиком, даже если не помещается на экране). Дальше — разметка и экспорт.

~/shot/ 1200×800
r rect e ellipse l line a arrow p pen m marker t text n step b blur x pixelцвет [█] █ █ █ █ █ █ █ толщина ‹ 3 › заливка [ ][copy] ↵ [save] ^S [both] ⇧↵ [ocr] ^O 1-9 цвет [ ] толщина ^Z отмена
  • инструменты: прямоугольник и эллипс (f — с заливкой), линия, стрелка, карандаш, маркер, текст, нумерованные шаги, размытие, пиксели;
  • цвет — 1…9, толщина — [ ] или колёсико, отмена — Ctrl+Z / ⌫, повтор — Ctrl+Y;
  • ручки по краям меняют область — нарисованное остаётся на месте;
  • ↵ — копировать (или сохранить — настраивается), Ctrl+C — копировать, Ctrl+S — сохранить в ~/Pictures/Screenshots, Shift+↵ — и то и другое; снимок — в родном разрешении экрана;
  • Ctrl+O — распознать текст в области и положить в буфер (tesseract, английский и русский); Mod+Shift+T — то же сразу: выделили — текст в буфере;
  • i или Mod+Shift+C — пипетка: кликните по точке экрана, цвет #rrggbb — в буфере.

Папка, действие ↵ и уведомление — system/ → скриншоты. Клавиши инструментов работают в любой раскладке. Разметить готовую картинку: qs ipc call shot edit ~/картинка.png.

По мотивам rishot (MIT).

~/docs/clipboard

Буфер обмена

Mod+Shift+V: история всего, что копировали, — текст и картинки, новые сверху. Слева список с нечётким поиском, справа выбранная запись целиком.

  • ↵ или клик — положить запись в буфер, дальше вставляйте как обычно (Ctrl+V, в терминале Ctrl+Shift+V);
  • Del / Ctrl+D — удалить запись, Shift+Del — очистить всю историю (спросит y).

Историю хранит cliphist, пишет её сам shell, пока запущен. Пароли из менеджеров паролей (KeePassXC и другие помечают их) не сохраняются.

~/docs/themes

Темы приложений

look/ → темы Qt и GTK: GTK- и Qt-приложения в той же палитре Gruvbox, с тем же акцентом и шрифтом, что и shell, и иконками Gruvbox Plus — через adw-gtk3 / libadwaita и qt6ct. Firefox и Chromium берут тёмную схему через портал.

btop — тоже: тема ochre с рамками цвета акцента, прямыми углами и фоном терминала (в btop.conf shell ставит color_theme, theme_background и rounded_corners, остальное не трогает).

Уже открытые окна подхватывают изменения после перезапуска приложения; новые — сразу. Свои стили GTK пишите в gtk.css после строки @import "ochre.css";.

~/docs/lock/

Блокировка и greeter

Блокировка (Super+Alt+L, system/ → lock, после бездействия) и greeter для greetd — один и тот же экран в духе getty. Блокировка проверяет пароль через PAM, greeter — через greetd.

экран блокировки
блокировка: часы, приглашение getty и фраза под ним (здесь — предпросмотр)
ochre 7.x-arch1-1 (tty1) идёт закат… ochre login: user Password: █

Под приглашением — фраза, как motd в консоли: «с возвращением.», «чайник уже поставлен.», «идёт закат…» — каждый раз другая (выключается в lock/). В greeter сначала вводится имя (подставлено последнее), Tab — сессия, F11 / F12 — перезагрузка / выключение.

❯ sudo bash extras/install-greeter.sh   # greeter (git-установка → /usr/local/share/ochre), niri для него, greetd; у пакета — ochre greeter
❯ sudo systemctl restart greetd

Greeter работает под пользователем greeter и не видит вашу домашнюю папку — поэтому сессия копирует настройки и обои в /var/lib/ochre-greeter/<user>/, и greeter выглядит как shell последнего вошедшего. После обновления git-установки greeter переустанавливается отдельно: system/ → обновить greeter; у пакета он обновляется вместе с ним.

~/docs/game

Игровой режим

Mod+Shift+G, кнопка [game] в home или windows/ → игровой режим: niri работает без анимаций, теней и прозрачности неактивных окон, уведомления показываются только критичные (отключается там же — «не беспокоить»). Ваши настройки при этом не меняются: выключили режим — всё как было.

~/docs/notify/

Уведомления

Shell — сам демон уведомлений. Уведомление — запись лога в рамке, уровень виден по цвету: INFO — акцент, ERROR (критичные) — красный, DEBUG (неважные) — серый. Клик — действие, правый клик — закрыть, наведение ставит таймер на паузу.

уведомления в углу экрана
три уведомления: два INFO и DEBUG
┌─[ 21:58 INFO Steam ]────────────────┐ │ friend │ │ Ready to play? │ └─────────────────────────────────────┘ ┌─[ 21:59 ERROR ochre ]─────────┐ │ Настройки не прочитаны │ └─────────────────────────────────────┘

Клик по log на панели — история (до 100), правый клик — «не беспокоить» (проходят только критичные). Положение, время показа и максимум на экране — в notify/.

Когда микрофон или звук по умолчанию выключается и включается — биндом, мультимедийной клавишей, из pavucontrol или кликом по vol — приходит короткое уведомление «Микрофон выключен» с названием устройства. Такие уведомления не копятся: новое заменяет прошлое и в историю не попадает. Выключить — notify/ → мьют микрофона и звука.

Steam

Steam рисует свои уведомления отдельным окном, и в niri оно оказывается посреди экрана. Плагин Millennium nopox-notify забирает их у Steam до показа и отправляет как обычные уведомления; свои всплывающие окна Steam больше не показывает.

Если Steam выбран в установщике или уже стоит, установщик сам предложит поставить Millennium и плагин, соберёт и включит его. Вручную:

❯ git clone https://github.com/nopoxxx/nopox-notify && cd nopox-notify
❯ bun install && bun run build   # соберёт и положит в ~/.local/share/millennium/plugins/

Затем включите ochre notify в Steam → Millennium → Plugins и перезапустите Steam.

~/docs/update

Обновления

Shell, установленный через git clone, сам раз в несколько часов делает git fetch. Когда вышли новые коммиты, на панели появляется ochre ↑N: клик — список изменений и [обновить] (git pull --ff-only и перезапуск shell). Частота и уведомление — в system/.

Обновления системы — модуль upd или packages/ → update в меню (paru -Syu).

~/docs/files

Где что хранится

путьчто
~/.config/quickshell/сам shell (git-клон)
~/.config/ochre/settings.jsonнастройки — только отличия от умолчаний
~/.config/niri/ochre/*.kdlконфиг niri по разделам — генерирует shell, не править
~/.config/niri/config.kdlваш конфиг niri — подключает ochre/main.kdl в начале и ochre/keys.kdl в конце
~/.config/gtk-{3,4}.0/ochre.cssпалитра GTK, подключается первой строкой gtk.css
~/.config/qt6ct/палитра и шрифт Qt
~/.local/state/ochre/текущие обои и режим заполнения
~/Pictures/Wallpapers/коллекция обоев и загрузки с wallhaven
~/.cache/cliphist/dbистория буфера обмена
~/Videos/Screencasts/записи экрана (папка — в home/)
/var/lib/ochre-greeter/копия настроек и обоев для greeter
~/docs/ipc

IPC

Всё, что открывается клавишами, можно вызвать командой — для своих биндов и скриптов. У пакета вместо qs ipc — ochre ipc (то же, что qs ipc -p /usr/share/ochre):

❯ qs ipc call launcher toggle     # меню; launcher apps — сразу программы
❯ qs ipc call settings toggle     # настройки; settings open <раздел> — look, input, system…
❯ qs ipc call wallpaper picker    # обои; wallpaper set <путь>, wallpaper fill <fill|fit|stretch>
❯ qs ipc call displays toggle     # мониторы
❯ qs ipc call binds toggle        # бинды
❯ qs ipc call clipboard toggle    # история буфера обмена
❯ qs ipc call home toggle         # меню home; home open, home close
❯ qs ipc call record toggle       # запись экрана; record region, record screen, record stop
❯ qs ipc call shot region         # скриншот; shot window — сразу окно, shot edit <путь> — разметить файл
❯ qs ipc call lock lock           # блокировка; lock preview — предпросмотр без пароля
❯ qs ipc call notify dnd          # «не беспокоить»; notify clear — очистить историю, notify hide — убрать всплывающие
❯ qs ipc call timer start "25m чай" # таймер; timer pause, timer stop, timer get
❯ qs ipc call welcome open        # окно первого запуска: клавиши и подсказки
❯ qs ipc call shell reload        # перечитать конфиг shell без перезапуска
❯ qs ipc call game toggle         # игровой режим; game on, game off, game get
❯ qs ipc call errors get          # ошибки shell и niri текстом; errors open, errors clear
❯ qs ipc call privacy get         # кто слушает микрофон и показывает экран
❯ qs ipc call settings set shell.accent blue   # любая настройка из Mod+S; "" — по умолчанию, settings get <ключ> — прочитать
~/docs/faq

Вопросы

пропали бинды, которые я вписал в ochre/*.kdl

Эти файлы генерирует shell и перезаписывает при каждом запуске. Задавайте бинды в окне биндов (сохраняются в settings.json) или в своём ~/.config/niri/config.kdl.

пришло «Настройки не прочитаны»

settings.json повреждён. Чтобы не затереть его, shell работает на умолчаниях и ничего не сохраняет. Исправьте JSON (или удалите файл — настройки сбросятся) и перезапустите shell: system/ → перезапустить shell.

как сбросить всё по умолчанию

Удалите ~/.config/ochre/settings.json и перезапустите shell. Отдельное значение — r на нём в настройках.

в трее у программы буква вместо значка

Программы нет в таблице значков. Её можно добавить в TRAY_ICONS в services/settings.js (пришлите PR) или переключить трей на названия: bar/ → трей → names.

как перезапустить shell

❯ while qs kill; do :; done; sleep 2; niri msg action spawn -- qs

Или system/ → перезапустить shell в настройках.

кто спрашивает пароль для pkexec и systemctl

Сам shell: окно ~/polkit/ в стиле [sudo] password for …, вверху — что именно просит права. Вместо него можно вернуть polkit-gnome: system/ → ochre → polkit-агент.

что показывает окно ~/cast/ при демонстрации экрана

Discord, браузер или OBS просят показать экран — shell спрашивает, что именно: монитор или окно, с живым превью (↵ — показать, Esc — отказать). Остановить демонстрацию можно и в приложении, и биндом niri stop-cast. Если shell не запущен, выбор покажет обычный диалог GNOME. Вернуть его насовсем — system/ → ochre → выбор демонстрации экрана.

в углу появилось окно ~/log/errors

Это ошибки: в QML shell (файл:строка от ~/.config/quickshell/) или в конфиге niri — тогда niri работает на прошлой версии конфига. [скопировать] кладёт текст в буфер — для issue. Исправленная ошибка QML исчезает после перезагрузки shell, ошибка niri — как только конфиг снова загрузится. Закрытое окно появится снова только на новую ошибку; совсем отключить — system/ → ochre → показывать ошибки.

хочу поправить код

Shell — обычный QML и JS в ~/.config/quickshell/. Карта проекта, соглашения и подводные камни — в AGENTS.md.