Dunst: с использованием переменных среды в ~ / .config / dunstrc

Созданный на 8 дек. 2018  ·  6Комментарии  ·  Источник: dunst-project/dunst

Я хочу установить цвета уведомлений в зависимости от переменных среды. Вместо того:

~/.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

Самый полезный комментарий

Что ж, для простой замены переменных вы можете просто использовать команду envsubst :

envsubst < ~/.config/dunst/dunstrc.template > ~/.config/dunst/dunstrc

Все 6 Комментарий

Как вы, наверное, догадались, в настоящее время это невозможно, и я не уверен, что смогу это реализовать.

Однако заглянули ли вы в каталог 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) &
Была ли эта страница полезной?
0 / 5 - 0 рейтинги