分類: macOS程式設計

AppleScript 控制 Mac OS X 應用程式視窗位置與大小

這裡介紹如何在 Mac OS X 中,使用 AppleScript 程式精準控制任何應用程式視窗的位置與大小。

在撰寫一些教學文章時,時常需要擷取螢幕或視窗的畫面,為了讓每張截圖看起來一致,在擷取之前我們都會稍微調整一下視窗的大小,讓每個畫面統一,增加美感。

在 Mac OS X 上,您可以使用 SizeUp 這類的工具來調整視窗的大小,雖然他很好用,不過缺點是要付費,當然您也可以使用他的試用版,並且忍受煩人的廣告。


其實如果只是單純的控制視窗位置與大小,我們可以使用 Mac OS X 內建的 AppleScript 撰寫指令稿,只要簡單幾行指令,就可以達成這樣的需求,完全不用花錢,以下是使用 AppleScript 控制視窗位置與大小的教學。

Step 1
首先開啟「工序指令編寫程式」。

Step 2
輸入下面這一段 AppleScript 指令稿:

tell application "Safari"
    activate
    set the bounds of the first window to {140, 0, 1600, 900}
end tell

這段指令稿的意思應該直接看就可以理解了,第一行選擇要控制的應用程式名稱,這裡我們選擇 Safari 瀏覽器,activate 會讓該應用程式變成選取的狀態,然後設定該應用程式的視窗位置為 (140, 0),大小為 1600x900 像素。

貼上程式碼之後,畫面會像這樣:

Step 3
按下執行按鈕之後,AppleScript 就會自動調整桌面上 Safari 瀏覽器的視窗位置與大小了。

當然其他的瀏覽器或是應用程式都可以用這樣的方式調整,例如 Google Chrome 瀏覽器:

tell application "Google Chrome"
    activate
    set the bounds of the first window to {140, 0, 1600, 900}
end tell

Firefox 瀏覽器:

tell application "Firefox"
    activate
    set the bounds of the first window to {140, 0, 1600, 900}
end tell

另外,如果想要一次調整一個應用程式的多個視窗,可以這樣寫:

tell application "Safari"
    activate
    set the bounds of the first window to {140, 0, 1160, 775}
    try
        set the bounds of the second window to {150, 0, 1130, 775}
    end try
end tell

為了避免應用程式只有一個視窗而出錯,這裡在控制第二個視窗時,加上 try,這樣就算應用程式只有單一個視窗也不會出現錯誤。

參考資料:Ask Different

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: AppleScript指令

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

1 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

2 年 ago