Un'alternativa allo script di grgarside, questo non ha bisogno di riavviare il Finder, basta aggiornare le finestre aperte.
Può essere salvato come app o in Automator, come servizio.
Lo ho come servizio, attivato su Cmd ⌘ H da System Prefs > Tastiera > Tasti di scelta rapida > Servizi - che mi hanno richiesto di cambiare il comando chiave "Nascondi Finder" in ... Scorciatoie > App Scorciatoie a qualcosa di diverso da predefinito.
Per aggiungere come servizio, avviare Automator, quindi il menu File > Nuovo.
Selezionare Servizio nella finestra di dialogo e trascinare Esegui Applescript nella nuova finestra di Automator.
Copia / incolla lo script all'interno di on run
- sostituendo (* Il tuo script va qui *) & Salvare. Ha bisogno solo dei parametri predefiniti per tutto il resto.
InSystemPrefs>Tastiera>Tastidisceltarapida>Iserviziverrannoaggiunticomeultimariga.Impostaqualsiasicomandodeltastodiattivazionechetipiace.
Se usi Cmd ⌘ H come me, dovrai cambiare Hide Finder per qualcos'altro - Ho appena usato una scorciatoia inutile come non ho mai bisogno quel comando ...
setnewHiddenVisiblesStateto"YES"
try
set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if oldHiddenVisiblesState is in {"1", "YES"} then
set newHiddenVisiblesState to "NO"
end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
tell application "Finder"
set theWindows to every Finder window
repeat with i from 1 to number of items in theWindows
set this_item to item i of theWindows
set theView to current view of this_item
if theView is list view then
set current view of this_item to icon view
else
set current view of this_item to list view
end if
set current view of this_item to theView
end repeat
end tell
Lo script stesso legge lo stato corrente del flag invisibile (meno elegantemente della versione di grgarside ma altrettanto efficacemente); quindi commuta ogni finestra aperta su un altro tipo di vista - elenco, icona ecc. e poi di nuovo indietro.
Modifica: il solo aggiornamento delle finestre non funziona più in El Capitan, ora devi riavviare il Finder.
Nuova versione per El Capitan
set newHiddenVisiblesState to "YES"
try
set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if oldHiddenVisiblesState is in {"1", "YES"} then
set newHiddenVisiblesState to "NO"
end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState & "; killall Finder"