summaryrefslogtreecommitdiff
path: root/notification_wrapper.sh
blob: 91a7b07796e6cfc1071d84071e1a2706247f018d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/bin/bash

# echo "This is $0"
# echo "This is \$BASH_SOURCE: $BASH_SOURCE"

export DISPLAY=":0.0"
export XDG_RUNTIME_DIR=/run/user/$(id -u)

##------------------------------DEFAULT NOTIFICATION------------------------------##

FLAG=true
CALLER=$( ps -o comm= $PID )
SUMMARY="Default Notification - CALLER:$CALLER "
ICONS="$HOME/stuf/customization/icons"
ICON="$ICONS/ENE.png"
TIME=5000

##------------------------------ECHO NOTIFICATION------------------------------##

#DOESN'T WORK, FIGURE OUT WHY ONE DAY

[[ $( grep "echo" <<< "$CALLER" ) ]] && SUMMARY="Echo" && DESCRIPTION=$1 && ICON="$ICONS/ENE.png"

##------------------------------RSYNC NOTIFICATION------------------------------##

[[ $( grep "wide_rsync" <<< "$CALLER" ) && "$2" =~ "WRSYNC" ]] && SUMMARY="Wide Rsync" && DESCRIPTION=$1 && TIME=15000 && [[ "$2" == "WRSYNCSUCC" ]] && ICON="$ICONS/yayoiooo.png" || ICON="$ICONS/yayoiclose.png"

##------------------------------KEYMAPPER NOTIFICATION------------------------------##

[[ $( grep "keymap_toggler" <<< "$CALLER" ) && "$2" == "KEYTOG" ]] && SUMMARY="Key Mapper" && DESCRIPTION=$1 && ICON="$ICONS/erikahorni.png"

##------------------------------DISCORD MEDIA STREAMER NOTIFICATION------------------------------##

[[ $( grep "minivac" <<< "$CALLER" ) && "$2" == "MINIVAC" ]] && SUMMARY="MiniVAC" && DESCRIPTION=$1 && TIME=15000 && ICON="$ICONS/holic.gif"

##------------------------------VOICE CHANGER NOTIFICATION------------------------------##

[[ $( grep "voice_changer" <<< "$CALLER" ) && "$2" == "VOICHANG" ]] && SUMMARY="Voice Changer" && DESCRIPTION=$1 && TIME=15000 && ICON="$ICONS/holic.gif"

##------------------------------NEWSBOAT NOTIFICATION------------------------------##

[[ $( grep "newsboat" <<< "$CALLER" ) ]] && SUMMARY="Newsboat" && DESCRIPTION=$1 && ICON="$ICONS/kizukawablob.png"

##------------------------------FIND LAST NOTIFICATION------------------------------##
[[ $( grep "findlast" <<< "$CALLER" ) && "$2" == "FINDLAST" ]] && SUMMARY="Find last filename" && DESCRIPTION=$1 && ICON="$ICONS/shupogaki.png"

##------------------------------DL HELPER (CLIPBOARD VER.) NOTIFICATION------------------------------##
if [[ $( grep "dl_helper" <<< "$CALLER" ) && "$2" == "DLHELPER" ]]; then
    SUMMARY="DL Helper (clipboard ver.)" && DESCRIPTION=$()
    [[ $1 -eq 0 ]] && { DESCRIPTION="Copied link successfully dl'd" ; ICON="$ICONS/rhodeslogo.png" ; } || { DESCRIPTION="ERROR - Couldn't dl copied link" ; ICON="$ICONS/rhodeslogo.png" ; }
    #CHANGE ICON
fi

##------------------------------CMUS NOTIFICATION------------------------------##

if [[ $( grep cmus <<< "$CALLER" ) ]]; then

    SUMMARY="Cmus"


    # ARGUMENT PROCESSING

    while test $# -ge 2
    do
        eval _$1='$2'
        shift
        shift
    done


    # ARGUMENT FORMATTING
    ### for some reason processing $_duration of certain files completely erases all the other args,
    ### so the three lines below have to be above it
    ### echo $@ if you don't believe me


    # ${} Parameter expansion
    # $() Command substitution

    [[ $_artist == "" ]] && _artist="N/A"
    [[ $_title == "" ]] && [[ ${_title=$_file} == "" ]] && _title="N/A"
    [[ $_status != *playing* ]] && FLAG=0

    # DURATION FORMATTING

    if [[ $_duration != "" ]]; then
        h=$(($_duration / 3600))
        m=$(($_duration % 3600))

        duration=""
        test $h -gt 0 && dur="$h:"
        duration="$dur$(printf '%02d:%02d' $(($m / 60)) $(($m % 60)))"
    else
        duration="N/A"
    fi


    # DESCRIPTION FORMATTING
    ICON="$ICONS/rikanom.png"
    DESCRIPTION="Now playing: "$_title" ["$duration"]\nArtist: "$_artist
fi

##------------------------------PLAY SCRIPT QUEUE NOTIFICATION------------------------------##

[[ $( grep "wide_play" <<< "$CALLER" ) && "$2" == "WIDEPLAY" ]] && SUMMARY="Songs currently in queue:" && DESCRIPTION=$1 && ICON="$ICONS/rikanom.png"

##------------------------------ROTATION DAEMON NOTIFICATION------------------------------##

if [[ $( grep "wide_rotat" <<< "$CALLER" ) && "$2" == "WIDEROT" ]]; then

    OUTPUT=$1
    ICON="$ICONS/tenshi1.png"
    SUMMARY="Pape"
    DESCRIPTION=""
    [[ $(  grep -i "killed" <<< "$OUTPUT" ) ]] && DESCRIPTION="Pape rotation daemon killed (PID: " || DESCRIPTION="Pape rotation daemon spawned (PID: " && DESCRIPTION="${DESCRIPTION}$(echo "$OUTPUT" | head -n 1 | sed -r "s/[^0-9]*//g"))"
    [[ $(  grep -i "bmp\|gif\|jpg\|jpeg\|png" <<< "$OUTPUT" ) ]] && DESCRIPTION="Current Pape: $OUTPUT"

fi

##------------------------------CLIPBOARD TREATER DAEMON NOTIFICATION------------------------------##

if [[ $( grep clipboard_treat <<< "$CALLER" ) && "$2" == "CLIPTREAT" ]]; then

    OUTPUT=$1
    ICON="$ICONS/tenshi2.png"
    SUMMARY="Clipboard Treater $2"
    DESCRIPTION=""
    [[ $(  grep -i "killed" <<< "$OUTPUT" ) ]] && DESCRIPTION="Clipboard treater daemon killed (PID: " || DESCRIPTION="Clipboard treater daemon spawned (PID: " && DESCRIPTION="${DESCRIPTION}$(echo "$OUTPUT" | head -n 1 | sed -r "s/[^0-9]*//g"))"

fi


##------------------------------THE ACTUAL NOTIFICATION------------------------------##

#notify-send -u low -t 5000 -i ~/stuf/tsubasatwinneofetch.jpg "$SUMMARY" "$DESCRIPTION"
#notify-send -u low -t 5000 -i ~/stuf/red.jpg "$SUMMARY" "$1"
$FLAG && notify-send -u low -t $TIME -i $ICON "$SUMMARY" "$DESCRIPTION"

##------------------------------MAKE NOTIFICATIONS FOR OTHER SCRIPTS------------------------------##