Вы можете сделать обе эти вещи просто отлично. Первая строка - это просто set bounds of window 1 to ...
, или, если вы предпочитаете, set bounds of the first window to ...
Вторая строка зависит от того, что именно вы хотите сделать. Если вы хотите получить доступ к первому окну, для которого name является чем-то конкретным, вы можете просто сделать get the bounds of window "NAME"
; если вы действительно хотите название документа, вам нужно сделать что-то вроде
set d to the document "NAME"
repeat with w in windows
if w's document is d then return bounds of w
end repeat
Вы должны быть в состоянии сделать the first window whose document is d
, но это не удается; насколько я могу судить, это потому, что document
также является именем типа. Кроме того, если window "NAME"
/ document "NAME"
терпит неудачу - это то, что, как я помню, иногда не работает, хотя и должно, - вместо этого вы можете использовать the first window whose name is "NAME"
(или the first document ...
). Но простая форма почти наверняка сработает.
Кроме того, если вы просто генерируете эти AppleScripts, вызываете их и удаляете их - другими словами, если вы притворяетесь, что они являются функциями Python, а не генерируете их для дальнейшего использования - я настоятельно рекомендую использовать appscript вместо. Я никогда не использовал в Python, но у меня есть в Ruby, и это действительно отличный способ справиться со всем, что делает AppleScript, все еще используя выбранный вами язык. Например, я думаю, что ваш первый пример станет app('Whatever').windows[1].bounds.set((0,0,0,0))
, (или ...windows.first....
, если вы предпочитаете), а ваш второй станет либо app('Whatever').windows['NAME'].bounds.get()
, либо app('Whatever').windows[its.document.name == 'NAME'].get()
, в зависимости от того, нужно ли вам имя окна или имя документа окна , Это все не проверено , но, безусловно, отражает то, как обычно выглядит приложение (красиво и кратко).