Soluzione alternativa n. 2
La mia soluzione preferita utilizza applescript per accedere direttamente a "Downloads.plist" (senza script di shell) e per creare un collegamento nella barra dei preferiti di Safari per comodità.
Per prima cosa salvate questi script nella cartella "~ / Library / Scripts / Folder action scripts /", poi li allegate
(menu di scelta rapida: configura le azioni della cartella) in una nuova "Cartella1" in qualche punto del tuo Mac.
Per attivarli, dovrai indirizzare un (senza significato) fittizio "Cartella2" all'interno di "Cartella1" attraverso questo segnalibro:
file:///Path/to/first/Folder1/Folder2 [place link in your favorites bar!]
Ora, cosa sta succedendo:
- Il link alla barra degli strumenti cliccato aprirà "Cartella1" perché l'interno chiamato "Cartella2" è all'interno.
- Quindi vengono avviati entrambi gli script allegati, # -1 chiudendo la finestra "Folder2" con i segnalibri ...
- ... ordinando successivamente "Eventi di sistema" per ottenere tutti gli elementi "DownloadEntryPath" di Safari.
- Questi percorsi sono abbreviati per nominare più cartella principale e raccolti in un "avviso di dialogo".
- (In attesa di "finestra di dialogo" :) Lo script # -2 immediatamente su pop-up lo sposta in alto a destra.
on opening folder this_folder
tell application "Finder" to close front window
tell application "System Events"
set the plist_path to "~/Library/Safari/Downloads.plist"
set the plist_file to property list file plist_path
set downloadItems to property list items of property list item ¬
"DownloadHistory" of plist_file
set DL_display to ""
set AppleScript's text item delimiters to {"/"}
repeat with i from 1 to number of items in downloadItems
set DL_item to (get text items -2 thru -1 of ((value of ¬
property list item "DownloadEntryPath" of property ¬
list item i of property list item 1 of plist_file) as string))
set DL_display to DL_display & return & "[" & ¬
text item 1 of DL_item & ":]" & return & text item 2 of ¬
DL_item & return
end repeat
tell application "Finder" to display dialog DL_display as string ¬
buttons {"Close"} default button 1 -- NEW: tell appl. "Finder" to
end tell
end opening folder
Se allega questo secondo "script azione cartella", sposta la "finestra di dialogo" a destra / in alto dello schermo:
on opening folder this_folder
tell application "Finder"
set screenRgt to bounds of the window of desktop
set rightEdge to (item 3 of screenRgt) - 425
end tell
tell application "System Events" to tell process "Finder"
repeat while not (exists window "Recent downloads")
end repeat
delay 0.1 -- wait (and make sure...) for "dialog window" !
set position of window "Recent downloads" to {rightEdge, 61}
end tell
end opening folder
L'unico inconveniente di questa soluzione IMO è che per un momento ciascuno della cartella aperta e l'avviso "lampeggiano" sullo schermo ...