Dunst: usando variáveis ​​de ambiente em ~ / .config / dunstrc

Criado em 8 dez. 2018  ·  6Comentários  ·  Fonte: dunst-project/dunst

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

Comentários muito úteis

Bem, para uma substituição de variável simples, você poderia usar simplesmente o comando envsubst :

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

Todos 6 comentários

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) &
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

k80w picture k80w  ·  7Comentários

Kaligule picture Kaligule  ·  5Comentários

existme picture existme  ·  4Comentários

atomheartother picture atomheartother  ·  6Comentários

mrmoroshkin picture mrmoroshkin  ·  4Comentários