Перейти к содержимому

Your language is missing?

Help us translate this documentation!

See how to contribute translations →

Создание тем

Здесь мы шаг за шагом проведем вас через процесс создания тем для HyDE. Это руководство подойдет как для hyprdots, так и для HyDE.

Клонируйте репозиторий hyde-theme-starter в ваш каталог с темами.

Окно терминала
git clone https://github.com/richen604/hyde-theme-starter ~/MyTheme
  1. Обязательные компоненты - все должны быть в формате tar.*:

    • Тема GTK (обязательно)
      • ищите существующие темы на Gnome-Look Themes
      • или смотрите Generate GTK4 для генерации темы GTK из обоев
    • Набор иконок (необязательно) - по умолчанию используется Tela-circle
      • ищите существующие наборы иконок на Gnome-Look Icons
    • Тема курсора (необязательно) - по умолчанию используется Bibata-Modern-Ice
    • Шрифт (необязательно)
      • ищите веб-шрифты на fonts.google.com
      • ищите пропатченные шрифты для разработчиков на nerdfonts.com
  2. Коллекция обоев, которые соответствуют вашему желаемому стилю/цветовой схеме

    • Wallhaven - для обоев
    • farbenfroh.io - для обоев, подходящих по цвету, если у вас есть желаемая цветовая схема
    • Не добавляйте слишком много обоев, 8-10 - хорошее количество
  3. Установите just для запуска вспомогательных скриптов yay -S just

Перейдите в каталог вашей темы cd ~/MyTheme (замените MyTheme на название вашей темы)

Окно терминала
theme = "MyTheme"

Запустите just init для создания начальной структуры каталогов

Ваша тема должна иметь следующую структуру:

Окно терминала
~/MyTheme/
├── Config/ # Часть вашей финальной темы - Файлы конфигурации
└── hyde/
└── themes/
└── MyTheme/ # основной каталог темы
└── wallpapers/
├── refs/ # для генерируемых нами справочных файлов
├── screenshots/ # для скриншотов вашей темы
├── Source/ # Часть вашей финальной темы - Архивы, т.е. gtk, курсор, иконки, шрифт
└── arcs/
├── .gitignore
├── justfile # для запуска вспомогательных скриптов
└── README.md # ссылки на эту веб-страницу

Архивы (Arcs) - это компоненты темы GTK, иконок, курсора и шрифтов, которые составляют части вашей темы. Давайте сразу добавим их в каталог Source/arcs, чтобы они были готовы к тестированию.

Структура вашей папки должна выглядеть примерно так:

Окно терминала
~/MyTheme/
├── Source/
└── arcs/
├── Gtk_<Ваша-GTK-Тема>.tar.*
├── Cursor_<Ваша-Тема-Курсора>.tar.*
└── Icon_<Ваша-Тема-Иконок>.tar.*
└── Font_<Название-Вашего-Шрифта>.tar.*

Убедитесь, что используете правильный префикс для каждого архива. Например, Gtk_<Ваша-GTK-Тема>.tar.*

Скопируйте ваши обои в каталог вашей темы

Окно терминала
cp -r ~/wallpapers ~/MyTheme/Config/.config/hyde/themes/MyTheme/wallpapers

Перейдите в каталог вашей темы

Окно терминала
cd ~/MyTheme

установите вашу тему

Окно терминала
just install

Есть два способа инициализировать вашу тему: из wallbash или из существующей темы.

В этом руководстве мы будем использовать wallbash, так как это дает хорошее понимание того, как wallbash генерирует цвета для вашей темы. Вы можете узнать больше о wallbash здесь.

Откройте Wallbash, установив автоматический, темный или светлый режим (Meta + Shift + R).
Установите выбранные вами обои в качестве текущих (Meta + Shift + W)

Понаблюдайте, как wallbash адаптирует цвета к вашим обоям для следующих приложений:

  • GTK (nwg-look)
    • чтобы протестировать вашу архивную тему gtk, переключитесь из режима wallbash в режим темы (Meta + Shift + R)
    • затем проверьте pavucontrol, чтобы увидеть, не выглядит ли ваша тема gtk странно. если да, следуйте инструкциям в Generate GTK4 для генерации файлов темы GTK4 с помощью wallbash
  • Kitty (kitty)
  • QT (qt5ct + qt6ct)
  • Waybar (waybar)
  • Spotify (spotify)
  • VSCode (code) - требуется, чтобы wallbash был включен в качестве цветовой темы
  • Cava (cava)

Убедитесь, что выбранные вами обои - лучшие, для которых wallbash генерирует вашу тему.
Теперь выполните следующие команды для генерации файлов wallbash.

Окно терминала
just gen-all
just set-wall

Вы увидите кучу новых файлов в каталоге refs вашей темы.

