Walltheme - это генератор темы терминала, реализованный в Rust. Он извлекает цвета из изображения и применяет их к предопределенным шаблонам для создания тем для эмуляторов терминалов, текстовых редакторов и других приложений. Инструмент поддерживает все стандартные цвета (черный, красный, белый и т. Д.) И включает в себя дополнительный оранжевый цвет, специально для Zellij .
Walltheme поставляется с несколькими шаблонами и примерами сценариев для облегчения настройки.
# Clone the repository
mkdir -p ~ /.cache/walltheme/ && mkdir -p ~ /.config/walltheme/templates
git clone https://github.com/JoseMM2002/walltheme.nvim.git
cd walltheme
# Build the project
cargo install --path . Чтобы генерировать тему:
walltheme < image-path >walltheme ~ /Pictures/wallpaper.png Эта команда извлекает цвета из wallpaper.png , генерирует файлы конфигурации, используя шаблоны из ~/.config/walltheme/templates и сохраняет их в ~/.cache/walltheme/ .
Walltheme использует шаблоны для форматирования сгенерированных файлов тем. Заполнители заменяются извлеченными цветами. Эти шаблоны генерируются рулем.
#{{black_hex}}
#{{red_hex}}
#{{green_hex}}
#{{blue_hex}}
rgb{{black_rgb}}
rgb{{red_rgb}}
rgb{{green_rgb}}
rgb{{blue_rgb}}
rgba{{black_rgba}}
rgba{{red_rgba}}
rgba{{green_rgba}}
rgba{{blue_rgba}}
Если шаблон также нуждается в скобках для некоторых конфигураций как Oh-My-Posh, вы можете использовать следующий синтаксис:
{{keep "info to keep betwwen braces"}}
Стеновая сторона включает в себя шаблоны для:
Шаблоны расположены в templates/ каталоге. Чтобы использовать их, скопируйте желаемый шаблон в ~/.config/walltheme/templates/ и измените его по мере необходимости.
Вы можете настроить стенку, создав или изменяя файл config , расположенный по адресу ~/.config/walltheme/config . Этот файл позволяет вам точно настроить поведение поколения темы, включая палитровые настройки и пороговые значения.
[ general ]
mix_factor = 0.7 # from 0 to 1
distance_threshold = 0.5 # from 0 to 1
palette_quality = 16 # from 1 to 255
palette_max_colors = 8 # from 1 to 255
brighter_factor = 0.8 # from 0 to 1
bright_min = 20 # from 0 to 255
opacity_target = 50 # from 0 to 255
stdout_template = " colors.sh "mix_factor : коэффициент смешивания для смешивания цветов.distance_threshold : порог для фильтрации цветового расстояния.palette_quality : качество извлечения палитры.palette_max_colors : максимальное количество цветов для извлечения.brighter_factor : фактор, чтобы настроить яркость цвета.bright_min : минимальный порог яркости.stdout_template : шаблон для стандартного вывода.opacity_target : целевая непрозрачность для цветов.Вы можете установить эти параметры в соответствии с вашими предпочтениями и рабочим процессом.
Примером для моей настройки является в scripts/examples/ каталоге. Он включает в себя сценарий, который устанавливает обои и генерирует темы для Китти, Уэйбар и Зеллидж.
Чтобы интегрировать это с Neovim, я сделал плагин, который использует сгенерированную тему, чтобы установить Colorscheme. Вы можете найти это wallheme.nvim
Взносы приветствуются! Не стесняйтесь открывать проблему или отправить запрос на привлечение.
git checkout -b feature/your-feature .git commit -m "Add your feature" .git push origin feature/your-feature .Этот проект лицензирован по лицензии MIT. Смотрите файл лицензии для получения более подробной информации.
Особая благодарность таким инструментам, как Pywal и вдохновение из терминальных тематических сообществ.



