[[Antworten: Bisher (ohne Verwendung von AS-objC) sind nur drei "Workarounds" entstanden ...
WA Nr. 2 ist mein Favorit; die "Fenster" der anderen sind flexibler. Beide verwenden Automator-Shortcuts. ]]
Das erste hier hat den Vorteil, nur eine Automator-Aktion zu verwenden und recht präzise Einstellungen des resultierenden Safari-eigenen Fensters zu ermöglichen. Das Endergebnis ist ein "Dienst" in den Menüs von Safari sowie eine Tastenkombination.
Diese Komponenten sind beteiligt:
Dieser Code wird als Automator-Dienst ausgeführt (ohne „Ausführen“-Befehle ist es einfaches AppleScript):
on run {input, parameters}
-- [Only if needed, place: "LANG=C; LC_CTYPE=C; LC_ALL=C;" in front of "cd"]
do shell script "cd ˜/Users/[myName]/Library/Safari/;
rm Downloads.html;
cat Downloads.plist | sed -n ' { s/.*Downloads/<p>D`load => /; ¬
s/.*Trash/<p>Trashed => / ; s/.*Movies/<p>Movies => /; ¬
s/mp4.*/mp4<p>/ p; }' > Downloads1.html';
cat Downloads2.html Downloads1.html > Downloads.html;"
tell application "Safari"
make new document at end of documents with properties ¬
{URL:"file:///Users/[myName]/Library/Safari/Downloads.html"}
set bounds of window 1 to {700, 62, 1280, 450}
end tell
return input
end run
(Das Shell-Skript und "Neues Dokument erstellen ..." sind jeweils als Einzeiler gedacht.)
Integriert sind zwei "Filter" in den sed-Teil (.*Movies & .*Trash), sodass mein Browserfenster so aussieht (Sie können diese Filter bearbeiten oder/und Erweiterungen nach Bedarf hinzufügen):
+----------------------- Toolbar -------------------------+
| |
| D'load => /Some_sinster_TV_series_S02E01_15.11.21_00- |
| 40_BBC3_93_TVOON_DE.mpg.HQ.avi.otrkey |
| |
| Movies => DS9.4.07_Little_green_men.mp4 |
| |
| Trashed => /DS9.3.09_Defiant.mp4 |
| |
| Trashed => /DS9.3.07_Civil_Defense.mp4 |
| |
+---------------------------------------------------------+
(Diese führenden Schrägstriche sind scheiße … aber schwer herauszufiltern.)
Meine bevorzugte Lösung verwendet Applescript, um direkt auf "Downloads.plist" zuzugreifen (kein Shell-Skripting) und platziert einen Link in der Favoritenleiste von Safari, um es Ihnen bequemer zu machen.
Zuerst speichern Sie diese Skripte im Ordner "~/Library/Scripts/Folder action scripts/", dann hängen Sie sie (Kontextmenü: Ordneraktionen konfigurieren) an einen neuen "Ordner1" irgendwo tief unten auf Ihrem Mac an.
Um sie zu aktivieren, adressieren Sie einen (bedeutungslosen) Dummy "Folder2" in "Folder1" über dieses Lesezeichen:
file:///Path/to/first/Folder1/Folder2 [place link in your favorites bar!]
Nun, was passiert:
- Der angeklickte Symbolleisten-Link öffnet "Folder1", weil der aufgerufene "Folder2" darin ist.
- So werden BEIDE angehängte Skripte gestartet, #-1 schließt das mit Lesezeichen versehene "Folder2"-Fenster ...
- ... als nächstes bestellt "System Events", um alle "DownloadEntryPath"-Elemente von Safari zu erhalten.
- Diese Pfade werden auf Name plus übergeordneten Ordner gekürzt und in einem "Dialog-Alarm" gesammelt.
- (Warten auf "Dialogfenster":) #-2-Skript verschiebt es sofort nach dem Popup nach rechts oben.
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
Wenn Sie dieses zweite "Ordneraktionsskript" anhängen, verschiebt es den "Dialog" nach rechts/oben auf Ihrem Bildschirm:
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
Der einzige Nachteil dieser Lösung ist meiner Meinung nach, dass jeweils für einen Moment der geöffnete Ordner und die Warnung über Ihren Bildschirm "blitzen" ...
Da bisher keine Antwort erklärt hat, wie das Pop-Over-Fenster von Safari programmgesteuert beeinflusst werden kann:
Verwenden Sie nur Automator
Hier ist eine Möglichkeit, eine Liste "Letzte Downloads" anzuzeigen, die nur Automator verwendet .
Doppelklicken Sie nach dem Öffnen von File > New > Service in Automator auf:
Automator … Do Shell Script
Fügen Sie als Nächstes den folgenden Code in das Fenster auf der rechten Seite ein:
# only if needed, place as 1st line: LANG=C; LC_CTYPE=C; LC_ALL=C;
cd /Users/[myName]/Library/Safari;
cat -su Downloads.plist | sed -n '{ s/.*Downloads/<p>D`load => / ; ¬
s/otrkey.*/otrkey/ p; s/.*Trash/<p>Trashed => / ; ¬
s/.*Movies/<p>Movies => /; s/mp4.*/mp4<p>/ p; }' > Downloads1.html;
rm Downloads.html;
cat Downloads2.html Downloads1.html > Downloads.html;
Doppelklicken Sie in der Aktionsliste von Automator auf Pause .
Ich habe 0,1 / Sekunden gewählt , musste aber die Ignorieren-Eingabe von dieser Aktionsschaltfläche ( Optionen ) aktivieren. Ich habe festgestellt, dass Safari auf meinem Computer ein leeres Fenster anzeigt, wenn ich der nächsten Aktion keine Pause gönne…
Fügen Sie Get Specific URLs aus der Aktionsliste von Safari hinzu. Entfernen Sie alle angegebenen URLs und wählen Sie die Schaltfläche [HINZUFÜGEN] . Dann schreibe:
file:///Users/[myName]/Library/Safari/Downloads.html
Der letzte Schritt besteht schließlich darin, im Safari-Fenster auf Website-Pop-Up zu doppelklicken . Meine Parameter:
(Der Fokus von Safari verbleibt auf dem vorderen Fenster, Sie können also nicht „ESC“ drücken, um das Popup zu schließen.)
Sie können Folgendes hinzufügen: Systemeinstellungen → Tastatur → Verknüpfungen → Dienste; (zB: opt-cmd-d).
(Schauen Sie sich das resultierende Fenster bei "Original Workaround #1" weiter oben an, da beide Beispiele identische Html-Dateien für ihr Aussehen verwenden!)
At0mic
downloads://
(wie bookmarks://)Clemsam lang
Fahrrad
Clemsam lang