矩形是一個基於 Spectacle 的視窗管理應用程序,用 Swift 編寫。
矩形支援 macOS v10.15+。 macOS 10.13 和 10.14 支援的最後一個版本是 https://github.com/rxhanson/Rectangle/releases/tag/v0.73。
您可以從 https://rectangleapp.com 或發佈頁面下載最新的 dmg。
或用brew cask安裝:
釀造安裝--木桶矩形
鍵盤快捷鍵是不言自明的,但如果您從未在 Windows 或其他視窗管理應用程式上使用過捕捉區域,則可以使用一些解釋。
將視窗拖曳到螢幕邊緣。當滑鼠遊標到達螢幕邊緣時,您將看到一個足跡,當釋放單擊時,矩形將嘗試調整大小並將視窗移動到該足跡。
捕捉區域 | 結果行動 |
---|---|
左邊緣或右邊緣 | 左半部或右半部 |
頂部 | 最大化 |
角球 | 各角落的四分之一 |
左邊緣或右邊緣、角落的上方或下方 | 上半部或下半部 |
左下、中間或右三分之一 | 分別第三名 |
左下或右下三分之一,然後拖曳到底部中心 | 分別為前三分之二或後三分之二 |
聚焦您想要忽略的應用程式(從該應用程式最前面建立一個視窗)。
打開矩形選單並選擇“忽略應用程式”
開啟 URL rectangle://execute-action?name=[name]
。如果可能,請勿啟動矩形。
[name]
的可用值: left-half
、 right-half
、 center-half
、 top-half
、 bottom-half
、 top top-left
、 top-right
、 bottom-left
、 bottom-right
、 first-third
、 center-third
, last-third
, first-two-thirds
, last-two-thirds
, maximize
, almost-maximize
, maximize-height
, smaller
, larger
, center
, center-prominently
, restore
, next-display
, previous-display
, move-left
, move-right
, move-up
, move-down
, first-fourth
, second-fourth
third-fourth
, last-fourth
, first-three-fourths
, last-three-fourths
, top-left-sixth
, top-center-sixth
、 top-right-sixth
、 bottom-left-sixth
、 bottom-center-sixth
、 bottom-right-sixth
、 specified
、 reverse-all
、 top-left-ninth
、 top-center-ninth
、 top-right-ninth
, middle-left-ninth
, middle-center-ninth
, middle-right-ninth
, bottom-left-ninth
, bottom-center-ninth
, bottom-right-ninth
, top-left-third
, top-right-third
, bottom-left-third
, bottom-right-third
, top-left-eighth
, top-center-left-eighth
, top-center-right-eighth
, top-right-eighth
, bottom-left-eighth
, bottom-center-left-eighth
, bottom-center-right-eighth
, bottom-right-eighth
, tile-all
, cascade-all
, cascade-active-app
例如,在 shell 中: open -g "rectangle://execute-action?name=left-half"
請參閱終端命令.md
矩形使用 MASShortcut 進行鍵盤快速鍵記錄。 Spectacle 使用了自己的快速記錄器。
矩形具有額外的視窗操作:將視窗移動到每個邊緣而不調整大小,僅最大化視窗的高度,幾乎最大化視窗。
下一個/上一個畫面三分之一明確替換為前三分之一、前三分之二、中間三分之一、後三分之二和最後三分之一。考慮了螢幕方向,因為前三分之一將在橫向上留下第三個,而在縱向上將留下上三分之一。
不過,您可以使用第一個和最後一個第三個動作來模擬 Spectacle 的第三個循環。因此,如果您重複執行第一個三分之一,它將循環通過三分之一(第一個,中間,最後一個),反之亦然,最後一個三分之一。
有一個選項可以讓視窗在後續的向左或向右執行時遍歷顯示器。
當拖曳到螢幕的邊緣/角落時,視窗將對齊。可以停用此功能。
Apple 從未發布過 Spaces 的公共 API。其他在空間之間移動視窗的應用程式使用不受支援或不需要的方式來實現此目的。如果 Apple 決定為其發佈公共 API,我會將其添加進去。
預設情況下,iTerm2 只會以字元寬度的增量調整大小。 iTerm2 內部可能有一個設定可以停用此功能,但您可以使用以下命令來變更它。
預設寫入 com.googlecode.iterm2 DisableWindowSizeSnap -integer 1
這似乎只影響一小部分用戶。為了防止這種情況發生,請取消勾選「透過拖曳捕捉視窗」複選框。請參閱第 317 期。
如果視窗沒有按照您的預期調整大小或移動,請執行以下一些初步步驟來了解問題的根源。大多數此類問題都是由其他應用程式引起的。
確保 macOS 是最新的。
重新啟動電腦(這通常會在 macOS 更新後立即修復問題)。
確保沒有其他視窗管理器應用程式正在運行。
確保視窗運行不正常的應用程式沒有任何衝突的鍵盤快捷鍵。
嘗試使用選單項目執行視窗操作或將鍵盤快速鍵變更為不同的內容,以便我們可以判斷是否為鍵盤快速鍵問題。
請按照以下部分中的說明啟用調試日誌記錄。
日誌非常簡單。如果您計算出的矩形與生成的矩形相同,則很可能是另一個應用程式導致了問題。如果需要,請儲存日誌以附加到您建立的問題。
如果您懷疑可能是其他應用程式導致問題,請嘗試建立新的 macOS 使用者並登入。
tccutil 重置所有 com.knollsoft.Rectangle
或者,可以透過以下步驟而不是 tccutil 終端命令來完成此操作。
如果矩形正在運行,則關閉它
在系統設定 -> 隱私和安全性 -> 輔助功能中,首先停用矩形,然後使用減號按鈕將其刪除。 (按順序執行這兩個步驟很重要)
重新啟動你的Mac。
啟動 Rectangle 並根據提示啟用其設定。
在「矩形」選單開啟的情況下按住 alt(選項)鍵。
選擇「查看日誌記錄...」選單項,該選單項目取代「關於」選單項目。
當您執行矩形命令時,日誌記錄將顯示在視窗中。
首選項視窗的設定標籤中有用於將配置匯入和匯出為 JSON 檔案的按鈕。
啟動後,矩形將在~/Library/Application Support/Rectangle/RectangleConfig.json
中載入設定檔(如果存在),並將使用時間/日期戳重命名該文件,以便在後續啟動時不會讀取該文件。
矩形的配置使用 NSUserDefaults 存儲,這意味著它存儲在以下位置: ~/Library/Preferences/com.knollsoft.Rectangle.plist
請注意,v0.41+ 中的快捷方式以不同的格式存儲,並且不會加載之前的版本。
該檔案可以備份或傳輸到其他電腦。
如果您使用的是 Rectangle v0.44+,您也可以使用「首選項」窗格中的匯入/匯出按鈕,使用 JSON 檔案在電腦之間共用您的首選項和鍵盤快捷鍵。
筆記
如果您在應用程式重新啟動後仍然遇到設定選項問題,並且您是使用 Homebrew 安裝的,則需要使用--zap
標誌卸載並重新安裝。
brew uninstall --zap rectangle brew install rectangle
可以透過退出應用程式並將其移至垃圾箱來卸載 Rectangle。您可以使用下列終端機命令從電腦中刪除預設的矩形:
預設刪除 com.knollsoft.Rectangle
提示
如果您在使用 Homebrew 安裝後進行卸載,則應包含--zap
標誌以確保它也刪除 plist 條目。
brew uninstall --zap rectangle
Multitouch 應用程式中使用了 Rectangle 的邏輯。矩形專業應用程式完全建構在矩形之上。如果您貢獻了重要的程式碼或本地化內容並合併到 Rectangle 中,請給我發送電子郵件以獲取 Multitouch 或 Rectangle Pro 的免費許可證。 Sparkle、MASShortcut 或 Spectacle 的貢獻者還可以獲得免費的 Multitouch 或 Rectangle Pro 授權。
如果您想為在地化做出貢獻,所有翻譯都保存在每種語言的 Main.strings 中。如果您想新增本地化但目前不存在並且您不知道如何建立本地化,請建立一個問題並且可以初始化翻譯檔案。
歡迎提出新本地化或現有本地化改進的請求。
Rectangle 使用 Swift Package Manager 來安裝 Sparkle 和 MASShortcut。
MASShortcut 的原始儲存庫已存檔,因此 Rectangle 使用我的 fork。如果您想要進行任何涉及 MASShortcut 的更改,請在我的 fork 上提出拉取請求。