Dunst: 〜/ .config / dunstrcで環境変数を使用する

作成日 2018年12月08日  ·  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"

そのため、 `〜/ .config / i3 / configを介してdunstをロードすると

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ディレクトリを調べましたか? Xresource値からdunstrcを生成するスクリプト

@tsipinakis私はそのスクリプトを知りませんでした。 私はそれを実行し、それが作成したファイルを元のファイルと交換しました、そしてそれはdunstsの色を変えました、それは役に立ちます。 簡単に読んだ後、上書きする設定を決定するときにXresourcesから読み取ると予想される値がわかりません。 意味がわかるまで読み続けます。

サポートされている環境変数を使用するか、構成をメイン構成にインポートすることをお勧めします。 スクリプトは良い考えですが、試してみます。

キーボード駆動のツールで構成され、構成に構成ファイルを使用するデスクトップ環境を作成しようとしています。これは、1か所で簡単に構成できます。 テーマは、私のリストに残っている数少ない解決策の1つです。 興味があれば、ここでソースコードを見ることができます! :)

単純な変数置換の場合は、単に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 評価