calcurse - calendario e pianificazione nel terminale - parte#1
Channel: Nicola Jelmorini
Date: 2015-11-28

In questo video presento un ulteriore programma che funziona solo nel terminale e che può degnamente sostituire un suo omologo con interfaccia grafica. Questa volta è il turno di un gestore di calendario, pianificatore di appuntamenti e attività. Entro certi limiti questo programma può essere associato ai cosiddetti PIM (Personal Information Manager) o gestori di informazioni personali, o ancora agende elettroniche. Manca la parte di gestione dei contatti, ma per il resto ci siamo.

Calcurse è dunque un pratico gestore del nostro tempo che funziona senza necessità di interfaccia grafica, con tutti i suoi limiti e i suoi pregi. Il nome calcurse sta per "cal" (calendario) e "curse" (il nome della libreria "ncurses" usata per costruire l'interfaccia). Grazie a questo leggero programma non abbiamo forzatamente bisogno di programmi con interfaccia grafica decisamente più onerosi per il nostro PC.

Il programma si installa semplicemente da Ubuntu Software Center cercando "calcurse", oppure con questo comando nel terminale:
[*] sudo apt-get install calcurse

Qui di seguito faccio una panoramica delle funzionalità di calcurse. Come sempre non è possibile vedere tutte le particolarità di un programma in un video, quindi per ogni dettaglio rimando all'immancabile manuale (man calcurse), all'help (calcurse -h) e al sito del progetto.

Al primo avvio viene creata la cartella nascosta nella nostra home che il programma usa per archiviare le sue impostazioni e i nostri dati
[*] /home/nicola/.calcurse

Il programma è molto intuitivo da usare essendoci in basso sempre i comandi disponibili. Basta scegliere il comando che serve leggendo la legenda.
Per cambiare le opzioni del programma premere il tasto "C" (c maiuscolo)
Per usare le date nel formato a cui siamo abituati noi europei (giorno/mese/anno) impostiamo il corrispondente codice nelle opzioni generali ⇒ C + G + 0 + 2
Per cambiare il tema dei colori dell'interfaccia usiamo "C + C" e poi scegliamo il colore di sfondo e di primo piano

Inserire/cancellare/modificare un appuntamento e inserire/cancellare/modificare un'attività. Vedere la legenda in basso con tutti i tasti funzione necessari
[*] calcurse -a  ⇒ stampa gli appuntamenti del giorno
[*] calcurse -d n  ⇒ stampa gli appuntamenti da oggi e per gli "n" giorni successivi (es. calcurse -d 3)
[*] calcurse -d gg/mm/aaaa  ⇒ stampa gli appuntamenti per uno specifico giorno (es. calcurse -d 13/12/2014)
[*] calcurse -n  ⇒ stampa il prossimo appuntamento entro le 24 ore (quello più vicino)
[*] calcurse -t(n)   ⇒ stampa la lista delle attività. Opzionalmente si può indicare il livello di priorità (es. calcurse t2  ⇒ stampa attività di priorità 2)

Gestire più calendari.
Per difetto calcurse salva i dati di calendario e le attività da fare nelle cartelle ~/.calcurse/todo, ~/calcurse/apts
È possibile attivare e usare altri calendari dove vogliamo facendo partire calcurse col percorso desiderato:
[*] calcurse -c percorsodelcalendario
Importare ed esportare i dati
[*] calcurse -x [maggiore] miei_dati.ics  ⇒ esporta i miei dati in un file con il formato standard ical che, tra gli altri, è riconosciuto da Google Calendar
[*] calcurse -i miei_dati.ics  ⇒ importa i dati da un file nel formato standard ical che, tra gli altri, è riconosciuto da Google Calendar
È possibile quindi allineare le informazioni fra calcurse e Google Calendar (o qualsiasi altro programma compatibile con ical)

Notifiche degli appuntamenti.
Vengono notificati solo gli appuntamenti etichettati come importanti con il comando "!" 5 minuti prima della scadenza.
Attivando il demone (servizio) di calcurse con l'opzione "C + N + 7" è possibile anche uscire dal programma e gli appuntamenti importanti verranno comunque segnalati con il comando che possiamo impostare mediante l'opzione "C + N + 5".
nota: il comando impostato per difetto "printf ‘\a’" dovrebbe emettere un beep (però non lo fa in Ubuntu)

Per esempio si può impostare un comando che ci avvisi "parlando" che c'è un appuntamento in prossima scadenza
[*] spd-say -l it "Appuntamento in scadenza" 
Oppure un comando che suoni un allarme vicino alla scadenza
[*] paplay /home/nicola/Scrivania/cellular.wav
Oppure, se siamo nel desktop grafico possiamo visualizzare un dialogo di zenity alla scadenza:
[*] calcurse -n | zenity --text-info   ⇒ dipende dall'ambiente grafico

Riferimenti in rete:
[*] http://calcurse.org/
[*] http://calcurse.org/files/manual.html