Я хочу установить цвета уведомлений в зависимости от переменных среды. Вместо того:
~/.config/dunst/dunstrc
:
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 5
Я бы хотел сделать:
~/.config/dunst/dunstrc
:
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "${DUNST_NORMAL_BACKGROUND}"
foreground = "${DUNST_NORMAL_FOREGROUND}"
timeout = 5
Задайте эти переменные среды в ~/.profile
или в любом другом исходном файле, который устанавливает переменные среды, которые могут быть получены dunst.
~/.profile
:
DUNST_NORMAL_BACKGROUND="#888888"
DUNST_NORMAL_FOREGROUND="#FFFFFF"
Так что когда я загружаю dunst через `~ / .config / i3 / config
exec --no-startup-id dunst
Затем dunst установит цвета уведомлений в зависимости от того, что установлено в ~/.profile
Я хотел бы централизовать темы (в основном цвета) во всех моих приложениях, использующих файлы конфигурации (i3, polybar, rofi, dunst, termite и т. Д.). Моя цель - иметь один файл для установки переменных env, чтобы я мог менять темы, используя один файл.
Я хочу взять похожие темы и применить их к нескольким приложениям.
https://github.com/arcticicestudio/nord
Как вы, наверное, догадались, в настоящее время это невозможно, и я не уверен, что смогу это реализовать.
Однако заглянули ли вы в каталог contrib? У нас есть сценарий, который генерирует dunstrc
из значений Xresource, вы можете либо использовать его, либо каким-то образом адаптировать его для использования переменных оболочки.
@tsipinakis Я не знал об этом сценарии. Я запустил его и заменил созданный им файл на исходный, и он изменил цвета dunsts, что очень полезно. После быстрого прочтения я не понимаю, какие значения он ожидает прочитать из Xresources при определении, какие настройки перезаписывать. Я буду читать ее, пока она не приобретет смысл.
Я бы хотел, чтобы dunst либо поддерживал переменные окружения, либо импортировал конфигурации в основную конфигурацию. Сценарий - хорошая идея, я попробую.
Я пытаюсь создать среду рабочего стола, состоящую из инструментов, управляемых с клавиатуры и использующих файлы конфигурации для конфигурации, которые легко настроить в одном месте. Тематизация - одна из немногих вещей, которые мне предстоит решить. Вы можете увидеть исходный код здесь, если вам интересно! :)
Что ж, для простой замены переменных вы можете просто использовать команду envsubst
:
envsubst < ~/.config/dunst/dunstrc.template > ~/.config/dunst/dunstrc
@bebehei вау, я понятия не имел, что такое существует. Это восхитительно! Спасибо за это предложение!
Итак, я думаю, что очевидным решением является использование envsubst
. Для любых других значений обратитесь к # 357
@bebehei Замечательно ! Спасибо.
Я использую это сейчас:
#~/.xinitrc
#Use bash instead of sh so we can use bashisms
if [[ x"$BASH" != x"/bin/bash" ]]; then
exec /bin/bash "$HOME/.xinitrc"
fi
dunst -config <(envsubst < ~/.config/dunst/dunstrc) &
Самый полезный комментарий
Что ж, для простой замены переменных вы можете просто использовать команду
envsubst
: