Mam następujący kod AppleScript, który otwiera określony plik w TextEdit w oknie z określonymi granicami:
set targetFilepath to "/Users/Me/Desktop/My Fruit Log.txt"
tell application "TextEdit"
activate
open targetFilepath
set bounds of front window to {279, 111, 1180, 719}
end tell
Problem z tym kodem polega na tym, że jeśli mam otwarte inne pliki TextEdit, kod przeniesie również inne dokumenty na pierwszy plan. Chciałbym jednak, aby tylko ten jeden, konkretny plik tekstowy został przeniesiony na pierwszy plan.
Kod nie spowoduje przeniesienia zminimalizowanego okna TextEdit na przód, ale przeniesie wszystkie ukryte, niezminimalizowane okna TextEdit na przód.
Kiedy usuwam activate
wiersz z kodu:
tell application "TextEdit"
open targetFilepath
set bounds of front window to {279, 111, 1180, 719}
end tell
plik jest otwarty, ale jego okno nie jest przenoszone na pierwszy plan.
OS X El Capitan, wersja 10.11.6.
Oto wizualna reprezentacja tego, co opisałem powyżej. Miałem zero okien zminimalizowane na moim komputerze, gdy te zrzuty ekranu zostały wykonane.
Tak wygląda mój ekran przed uruchomieniem AppleScript :
Tak chcę, aby mój ekran wyglądał po uruchomieniu AppleScript :
Oto jak obecnie wygląda mój ekran po uruchomieniu AppleScript :
W celu pełnego ujawnienia mój kod przesuwa także położenie kursora TextEdit po otwarciu pliku. Nie wiem, czy wpłynęłoby to na potencjalne rozwiązanie, ale oto dodatkowy kod, który następuje po powyższym fragmencie ( x
jest liczbą całkowitą, która jest wcześniej przypisywana):
tell application "TextEdit" to activate
tell application "System Events" to tell process "TextEdit"
repeat x times
key code 125
end repeat
end tell
end tell
activate
, nawet okno pliku, który jest otwarty.