Chciałbym załadować ponownie pliki (.png, .pdf) do podglądu po ich aktualizacji. Jak to osiągnąć?Jak ładować pliki w Mac 10.6?
W OS X 10.5 i 10.6 było to tak proste, jak przejście do Podglądu - automatycznie przeładowałoby nowy plik. Alternatywnie możesz użyć open -a Preview *.png
lub czegoś podobnego. W wersji 10.7 automatyczne przeładowywanie nie działa (patrz this post).
Moja pierwsza próba jest skrypt AppleScript uruchomić z wiersza poleceń:
/usr/bin/osascript -e 'tell application "Preview.app" to activate
tell application "Preview.app" to open "'$PWD/$*'"'
Działa to dla jednego pliku, ale nie powiedzie się z wielu plików z oczywistych powodów. Zrobiłem trochę więcej badań i spróbował wykorzystać bardziej skomplikowany AppleScript udziałem set
oraz listę, ale to powoduje uprawnieniami błędów:
Oto skrypt python użyłem (moje bash umiejętności skryptowych nie były do zadaniem ciąg parsowania):
#!/usr/bin/env python
import optparse
import os
parser=optparse.OptionParser()
options,args = parser.parse_args()
pwd = os.getcwd()
cmd = '/usr/bin/osascript -e '
scriptcmd = "tell application \"Preview.app\" to activate\n"
flist = [ fn if fn[0]=='/' else pwd+"/"+fn for fn in args]
scriptcmd += "set myList to {\"%s\"}\n" % ('","'.join(flist))
scriptcmd += "tell application \"Preview.app\" to open myList"
print("%s \'%s\'" % (cmd,scriptcmd))
os.system("%s \'%s\'" % (cmd,scriptcmd))
nie jestem nawet pewien, że ten scenariusz byłby rozwiązany mój oryginalny problem - przeładunek obrazów bez widząc szary ekran - ale chciałbym wiedzieć, czy istnieje jakiś sposób, aby po prostu otwórz listę plików o numerze osascript
zamiast open
.
EDIT: Próbowano naprawić AppleScript, ale kod ten zostanie „brakujących wartości” błędy:
tell application "Preview.app" to activate
set myListOfImages to {":Users:adam:work:code:test.png"}
tell application "Preview.app" to open myListOfImages
Dzięki, że dużo AppleScript nic nie wiedziałem o. Czy istnieje sposób na zmodyfikowanie skryptu, aby zaakceptować tylko podzbiór plików w katalogu i/lub wyszukać wiele rozszerzeń? Próbowałem zmodyfikować mój kod do użycia: zamiast /, ale teraz dostaję błędy "brakującej wartości" ... zobacz edycję dla przykładu – keflavich
Zobacz moją edycję odpowiedzi na powyższe pytania. – regulus6633