Autostart per ambiente di lavoro
by Michele
Di che cosa avete bisogno per lavorare al meglio? di un buon ambiente di lavoro ovviamente! Un ambiente desktop con tutti i programmi pronti per essere utilizzati. In sostanza vogliamo solo iniziare a scrivere codice
C’è l’esigenza di eliminare un’operazione sempre uguale a se stessa facendola eseguire ad uno script AppleScript. Il mio ambiente di lavoro per i progetti Rails è composto da due finestre di iTerm con il server WebBrick e tail su development.log. Per scrivere il codice utilizzo TextMate e per testare le pagine una finestra di Safari.
AppleScript permette di scriptare applicazioni sotto Mac OS X con una semplicità estrema. L’unico grande ostacolo è nella sintassi che mi rimane ancora abbastanza oscura. Con un semplice script sono riuscito a far aprire i programmi e le finestre giuste e posizionarle nei punti più comodi del desktop.
Il codice sorgente di questo script è il seguente:
tell application "iTerm" activate terminate the first session of the first terminal set termserver to (make new terminal) tell termserver set number of columns to 100 set number of rows to 30 set sessionserver to (make new session at the end of sessions) tell sessionserver set name to "Webbrick" exec command "/bin/tcsh" write text "cd /Rails/casaparrina" write text "script/server" end tell end tell set termlog to (make new terminal) tell termlog set number of columns to 100 set number of rows to 40 set sessionlog to (make new session at the end of sessions) tell sessionlog set name to "Log" exec command "/bin/tcsh" write text "cd /Rails/casaparrina/log" write text "tail -f development.log" end tell end tell end tell tell application "TextMate" activate end tell tell application "Safari" activate delay 4 set URL of document 1 to "http://localhost:3000" end tell
Ogni volta che voglio apportare una modifica, anche piccola, non sarò più costretto a lanciare finestre shell e lanciare comandi. Faccio doppio click sullo script e aspetto qualche secondo. Ho realizzato un breve screencast per far capire di cosa si tratta e di quanto sia utile:
Lo screencast è stato realizzato con pyvnc2swf con una risoluzione video di 1024×768 quindi alcune parti risultano tagliate. In condizioni normali infatti l’ambiente di lavoro è preparato per lavorare con una risoluzione di 1440×960.

Commenti
Vedo che molti come te usano iTerm al posto del Terminale. Mi sono sempre chiesto il perché… che differenza grossa c’è?
In realtà non mi ricordo più perché ho scelto iTerm invece del terminale
Forse perche’ iTerm supporta i tab se non sbaglio?