Sospendere Thunderbird quanto lo schermo è bloccato (aggiornamento)

Dopo aver realizzato la versione iniziale dello script per sospendere Thunderbird quando lo schermo è bloccato ho deciso di migliorare tale tool in modo che fosse in grado di identificare anche è il display cui è agganciato il programma, così da evitare problemi in fase di riconoscimento.

Ecco quindi la versione aggiornata dello script.

Come l'altra volta create/modificate il file /usr/local/bin/sync_thunderbird_with_screensaver.sh e al suo interno incollate il seguente codice:

#!/bin/sh## Davide Airaghi# Simple tool to suspend/resume Mozilla Thunderbird# when the screen is locked/unlocked#LANG=enexport LANGXCMD=$(which xscreensaver-command 2>/dev/null)TDISPLAY=$(ps eax|grep thunderbird|grep -v grep|sed -es/^.*DISPLAY=//|sed -es/\ .*$// | grep : | tail -n1)if [ "$XCMD" != "" ]; then	export DISPLAY=$TDISPLAY	ISLOCKED=$( ${XCMD} -time 2>/dev/null | grep -i locked )	if [ "$ISLOCKED" != "" ]; then		pkill -STOP thunderbird 2>/dev/null >/dev/null	else		pkill -CONT thunderbird 2>/dev/null >/dev/null	fifi

A questo punto non vi resta che modificare, se già non l'avete fatto la scorsa volta, il vostro crontab così da inserire una chiamata periodica a questo script, in modo che ogni X minuti esso verifichi lo stato dello screensaver e, di conseguenza, attivi/disattivi il client di posta.

Nel mio caso la riga inserita nella pianificazione degli script periodici è la seguente:

*/2 * * * * /usr/local/bin/sync_thunderbird_with_screensaver.sh 2>/dev/null >/dev/null

Con tale riga viene effettuato un controllo dello stato dello screensaver ogni 2 minuti, voi ovviamente potete usare l’intervallo temporale che volete.