Dunst: en utilisant des variables d'environnement dans ~/.config/dunstrc

Créé le 8 déc. 2018  ·  6Commentaires  ·  Source: dunst-project/dunst

Je voudrais définir les couleurs des notifications en fonction des variables d'environnement. À la place 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

Je voudrais faire:

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

Définissez ces variables d'environnement dans ~/.profile , ou dans le fichier source qui définit les variables d'environnement pouvant être récupérées par dunst.

~/.profile :

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

Ainsi, lorsque je charge dunst via `~/.config/i3/config

exec --no-startup-id dunst

Ensuite, dunst définira les couleurs des notifications en fonction de ce qui est défini dans ~/.profile
J'aimerais centraliser les thèmes (les couleurs principalement) sur toutes mes applications qui utilisent des fichiers de configuration (i3, polybar, rofi, dunst, termite, etc). Mon objectif est d'avoir un seul fichier pour définir les variables d'environnement afin que je puisse échanger des thèmes en recherchant un seul fichier.

Je veux prendre des thèmes similaires à celui-ci et appliquer le thème à plusieurs applications.
https://github.com/arcticicestudio/nord

Commentaire le plus utile

Eh bien, pour une simple substitution de variable, vous pouvez simplement utiliser la commande envsubst :

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

Tous les 6 commentaires

Comme vous l'avez peut-être deviné, ce n'est actuellement pas possible et je ne suis pas sûr de l'implémenter.

Cependant, as-tu regardé dans le répertoire contrib ? Nous avons un script qui génère un dunstrc partir des valeurs Xresource, vous pouvez l'utiliser ou l'adapter d'une manière ou d'une autre pour utiliser des variables shell

@tsipinakis Je n'étais pas au courant de ce script. Je l'ai exécuté et j'ai échangé le fichier qu'il a créé contre le fichier d'origine et il a changé les couleurs d'unsts, ce qui est utile. Après une lecture rapide, je ne comprends pas quelles valeurs il s'attend à lire à partir de Xresources lors de la détermination des paramètres à écraser. Je vais continuer à le lire jusqu'à ce que cela ait du sens.

Je souhaite que dunst soit les variables d'environnement prises en charge, soit l'importation de configurations dans la configuration principale. Le script est une bonne idée, je vais essayer.

J'essaie de créer un environnement de bureau composé d'outils pilotés par clavier et utilisant des fichiers de configuration pour la configuration, faciles à configurer en un seul endroit. Le thème est l'une des rares choses à résoudre sur ma liste. Vous pouvez voir le code source ici si vous êtes intéressé ! :)

Eh bien, pour une simple substitution de variable, vous pouvez simplement utiliser la commande envsubst :

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

@bebehei wow, je ne savais pas que cela existait. C'est incroyable ! Merci pour cette suggestion!

Donc, je pense que la solution évidente est d'utiliser envsubst . Pour toute autre valeur, veuillez consulter #357

@bebehei Génial ! Merci.
J'utilise ceci maintenant :

#~/.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) &
Cette page vous a été utile?
0 / 5 - 0 notes