Tôi sử dụng các AppleScripts này:
try
tell application "Finder"
set b to bounds of window of desktop
end tell
try
tell application (path to frontmost application as text)
set bounds of window 1 to {0, 22, (item 3 of b) / 2, item 4 of b}
end tell
on error
tell application "System Events" to tell window 1 of (process 1 where frontmost is true)
set position to {0, 22}
set size to {(item 3 of b) / 2, (item 4 of b) - 22}
end tell
end try
end try
try
tell application "Finder"
set b to bounds of window of desktop
end tell
try
tell application (path to frontmost application as text)
set bounds of window 1 to {((item 3 of b) / 2), 22, item 3 of b, item 4 of b}
end tell
on error
tell application "System Events" to tell window 1 of (process 1 where frontmost is true)
set position to {(item 3 of b) / 2, 22}
set size to {(item 3 of b) / 2, (item 4 of b) - 22}
end tell
end try
end try
Các tập lệnh trước tiên cố gắng yêu cầu ứng dụng thay đổi thuộc tính giới hạn và sau đó báo cho Sự kiện hệ thống để thay đổi các thuộc tính vị trí và kích thước. Sử dụng Sự kiện hệ thống (hoặc API khả năng truy cập) hoạt động với nhiều ứng dụng hơn, nhưng nó cũng có thể xuất hiện một chút trục trặc vì vị trí và kích thước không được thay đổi cùng một lúc. Các ứng dụng khác như Slate luôn sử dụng API khả năng truy cập.