Come prima cosa installare il pacchetto gxmessage, che permette di visualizzare messaggi in una finestra di X.
Lo script da usare è il seguente, e va impostato nella notifica di Mail Watcher in Xfce
#!/bin/bash
if [ ! $(ps ax | gawk '/[g]xmessage/{print $1}') ]
then
gxmessage -buttons "Open Mail:1,GTK_STOCK_CANCEL:0" -name "Message" -geometry 10x10 -font "14" -bg "#EFEBE7" "You have new mail "
if [ $? -eq 1 ]
then
if [ ! $(ps ax | gawk '/ [e]volution/{print $1}') ]
then
evolution
else
wmctrl -R evolution
fi
fi
fi
Mail Watcher, quando arriva una mail, esegue questo script.
Il primo if serve a vedere se gxmessage non è già in esecuzione (per una notifica precedente tipo). E’ da notare che usando [g]xmessage anziché gxmessage in
gawk, ps ax
non riconosce se stesso come processo, e quindi restituisce il pid se effettivamente gxmessage è in esecuzione.
Il secondo if imposta il comando da eseguire in caso la variabile “?” (riferita al bottone OK) ritorni il valore 1
Quindi esegue un controllo se evolution è già in esecuzione, se non lo è lo esegue, se è già aperto lo mette in primo piano con il comando:
wmctrl
che bisogna installare se non lo è già.
Di seguito la versione per Thunderbird:
#!/bin/bash
if [ ! $(ps ax | awk '/[g]xmessage/{print $1}') ]
then
aplay /usr/share/sounds/KDE_Beep_Beep.wav
gxmessage -buttons "Open Mail:1,GTK_STOCK_CANCEL:0" -name "Message" -center -geometry 10x10 -font "14" -bg "#EFEBE7" "You have new mail"
if [ $? -eq 1 ]
then
if [ ! $(ps ax | gawk '/[m]ozilla-thunderbird/{print $1}') ]
then
sleep 0.1
mozilla-thunderbird
else
wmctrl -R thunderbird
fi
fi
fi