Как создать цветовые схемы, чтобы они соответствовали вашему обоям в Linux

Если вы запускаете много приложений в интерфейсе командной строки (CLI), или вы фанат оконных менеджеров, вы знаете, что стилизовать их может быть настоящей проблемой. Не так просто придумать согласованную цветовую схему для всех ваших приложений, и еще сложнее сопоставить эту схему с вашими обоями. А что, если вы захотите изменить свои обои? Вы определенно не хотите делать это все снова.
Представляем Wal, скрипт, который использует ваши обои для автоматической генерации цветовой палитры в вашем файле “.Xresources” или другом удобном месте. Создавать и изменять всю вашу цветовую схему на лету с помощью Wal очень просто.
Вам также может быть интересно посмотреть на pywal. Он был написан тем же разработчиком и работает так же, но на Python. На момент написания этой статьи, pywal поддерживает только Python 3.6, который не упакован и не является версией по умолчанию в большинстве дистрибутивов.
Установка Wal
Если у вас еще нет, создайте локальную папку “bin” в вашем домашнем каталоге. Так будет гораздо проще работать.
cd ~
mkdir binПерейдите в вашу новую директорию и загрузите Wal с Github, затем сделайте его исполняемым.
cd bin
wget https://github.com/dylanaraps/wal/raw/master/wal
chmod +x walВам также нужно будет перечитать ваш файл профиля, так что сделайте это.
cd ~
source .profileОсновы

Wal очень прост в использовании. Вам просто нужно ввести команду и указать, какую картинку использовать. Пример ниже создал изображение выше.
wal -i Pictures/Wallpaper/kde.png
Wal создал новую цветовую схему на основе обоев KDE, указанных в команде. Как правило, Wal будет использовать самый темный цвет, который он может найти на изображении, для фона. Посмотрите на это довольно яркое изображение. У вас все равно черный фон, так как это самый темный цвет, который нашел Wal.

Автоматический запуск Wal
Вы, возможно, уже заметили, что Wal по умолчанию не изменяет другие терминалы. Существует несколько способов автоматического запуска Wal. Первый и самый простой — добавить Wal в ваш файл “.bashrc” или “.zshrc” (если вы используете zsh). Это перезагрузит ваши последние настройки Wal для ваших сеансов терминала.
(wal -r&)Флаг -r означает перезагрузку. Вы также можете сделать это вручную в новом терминале.
Кроме того, помните, что стилизуя сам терминал, Wal также стилизует все ваши терминальные приложения.
Однако это не очень полезно при перезагрузке. Чтобы сделать так, чтобы Wal запускался автоматически при старте вашего X Server, вам нужно добавить следующую строку или что-то подобное в ваш файл “.xinitrc”:
wal -i"$(< "${HOME}/.cache/wal/wal")"i3WM
Если вас интересует Wal, вы, вероятно, используете оконный менеджер. i3 — это, безусловно, самый популярный тайловый оконный менеджер среди энтузиастов кастомизации Linux, и Wal может хорошо интегрироваться с ним.

Вы можете заставить i3 загружать цвета из файла “.Xresources”, который создает Wal. Все, что вам нужно сделать, это назначить ваши цветовые переменные в i3 из “.Xresources”. Wal перезагрузит i3, и цвета будут изменяться динамически. Хотя изображение выше этого не сделало, вы также можете перенести тему через вашу строку состояния.
set_from_resource $fg i3wm.color1
set_from_resource $bg i3wm.color2
set_from_resource $ac i3wm.color3Выберите цвета, которые вы хотите, основываясь на нумерации “.Xresources”.
Другие программы
Существует дополнительный скрипт под названием wal-set, который загружает изменения в другие распространенные программы, такие как Dunst и Lemonbar. Вы также можете загрузить скрипт с Github и поместить его в вашу локальную директорию “bin”.
cd ~/bin
wget https://github.com/dylanaraps/bin/raw/master/wal-setКак только у вас это будет, добавьте его к вашим командам Wal с флагом -o.
wal -i Pictures/Wallpaper/kde.png -o wal-setPolybar — это очень популярная панель меню оконного менеджера. Как и i3, она может загружать свои цветовые значения из “.Xresources”. Просто задайте ваши цветовые переменные в конфигурации Polybar на значения “.Xresources”.
fg = ${xrdb:color1}
bg = ${xrdb:color2}Вы можете модифицировать любую программу, которая считывает из “.Xresources” с помощью Wal и даже больше, если вы проявите креативность. Wal также можно скриптовать, что добавляет множество дополнительных возможностей, включая установку Wal по таймеру. Экспериментируйте с этим и достигайте рабочего стола, которого вы ждали.