Перейти к содержанию

Создание собственной темы

Вы можете добавлять собственные темы в ~/.config/omaros/themes. Просто скопируйте одну из существующих за основу (смотрите в /usr/share/omaros/themes), а затем настраивайте в своё удовольствие. Пока ваша тема находится в этой папке, она будет доступна в меню выбора темы.

Главный файл, который нужно настраивать, — colors.toml. Он определяет набор цветов, который затем используется для генерации конфигураций терминала (Foot/Alacritty/Ghostty/Kitty), btop, Chromium, Hyprland, Neovim, Helix, VSCode, Obsidian и всей оболочки OmarOS (верхняя панель, меню, уведомления, OSD и экран блокировки).

Вы также можете использовать прилагаемое приложение Aether, чтобы создать новую тему с помощью приятного графического интерфейса для игр с цветами и поиска фонов. Просто запустите его из сетки приложений сочетанием Super + Alt + Space.

Что может содержать установленная тема

Тема, которую вы написали сами в ~/.config/omaros/themes, может содержать что угодно — это ваша машина и ваш файл, и OmarOS применяет всё это.

Тема, которую вы установили из чужого репозитория командой omaros theme install, сохраняет всё, что относится к цветам, и теряет несколько файлов, которые могли бы выполнять код на вашей машине: любой файл .lua, конфигурации терминала (alacritty.toml, foot.ini, ghostty.conf, kitty.conf) и vscode.json. hyprland.lua темы — это Lua, который ваш композитор выполняет при входе, конфигурация терминала называет программу, которую терминал запускает, а vscode.json называет расширение VSCode для установки. Установка чужой темы должна менять то, как выглядит ваш рабочий стол, а не то, что он выполняет.

Всё остальное продолжает работать ровно так, как написал автор темы, — btop.theme, chromium.theme, helix.toml, icons.theme, shell.toml, фоны и предпросмотры сохраняются. Только отброшенное перегенерируется из colors.toml на вашей машине.

OmarOS различает эти два случая по тому, есть ли у темы собственный репозиторий git внутри неё, — именно его оставляет после себя omaros theme install при клонировании. Так тема, которую вы написали, остаётся вашей, а тема, которую вы скачали из интернета, остаётся цветами.

Светлый режим

Если вы делаете тему со светлым режимом, задайте mode = "light" в начале вашего colors.toml. Тогда она автоматически будет сочетаться со светлым режимом во всех приложениях. (Старый способ — положить пустой файл light.mode в корень темы — тоже по-прежнему работает.)

Цвета значков

Если хотите подобрать значки файлового менеджера под цвет темы, добавьте файл icons.theme с именем нужного набора значков. По умолчанию доступны: Yaru Yaru-blue Yaru-dark Yaru-magenta Yaru-olive Yaru-prussiangreen Yaru-purple Yaru-red Yaru-sage Yaru-wartybrown Yaru-yellow.

Изображение разблокировки

Темы, поставляемые с изображениями unlock.png и preview-unlock.png, появятся в разделе Стиль > Разблокировать. Ваш unlock.png предпочтительно должен быть прозрачным png. А изображение предпросмотра можно создать командой omaros plymouth preview.

Темы для приложений, которые OmarOS не покрывает

Если вы используете приложение, которого нет в этом списке, вы можете сами научить OmarOS оформлять его с помощью шаблона. Положите файл в ~/.config/omaros/themed/ с именем генерируемой конфигурации плюс расширение .tpl и напишите конфигурацию с заполнителями {{ background }}, {{ foreground }}, {{ accent }}, {{ red }}, {{ color0 }} — {{ color15 }} и остальной палитрой. При каждой смене темы файл перегенерируется с цветами этой темы.

В этой папке лежит полностью прокомментированный alacritty.toml.tpl.sample, с которого можно копировать, — он перечисляет все доступные переменные, а также модификаторы _strip и _rgb для приложений, которым цвета нужны без # или в десятичном RGB. Ваши шаблоны имеют приоритет над собственными шаблонами OmarOS, поэтому так можно также переопределить оформление встроенного приложения.

Распространение вашей темы

Если хотите распространять свою тему, чтобы другие могли ею пользоваться, нужно разместить её на публичном git-сервере, например GitHub. Тогда люди смогут установить её через Установить > Стиль > Тема в меню OmarOS, используя этот URL. Рекомендуется следовать соглашению об именовании omaros-[themename]-theme, поскольку после установки тема будет корректно отображаться в меню выбора темы просто как [themename].

Этот оставшийся [themename] становится именем каталога темы, поэтому оно должно быть таким, чтобы OmarOS мог безопасно с ним обращаться: оно должно начинаться с буквы, цифры или подчёркивания, а остальная часть может содержать буквы, цифры, ., _, + и -. Заглавные буквы приводятся к нижнему регистру за вас, но всё остальное — пробел, кавычка, неанглийский символ — отклоняется при установке, а не превращается в имя каталога. Так что omaros-tokyo-night-theme, omaros-flexoki_light-theme и omaros-c++-theme устанавливаются без проблем.

Помните: после установки из репозитория любые поставляемые с темой .lua, конфигурация терминала или vscode.json отбрасываются, поэтому не стройте тему вокруг них.