first commit
This commit is contained in:
39
glasshouse-desktop/dotfiles/packages/dunst/scripts/dunst_logger.sh
Executable file
39
glasshouse-desktop/dotfiles/packages/dunst/scripts/dunst_logger.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
#set -euo pipefail
|
||||
|
||||
# Because certain programs like to insert their own newlines and fuck up my format (im looking at you thunderbird)
|
||||
# we need to crunch each input to ensure that each component is its own line in the log file
|
||||
crunch_appname=$(echo "$1" | sed '/^$/d')
|
||||
crunch_summary=$(echo "$2" | sed '/^$/d' | xargs)
|
||||
crunch_body=$(echo "$3" | sed '/^$/d' | xargs)
|
||||
crunch_icon=$(echo "$4" | sed '/^$/d')
|
||||
crunch_urgency=$(echo "$5" | sed '/^$/d')
|
||||
timestamp=$(date +"%I:%M %p")
|
||||
|
||||
# filter stuff ans add custom icons if you want
|
||||
|
||||
# e.g.
|
||||
# notify-send -u urgency "summary" "body" -i "icon"
|
||||
#
|
||||
# this will give
|
||||
# app-name - notif-send
|
||||
# urgency - upgency
|
||||
# summary - summary
|
||||
# body - body
|
||||
# icon - icon
|
||||
|
||||
# Rules for notifs that send their icons over the wire (w/o an actual path)
|
||||
if [[ "$crunch_appname" == "Spotify" ]]; then
|
||||
random_name=$(mktemp --suffix ".png")
|
||||
artlink=$(playerctl metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')
|
||||
curl -s "$artlink" -o "$random_name"
|
||||
crunch_icon=$random_name
|
||||
elif [[ "$crunch_appname" == "VLC media player" ]]; then
|
||||
crunch_icon="vlc"
|
||||
elif [[ "$crunch_appname" == "Calendar" ]] || [[ "$crunch_appname" == "Volume" ]] || [[ "$crunch_appname" == "Brightness" ]] || [[ "$crunch_appname" == "notify-send" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -en "$timestamp\n$crunch_urgency\n$crunch_icon\n$crunch_body\n$crunch_summary\n$crunch_appname\n" >>/tmp/dunstlog
|
||||
|
||||
#echo -en "$crunch_appname\n$crunch_summary\n$crunch_body\n$crunch_icon\n$crunch_urgency\x0f" >> /tmp/dunstlog
|
||||
Reference in New Issue
Block a user