Mi serviva una piccola applicazione che mi aiutasse a gestire dei brevi promemoria e li mostrasse sul desktop in tempo reale, in modo da averli sempre sott’occhio. Ho provato numerose applicazioni per Mac OS X di questo genere, ma nessuna faceva ciò che volevo io o come lo volevo io, allora mi sono rimboccato le maniche e me la sono fatta da solo
E’ stata un’ottima occasione per testare CocoaDialog [1], fantastica applicazione che, se integrata in uno script, ti fornisce un semplice accesso alle funzioni grafiche basilari di Cocoa (il framework grafico di Mac OS X): in altre parole, ti permette di creare finestre, menù, notifiche e altre chicche.
Per la visualizzazione permanente dei promemoria sul desktop, mi sono affidato all’ottimo GeekTool [2], che già uso da tempo con estremo godimento: per chi vive su Marte, GeekTool è una preferenza di sistema che ti permette di mostrare sul desktop il risultato di uno script, un’immagine e quant’altro, decidendo posizione, carattere, colore e altri parametri.

Cos’è:
Bash To-Do è un set di due scripts scritti in Bash:
- eldino_bash_to-do permette di aggiungere e rimuovere promemoria, e di visualizzare e resettare l’elenco degli stessi, il tutto tramite una comoda interfaccia grafica;
- eldino_bash_to-do_show, se utilizzato con GeekTool, mostra l’elenco dei preferiti sul desktop (altrimenti nel Terminale).
Per rendere le cose più semplici, ho dotato lo script principale di un launcher fatto con Automator e di un’icona, in modo tale che il manager dei promemoria possa essere lanciato dal Dock :-
Come funziona eldino_bash_to-do.sh:
Se ve la cavate con la Bash, basta che apriate il file con un editor di testo e potrete capirne da soli il funzionamento. Se invece siete a digiuno di shell scripting, sappiate che le funzioni principali dello script sono 4: visualizzaPromemoria, aggiungiPromemoria, rimuoviPromemoria e resettaPromemoria. La memorizzazione dei promemoria viene fatta su un semplice file di testo (di default: bashtodos.txt) e ogni promemoria occupa una sola linea. Tutte le operazioni vengono svolte pertendo da un menù principale a discesa e le notifiche dell’esito delle operazioni appaiono sullo schermo all’interno di bolle gialle
Come funziona eldino_bash_to-do-show.sh:
Questo secondo e ultimo script non fa altro che richiamare il file bashtodos.txt (che elenca in ordine cronologico i promemoria) e mostrarlo a schermo, numerando ogni linea.
Come installare lo script:
Prima di proseguire, assicuratevi di aver scaricato ed installato CocoaDialog (possibilmente in Applicazioni, altrimenti dovete modificare il suo path negli script) e GeekTool. I due script, insieme alle icone, a questo readme e al launcher fatto in Automator (.workflow) vengono distribuiti in un unico pacchetto compresso in formato .zip.
In breve, ecco come installare il tutto:
1. estrarre lo zip in una cartella a scelta (es. Documenti/Scripts/eldino_bash_to-do);
2. aprire il Terminale e digitare:
cd cartella-dove-si-trova-lo-script
chmod +x eldino_bash_to-do.sh
chmod +x eldino_bash_to-do_show.sh
3. aprire le preference di GeekTools, inserite una nuova entry, “shell” e scrivete:
sh /percorso/eldino_bash_to-do_show.sh

mettete “Refresh” = 10 o meno, per avere un riscontro quasi immediato dei cambiamenti alla lista dei promemoria;
4. personalizzate l’aspetto estetico del tutto (colori, caratteri, dimensioni, posizioni etc), in modo che sul desktop appaia una roba del tipo:

5. aprite il file “launcher.workflow” con Automator e modificate il percorso dello script:

6. salvate il launcher come .workflow e come applicazione, con un nome del tipo: eldino’s Bash To-Do.app;
7. dategli l’icona .icns inclusa nello zip e trascinatelo nel Dock, per un accesso rapido, in modo da avere una roba del tipo:

8. ora siete finalmente pronti a testare il programma!! cliccando sull’icona del launcher, dovrebbe apparirvi la seguente finestra col menù:


Linux?
Lo script allo stato attuale non funziona su Linux perché si basa parecchio sulle funzioni grafiche di CocoaDialog, che è disponibile solo per Mac OS X. Però, essendoci delle soluzioni analoghe per Linux (tipo XDialog), lo script potrebbe essere facilmente adattabile anche a suddetta piattaforma.
Da parte mia, usando Mac come computer principale, non ho nessun interesse a sviluppare una versione per Linux, anche perché non mi serve. Se decidete, però, di provvedere voi stessi da soli, avete tutto il mio supporto
Legale:
Tutto i file presenti nel pacchetto sono frutto di alcune ore di lavoro da parte mia. Potete utilizzarli e modificarli senza problemi o limitazioni secondo i dettami della GPL v2, basta che mi citiate come Autore del progetto e che eventualmente, se avete apprezzato particolarmente il mio lavoro, mi scriviate una mail di commento. Grazie.
Buon divertimento
Scarica eldino’s Bash To-Do v1.0 dalla pagina dei download
Links:
[1] CocaDialog: http://cocoadialog.sourceforge.org
[2] GeekTool: http://projects.tynsoe.org
(** Update: ho messo online alcuni screenshots dello script in funzione; per visualizzarli, cliccate qui. **)
[eldino]