Notifica mail con Zenity

Prendendo come base questo articolo è possibile creare la stessa cosa utilizzando Zenity invece che Gxmessage.
Al contrario di Gxmessage, Zenity è un programma che si presta molto di più all’uso di input/output tramite popup a video, fermo restando il fatto che come nel caso precedente, andremo ad usare lo script accoppiato al mailwatcher di xfce, per notificare l’arrivo di una mail ed in caso aprire Thunderbird.

L’utilizzo è abbastanza semplice, basta creare uno script come il seguente ed associarlo alla notifica del mailwatcher. Quando arriva un messaggio lo script si esegue e apre una popup, nella quale chiede se aprire il programma di posta o ignorare il messaggio.

#!/bin/bash
if [ ! $(ps ax | awk '/[z]enity/{print $1}') ]
	then
#	aplay /usr/share/sounds/purple/send.wav
	ledcontrol set c5n5 blink 10 1000
	zenity --question --title Message --ok-label Open --cancel-label Cancel --text "\nYou have new mail"
	if [ $? -eq 0 ]
		then
		if [ ! $(ps ax | awk '/[t]hunderbird/{print $1}') ]
			ledcontrol set c5n5 normal
			then
			sleep 0.1
			/usr/bin/thunderbird
			else
			wmctrl -R thunderbird
		fi
	fi
fi

Nello specifico questo script controlla che Zenity non sia già avviato, questo per evitare che apra una popup sopra ad un altra già presente. Una volta fatto questo controllo, nel caso venga aperta la popup, Zenity attende una risposta. Se si preme “cancel” la popup si chiude, mentre se si preme “open” lo script tenta di avviare Thunderbird. Nel caso in cui Thunderbird sia già aperto, semplicemente sposta il focus su di esso.

L’aggiunta del comando ledcontrol permette di far lampeggiare i LED della tastiera alla notifica di una nuova mail, per l’utilizzo di tale programma vedere l’articolo presente in questo blog.

Comments are closed.