Окно терминала
~/MyTheme/
├── refs/ # для генерируемых нами справочных файлов
├── gtk-4.0/ # Файлы темы GTK4
├── gtk.css # Светлая тема
└── gtk-dark.css # Темная тема
├── kvantum/ # Файлы темы Kvantum
├── kvantum.theme # Конфигурация темы Kvantum
└── kvconfig.theme # Конфигурация Kvantum
├── hypr.theme # Тема Hyprland
├── kitty.theme # Тема терминала Kitty
├── rofi.theme # Тема Rofi
├── theme.dcol # переопределения для режима "темы" wallbash
└── waybar.theme # Тема Waybar
└── wall.set # Первые обои, которые использует тема

Вы можете скопировать все файлы в ваш каталог Config/.config/hyde/themes/MyTheme.

Окно терминала
cp -r ./refs/* ./Config/.config/hyde/themes/MyTheme

запустите установку еще раз, чтобы обновить вашу тему

Окно терминала
just install

Эти файлы используются для установки режима “темы” для вашей темы. (Meta + Shift + R)

Эти файлы важны для правильной работы тем.

Вам следует сверяться с темой, такой как Bad Blood, в ходе этого руководства.

Каждый файл *.theme содержит строки конфигурации

Первая строка имеет формат: путь_к_файлу | команда_для_выполнения

  • hypr.theme - $HOME/.config/hypr/themes/theme.conf|> $HOME/.config/hypr/themes/colors.conf
  • kitty.theme - $HOME/.config/kitty/theme.conf|killall -SIGUSR1 kitty
  • rofi.theme - $HOME/.config/rofi/theme.rasi
  • waybar.theme - $HOME/.config/waybar/theme.css|${scrDir}/wbarconfgen.sh

самый важный файл - hypr.theme

Окно терминала
$HOME/.config/hypr/themes/theme.conf|> $HOME/.config/hypr/themes/colors.conf
# ~/.config/hypr/theme/theme.conf - это автоматически сгенерированный файл. Не редактируйте.
$GTK_THEME=Bad-Blood # имя папки внутри `Source/arcs/Gtk_<Ваша-GTK-Тема>.tar.*`
$ICON_THEME=besgnulinux-mono-red # имя папки внутри `Source/arcs/Icon_<Ваша-Тема-Иконок>.tar.*`
$COLOR_SCHEME=prefer-dark # prefer-dark, prefer-light, или auto
$CURSOR_THEME=Night-Diamond-Red # имя папки внутри `Source/arcs/Cursor_<Ваша-Тема-Курсора>.tar.*`
$CURSOR_SIZE=30 # размер курсора в пикселях```
  • Отредактируйте переменные для архивов, они должны совпадать с названием папки внутри каждого архива в Source/arcs, как указано выше
  • Установите рамки, цвета и другие настройки, связанные с темой Hyprland
  • Вы можете использовать hypr.theme для настройки дополнительных программ для вашей темы, таких как SDDM или тема Vscode
  • Становится $HOME/.config/hypr/themes/theme.conf

Любые обновления вашей темы в Config или Source должны быть применены с помощью just install для обновления вашей темы.

Файл theme.dcol используется для переопределения некоторых сгенерированных цветов wallbash для режимов wallbash. Ознакомьтесь с пониманием wallbash для получения дополнительной информации.

Этот файл полностью необязателен

Ваша тема теперь должна быть готова к добавлению в hyde-gallery!

Еще несколько последних штрихов:

  • Добавьте несколько скриншотов в ~/screenshots
  • Добавьте вашу тему в Hyde-Gallery

В каталоге вашей темы сгенерируйте readme с помощью

Окно терминала
python3 generate_readme.py

Инициализируйте git

Окно терминала
git init && git branch -M main && git add . && git commit -m "My first HyDE theme"

создайте репозиторий на github

Окно терминала
git remote add origin <your-repo-url>
git push -u origin main

Сделайте форк hyde-gallery https://github.com/HyDE-Project/hyde-gallery
Добавьте вашу тему в список и в hyde-themes.json

Если ваша тема не включает поддержку GTK4, pavucont1rol и другие приложения GTK4 могут отображаться с простой белой темой.

Выполните следующую команду для генерации файлов темы GTK4

Окно терминала
just gen-gtk4

Скопируйте каталог refs/gtk-4.0 в каталог вашей темы

Окно терминала
mkdir -p ./Config/.config/hyde/themes/MyTheme/gtk-4.0
cp -r ./refs/gtk-4.0/* ./Config/.config/hyde/themes/MyTheme/gtk-4.0/

Wallbash генерирует 4 основных цвета из ваших обоев, затем создает цветовые группы вокруг каждого основного цвета со следующей структурой:

Для каждого основного цвета (wallbash_pry1 до wallbash_pry4):

  • Цвет текста (wallbash_txt1 до wallbash_txt4)
  • Цвет текста (wallbash_1xa1 до wallbash_1xa9 для группы 1 и т.д.)

Каждый цвет имеет вариант RGBA с настраиваемой непрозрачностью (например, wallbash_pry1_rgba(0.95))

Всего: 44 базовых цвета (4 группы × 11 цветов) плюс варианты RGBA

Используйте just gen-dcol для генерации theme.dcol со всеми сгенерированными wallbash цветами для ваших активных обоев для справки