👤 Raffi Utama
🗓️ 23 May 2023
Tulisan ini terinspirasi dari blog “BanditHijo - Memanfaatkan Dunst Sebagai PopUp Notifikasi Bantuan Keyboard Shortcut”. Kali ini saya akan modifikasi tutorial tersebut dengan menggunakan wofi
sebagai launcher pengganti rofi
di wayland.
Apa itu dunst?
Dunst merupakan sebuah lightweight notification-daemon atau lebih gampangnya sebuah software yang akan menampilkan notifikasi di laptop. Kita dapat mengirimkan notifikasi melalui terminal dengan dunstify
, previewnya kaya gini:
Ide pembuatan dunst sebagai helper adalah dengan mengirimkan isi sebuah file sebagai body text ke dunstify
. File tersebut akan kita asumsikan sebagai helper file
yang terletak di folder $HOME/helper/
. Contohnya, kode berikut digunakan untuk menampilkan semua file berekstensi *.md
di folder tersebut.
$ basename --suffix=.md -- *.md
Selanjutnya, kita akan memilih file yang akan ditampilkan dengan mode dmenu pada wofi
. Caranya adalah dengan menambahkan parameter -d
untuk mengaktifkan dmenu mode dan parameter -p "Need Help?"
sebagai placeholder input text wofi
$ wofi -d -p "Need help?"
Dari preview diatas, tidak muncul apapun, Hal ini karena mode dmenu pada wofi
mensyaratkan input berupa stdin
. Jadi, kita akan gabungkan perintah basename
sebagai input ke wofi
kodenya akan seperti ini
$ basename --suffix=.md -- *.md | wofi -d -p "Need help?"
Command wofi
akan menampilkan output berupa nama dari helper file
. nama file ini yang akan diprint dan dikirimkan ke dunst
dengan cara menggabungkan script menjadi
#!/bin/bash
helper_file=$(basename --suffix=.md -- *.md | wofi -d -p "Need help?")
dunstify "Result: " "cat $helper_file.md"
Final script
Dengan menambahkan pengecekan folder dan file, maka keseluruhan script yang dibuat adalah sebagai berikut
#!/bin/bash
DIR_HELPER="$HOME/helper/"
if ! [ -d $DIR_HELPER ]; then
echo "DIR_HELPER Not Found"
exit 1
fi
cd $DIR_HELPER
helper_file=$(basename --suffix=.md -- *.md | wofi -d -p "Need Help?")
# check if file exist not null
if ! [ -f "$DIR_HELPER/$helper_file.md" ]; then
echo "Not Found"
exit 1
fi
dunstify "⭐⭐⭐" "$(cat "$DIR_HELPER/$helper_file.md")
Simpan file ini dengan nama help-me
dan masukkan ke dalam $PATH
variabel. Kemudian dapat dibuat shortcut, contohnya pada sway
dengan cara
bindsym $mod+Shift+slash exec help-me
Semoga bermanfaat