Dunst: usando variables de entorno en ~ / .config / dunstrc

Creado en 8 dic. 2018  ·  6Comentarios  ·  Fuente: dunst-project/dunst

Me gustaría configurar los colores de las notificaciones en función de las variables de entorno. En lugar 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

Me gustaría hacer:

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

Establezca estas variables de entorno en ~/.profile , o en cualquier archivo de origen que establezca las variables de entorno que pueden ser recogidas por Dunst.

~/.profile :

DUNST_NORMAL_BACKGROUND="#888888"
DUNST_NORMAL_FOREGROUND="#FFFFFF"

De modo que cuando cargo dunst a través de `~ / .config / i3 / config

exec --no-startup-id dunst

Luego, Dunst establecerá los colores de las notificaciones en función de lo establecido en ~/.profile
Me gustaría centralizar los temas (colores en su mayoría) en todas mis aplicaciones que usan archivos de configuración (i3, polybar, rofi, dunst, termite, etc.). Mi objetivo es tener un solo archivo para configurar env vars para que pueda intercambiar temas obteniendo un solo archivo.

Quiero tomar temas similares a este y aplicar el tema en varias aplicaciones.
https://github.com/arcticicestudio/nord

Comentario más útil

Bueno, para una simple sustitución de variables, puede usar simplemente el comando envsubst :

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

Todos 6 comentarios

Como habrás adivinado, esto no es posible actualmente y no estoy seguro de implementarlo.

Sin embargo, ¿ha mirado en el directorio contrib? Tenemos un script que genera un dunstrc partir de los valores de Xresource, puede usarlo o adaptarlo de alguna manera para usar variables de shell

@tsipinakis No estaba al tanto de ese script. Lo ejecuté e intercambié el archivo que creó por el archivo original y cambió los colores de Dunsts, lo cual es útil. Después de una lectura rápida, no entiendo qué valores espera leer de Xresources al determinar qué configuraciones sobrescribir. Seguiré leyéndolo hasta que tenga sentido.

Ojalá no admitiera las variables de entorno o la importación de configuraciones en la configuración principal. Sin embargo, el guión es una buena idea, lo intentaré.

Estoy tratando de crear un entorno de escritorio compuesto por herramientas que funcionan con teclado y usan archivos de configuración para la configuración, que es fácil de configurar en una ubicación. El tema es una de las pocas cosas que quedan en mi lista por resolver. ¡Puedes ver el código fuente aquí si estás interesado! :)

Bueno, para una simple sustitución de variables, puede usar simplemente el comando envsubst :

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

@bebehei wow no tenía idea de que existía. ¡Eso es increíble! ¡Gracias por esa sugerencia!

Entonces, creo que la solución obvia es usar envsubst . Para cualquier otro valor, consulte el n. ° 357

@bebehei ¡Impresionante! Gracias.
Estoy usando esto ahora:

#~/.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) &
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

chronus7 picture chronus7  ·  5Comentarios

Kaligule picture Kaligule  ·  5Comentarios

mrmoroshkin picture mrmoroshkin  ·  4Comentarios

progandy picture progandy  ·  6Comentarios

phuhl picture phuhl  ·  3Comentarios