Dunst: menggunakan variabel lingkungan di ~/.config/dunstrc

Dibuat pada 8 Des 2018  ·  6Komentar  ·  Sumber: dunst-project/dunst

Saya ingin mengatur warna notifikasi berdasarkan variabel lingkungan. Dari pada:

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

Saya akan melakukan:

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

Tetapkan variabel lingkungan ini di ~/.profile , atau file mana pun yang bersumber yang menetapkan variabel lingkungan yang dapat diambil oleh dunst.

~/.profile :

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

Sehingga ketika saya memuat dunst melalui `~/.config/i3/config

exec --no-startup-id dunst

Kemudian dunst akan menyetel warna notifikasi berdasarkan apa yang disetel di ~/.profile
Saya ingin memusatkan tema (sebagian besar warna) di semua aplikasi saya yang menggunakan file konfigurasi (i3, polybar, rofi, dunst, rayap, dll). Tujuan saya adalah memiliki satu file untuk mengatur env vars sehingga saya dapat menukar tema dengan mengambil satu file.

Saya ingin mengambil tema yang mirip dengan ini dan menerapkan tema di beberapa aplikasi.
https://github.com/arcticicestudio/nord

Komentar yang paling membantu

Nah, untuk substitusi variabel sederhana, Anda cukup menggunakan perintah envsubst :

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

Semua 6 komentar

Seperti yang Anda duga, saat ini tidak mungkin dan saya tidak yakin tentang penerapannya.

Namun, sudahkah Anda melihat ke direktori contrib? Kami memiliki skrip yang menghasilkan dunstrc dari nilai Xresource, Anda dapat menggunakannya atau menyesuaikannya untuk menggunakan variabel Shell

@tsipinakis Saya tidak mengetahui skrip itu. Saya menjalankannya dan menukar file yang dibuatnya dengan file asli dan itu mengubah warna gelap, yang sangat membantu. Setelah membacanya dengan cepat, saya tidak mengerti nilai apa yang diharapkan untuk dibaca dari Xresources saat menentukan pengaturan mana yang akan ditimpa. Saya akan terus membacanya sampai masuk akal.

Saya berharap agar tidak mendukung variabel lingkungan atau mengimpor konfigurasi ke konfigurasi utama. Scriptnya adalah ide yang bagus, saya akan mencobanya.

Saya mencoba membuat lingkungan desktop yang terdiri dari alat yang digerakkan oleh keyboard dan menggunakan file konfigurasi untuk konfigurasi, yang mudah dikonfigurasi di satu lokasi. Tema adalah salah satu dari sedikit hal yang tersisa di daftar saya untuk dipecahkan. Anda dapat melihat kode sumber di sini jika Anda tertarik! :)

Nah, untuk substitusi variabel sederhana, Anda cukup menggunakan perintah envsubst :

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

@bebehei wow saya tidak tahu itu ada. Itu luar biasa! Terima kasih atas saran itu!

Jadi, saya pikir solusi yang jelas adalah menggunakan envsubst . Untuk nilai lainnya, silakan berkonsultasi #357

@bebehei Luar biasa! Terima kasih.
Saya menggunakan ini sekarang:

#~/.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) &
Apakah halaman ini membantu?
0 / 5 - 0 peringkat