Gostaria de definir as cores das notificações com base nas variáveis de ambiente. Ao invés de:
~/.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
Eu gostaria de fazer:
~/.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
Defina essas variáveis de ambiente em ~/.profile
ou qualquer arquivo que defina as variáveis de ambiente que podem ser obtidas por dunst.
~/.profile
:
DUNST_NORMAL_BACKGROUND="#888888"
DUNST_NORMAL_FOREGROUND="#FFFFFF"
Então, quando eu carregar o dunst via `~ / .config / i3 / config
exec --no-startup-id dunst
Então dunst irá definir as cores das notificações com base no que está definido em ~/.profile
Gostaria de centralizar os temas (cores principalmente) em todos os meus aplicativos que usam arquivos de configuração (i3, polybar, rofi, dunst, cupim, etc). Meu objetivo é ter um único arquivo para definir env vars, de modo que eu possa trocar os temas procurando um único arquivo.
Quero pegar temas semelhantes a este e aplicar o tema em vários aplicativos.
https://github.com/arcticicestudio/nord
Como você deve ter adivinhado, isso não é possível no momento e não tenho certeza sobre como implementá-lo.
No entanto, você já olhou para o diretório contrib? Temos um script que gera dunstrc
partir de valores Xresource, você pode usar isso ou adaptá-lo de alguma forma para usar variáveis de shell
@tsipinakis Eu não conhecia esse script. Eu o executei e troquei o arquivo que ele criou pelo arquivo original e ele mudou as cores do dunsts, o que é útil. Depois de uma rápida leitura, não entendi quais valores ele espera ler do Xresources ao determinar quais configurações substituir. Vou continuar a ler até que faça sentido.
Gostaria que o dunst suportasse variáveis de ambiente ou importasse configurações para a configuração principal. O roteiro é uma boa ideia, porém, vou tentar.
Estou tentando criar um ambiente de desktop composto de ferramentas que são acionadas por teclado e usam arquivos de configuração para configuração, que é fácil de configurar em um local. A criação de temas é uma das poucas coisas que faltam na minha lista para resolver. Você pode ver o código-fonte aqui se estiver interessado! :)
Bem, para uma substituição de variável simples, você poderia usar simplesmente o comando envsubst
:
envsubst < ~/.config/dunst/dunstrc.template > ~/.config/dunst/dunstrc
@bebehei uau, eu não sabia que existia. Isso é incrível! Obrigado por essa sugestão!
Portanto, acho que a solução óbvia é usar envsubst
. Para quaisquer outros valores, consulte # 357
@bebehei Awesome! Obrigado.
Estou usando isso agora:
#~/.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) &
Comentários muito úteis
Bem, para uma substituição de variável simples, você poderia usar simplesmente o comando
envsubst
: