hyprland-void-dots/configs/hyprland/hypr/scripts/startup/dunst.sh
2024-04-04 04:09:31 +03:30

55 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
dunst_dir="$HOME/.config/dunst"
inotify_events="-e close_write,move,create"
send_notification=false
case $1 in
d) send_notification=true ;;
h)
echo "d : dev mode show notif after reset"
exit 0
;;
*) ;;
esac
if [[ ! -d "$dunst_dir" ]]; then
echo "Error: Configuration directory or files missing!"
exit 1
fi
pkill dunst
sleep 1
while true; do
logger -i "$0: Starting dunst in the background..."
dunst &
dunst_pid=$!
if $send_notification; then
notify-send "Dunst Restarted" "Dunst has been restarted."
fi
logger -i "$0: Started dunst PID=$dunst_pid. Waiting for modifications in $dunst_dir..."
inotifywait $inotify_events "$dunst_dir" 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: inotifywait failed!"
exit 1
fi
logger -i "$0: Configuration files in $dunst_dir modified. Killing dunst process..."
pkill dunst 2>&1 | logger -i
if [[ $? -ne 0 ]]; then
echo "Error: Killing dunst failed!"
exit 1
fi
wait $dunst_pid
if [[ $? -ne 0 ]]; then
echo "Warning: dunst process exited unexpectedly!"
fi
logger -i "$0: killall dunst returned $?. Waiting for the next modifications..."
done