2013-11-24 4 views
0

Мой просмотрщик в формате PDF - это Skim.app, и я использую следующий бит кода приложения, чтобы попросить его перечитать все открытые документы с диска, что мне нужно сделать очень часто. Беда в том, что Skim.app немного ошибочен, более чем один. Одна из его ошибок заключается в том, что когда он повторно загружает существующий документ, он немного искажает его. К счастью, однократное масштабирование и однократное масштабирование устраняют искажение, но это очень раздражает, что нужно делать вручную.Кнопка меню из AppleScript

Кнопка масштабирования находится в пункте меню «PDF» -> «Увеличить», а unzoom - «PDF» -> «Уменьшить». Можно ли использовать код ящика для увеличения и разворота при каждом запуске? Если да, то как?

#!/bin/bash 
/usr/bin/osascript << EOF 
    set theFile to POSIX file "$1" as alias 
    set thePath to POSIX path of theFile 
    tell application "Skim" 
    activate 
    set theDocs to get documents whose path is thePath 
    try 
     if (count of theDocs) > 0 then revert theDocs 
    end try 
    open theFile 
    end tell 
EOF 

ответ

0

Вы можете использовать системные события, чтобы щелкнуть пункты меню. Также вы можете передать аргументы, добавив явный обработчик запуска.

#!/usr/bin/osascript 

on run argv 
    tell application "Skim" 
     activate 
     revert (documents where path is item 1 of argv) 
     open POSIX file (item 1 of argv) as alias 
    end tell 
    tell application "System Events" to tell process "Skim" 
     click menu item "Zoom In" of menu 1 of menu bar item "PDF" of menu bar 1 
     click menu item "Zoom Out" of menu 1 of menu bar item "PDF" of menu bar 1 
    end tell 
end run 
Смежные вопросы