Создание собственной темы
🛠 Архитектура тем
Заголовок раздела «🛠 Архитектура тем»Структура файлов
Заголовок раздела «Структура файлов»Директория~/.local/share/pawlette/themes/
Директорияtheme-name/
Директорияconfigs/
Директорияkitty/
- kitty.conf
- kitty.conf.prepaw (патч-файл)
Директорияwaybar/
- config.json
- style.css
Директорияhypr/
- …
Директорияrofi/
- …
Директорияbspwm/
- …
Директорияdunst/
- …
Директорияbtop/
- …
Директорияcava/
- …
Директорияfish/
- …
Директорияzsh/
- …
Директорияstarship/
- …
Директорияtmux/
- …
Директорияmicro/
- …
Директорияqt5ct/
- …
Директорияqt6ct/
- …
Директорияpolybar/
- …
Директорияmeowrch-code-theme/
- …
Директорияgtk-theme/ (GTK тема)
- …
Директорияicons/ (пакет иконок)
Директорияcursors/ (темы курсоров)
- …
Директорияhyprcursors/ (темы курсоров для Hyprland)
- …
Директорияwallpapers/ (обои рабочего стола)
- …
🔧 Система патчей
Заголовок раздела «🔧 Система патчей»Pawlette поддерживает два режима применения конфигураций:
Полная замена
Заголовок раздела «Полная замена»Обычные файлы конфигурации полностью заменят существующие настройки.
Частичное изменение (патчи)
Заголовок раздела «Частичное изменение (патчи)»JSON merge (.jsonpaw)
Заголовок раздела «JSON merge (.jsonpaw)»Если целевой файл — JSON, разместите рядом файл с суффиксом .jsonpaw (например, waybar/config.json.jsonpaw).
Его содержимое должно быть JSON-объектом; он будет слит с целевым файлом:
- существующие ключи переопределяются значениями из
.jsonpaw; - отсутствующие ключи добавляются;
- вложенные объекты мержатся рекурсивно.
Пример:
Оригинал ~/.config/waybar/config.json:
{ "layer": "bottom", "modules-left": ["menu"], "style": { "font": "Sans 10" }}Патч configs/waybar/config.json.jsonpaw:
{ "layer": "top", "style": { "font": "JetBrainsMono 11", "color": "#cba6f7" }, "custom-key": true}Результат:
{ "layer": "top", "modules-left": ["menu"], "style": { "font": "JetBrainsMono 11", "color": "#cba6f7" }, "custom-key": true}Пример: файл kitty/kitty.conf.prepaw добавит свое содержимое в начало существующего kitty.conf.
Как создать свою тему?
Заголовок раздела «Как создать свою тему?»-
Создание структуры
Создайте директорию для вашей темы:
mkdir -p ~/.local/share/pawlette/themes/my-themecd ~/.local/share/pawlette/themes/my-thememkdir -p configs wallpapers gtk-theme icons -
Добавление конфигураций
Создайте конфигурации для нужных приложений:
# Пример для kittymkdir -p configs/kittycat > configs/kitty/kitty.conf << EOFforeground #ffffffbackground #1a1a1acursor #ffffffEOF# Пример патча для waybarmkdir -p configs/waybarecho '* { border-radius: 10px; }' > configs/waybar/style.css.prepaw -
Добавление ресурсов
- Поместите GTK тему в папку
gtk-theme/ - Добавьте иконки в папку
icons/ - Для кастомных курсоров создайте папки
icons/cursors/иicons/hyprcursors/(для Hyprland) - Разместите обои в папке
wallpapers/
- Поместите GTK тему в папку
-
Применение темы
Примените вашу новую тему:
pawlette set-theme my-theme