Mac용 Rectangle App: 마우스 없이 키보드로 윈도우 타일링하기
Rectangle app은 무료 오픈소스 macOS용 윈도우 매니저다. 단축키를 누르면 활성 윈도우가 화면 왼쪽 절반, 모서리 4분의 1, 혹은 화면의 3분의 1로 이동한다. 윈도우를 화면 가장자리로 드래그하면 그 자리에 딱 맞춰진다. macOS 10.15 이상에서 Intel과 Apple Silicon 모두 동작하며, 이 글을 쓰는 시점의 최신 버전(v0.96)은 rectangleapp.com이나 GitHub 릴리스 페이지에서 받을 수 있다.
단순히 두 창을 나란히 두는 게 목적이라면 macOS Sequoia 이후부터는 키보드만으로도 이미 가능하다. Rectangle mac이 진가를 발휘하는 건 3분의 1 단위 분할, 4분의 1, 자유롭게 재할당 가능한 단축키, 트랙패드를 건드리지 않고 창을 디스플레이 간에 옮기고 싶을 때다.
설치 및 손쉬운 사용 접근 권한 부여
.dmg를 다운로드해 Rectangle app을 애플리케이션 폴더로 드래그하거나, Homebrew를 사용한다.
brew install --cask rectangle
처음 실행하면 macOS가 손쉬운 사용 권한을 요청한다. 시스템 설정 > 개인정보 보호 및 보안 > 손쉬운 사용에서 Rectangle app을 활성화하자. 앱이 필요로 하는 유일한 권한이며, 이게 없으면 어떤 단축키나 스냅 영역도 작동하지 않는다. Rectangle은 또한 자체 기본 단축키를 쓸지, Spectacle의 옛 단축키 세트를 쓸지도 물어본다. 아래 표는 Rectangle 자체 기본값을 기준으로 한다.
무언가 바꾸기 전에, 먼저 브라우저 창을 하나 골라 메뉴 막대 아이콘에서 왼쪽 절반을 선택해 보자. 창이 이동하면 권한이 제대로 작동하는 것이니 그때부터 단축키를 익히면 된다.
기본 키보드 단축키
모든 동작은 Control + Option에 키 하나를 더한 조합이다. 모두 환경설정의 단축키 탭에서 재할당할 수 있다.
| 동작 | 단축키 |
|---|---|
| 왼쪽 절반 / 오른쪽 절반 | ⌃⌥← / ⌃⌥→ |
| 위쪽 절반 / 아래쪽 절반 | ⌃⌥↑ / ⌃⌥↓ |
| 최대화 | ⌃⌥↩ |
| 중앙 정렬 | ⌃⌥C |
| 좌측 상단 / 우측 상단 4분의 1 | ⌃⌥U / ⌃⌥I |
| 좌측 하단 / 우측 하단 4분의 1 | ⌃⌥J / ⌃⌥K |
| 첫 번째 / 가운데 / 마지막 3분의 1 | ⌃⌥D / ⌃⌥F / ⌃⌥G |
| 처음 3분의 2 / 마지막 3분의 2 | ⌃⌥E / ⌃⌥T |
| 다음 디스플레이 / 이전 디스플레이 | ⌃⌥⌘→ / ⌃⌥⌘← |
| 크게 / 작게 | ⌃⌥= / ⌃⌥- |
| 복원 | ⌃⌥⌫ |
처음부터 알아두면 좋은 두 가지 동작이 있다. 첫 번째 3분의 1을 반복해서 누르면 창이 첫 번째, 가운데, 마지막 3분의 1을 순서대로 순환한다. 즉 단축키 하나로 세 위치를 모두 커버한다. 그리고 복원은 Rectangle이 마지막으로 그 창을 움직이기 전의 크기와 위치로 되돌리는데, 이는 현재 활성 창에만 적용되고 이미 배치해 둔 다른 창들에는 영향을 주지 않는다.
기본 단축키가 없는 추가 크기(4분의 1의 행, 6분의 1, 9분의 1, “거의 최대화”, “높이만 최대화”, 크기 변경 없이 가장자리로 이동 등)는 일반 탭 하단의 말줄임표 버튼 아래에 있으며, 여기서 직접 키를 할당할 수 있다.
스냅 영역: 드래그로 타일링하기
윈도우를 가장자리로 드래그하면 손을 놓았을 때 어디에 안착할지 반투명 윤곽으로 보여준다. 이 대응 관계는 고정되어 있다.
| 드래그 위치 | 결과 |
|---|---|
| 왼쪽 또는 오른쪽 가장자리 | 왼쪽 또는 오른쪽 절반 |
| 위쪽 가장자리 | 최대화 |
| 모서리 | 해당 모서리의 4분의 1 |
| 왼쪽 또는 오른쪽 가장자리, 모서리 바로 위나 아래 | 위쪽 또는 아래쪽 절반 |
| 아래쪽 가장자리, 왼쪽/가운데/오른쪽 3분의 1 | 해당 3분의 1 |
| 아래쪽 좌측 또는 우측 3분의 1에서 아래쪽 가운데로 드래그 | 처음 또는 마지막 3분의 2 |
실수로 자꾸 스냅이 걸린다면 환경설정에서 스냅 기능을 끌 수 있다. README에는 소수의 사용자에게서 스냅이 켜진 상태에서 알림 센터가 멈추는 현상이 보고되어 있으며, “드래그로 윈도우 스냅”을 끄는 것이 공식적으로 안내된 해결책이다.
첫 번째 레이아웃: 문서와 참고 자료
노트북 화면을 위한 추천 작업 흐름은 다음과 같다.
- 문서 창을 클릭해 활성화한 다음 ⌃⌥←를 누른다.
- 브라우저 창을 클릭한 다음 ⌃⌥→를 누른다.
여기서 포커스가 중요하다. 두 단축키를 누르는 동안 문서 창이 계속 활성 상태로 남아 있으면, 문서 창만 두 번 움직이고 브라우저는 원래 자리에 그대로 있게 된다.
더 넓은 디스플레이에서는 절반씩 나누는 것보다 3분의 2와 3분의 1 조합이 대체로 더 보기 좋다. 문서는 ⌃⌥E, 참고 자료는 ⌃⌥G에 배치하자. 두 창 모두 이름이 붙은 위치를 사용하는 게 요령이다. 한 창에서 크게를 눌러도 옆 창이 함께 줄어들지는 않으므로, 절반씩 나눈 레이아웃에서 문서를 키우면 깔끔하게 분할되는 게 아니라 참고 자료 위에 겹쳐진다.
두 개의 디스플레이로 작업하기
다음 디스플레이(⌃⌥⌘→)는 활성 창을 인접한 모니터로 옮기면서 그 디스플레이의 치수에 맞게 크기를 조정한다. 3분의 1 분할은 방향을 존중한다. 세로로 세워둔 모니터에서는 “첫 번째 3분의 1″이 세로 열이 아니라 맨 위의 3분의 1이 된다.
왼쪽 절반이나 오른쪽 절반을 이미 가장자리에 있는 창에 반복해서 누르면 다음 디스플레이로 그대로 넘어가게 하는 옵션도 있다. 별도의 디스플레이 이동 단축키보다 이 방식을 선호하는 사람들도 있다.
한 가지 알아둘 한계가 있다. Rectangle은 창을 스페이스(가상 데스크탑) 간에 이동시키지 못한다. Apple이 이를 위한 공개 API를 제공하지 않기 때문이다. Rectangle Pro는 타이틀바 드래그와 시스템의 스페이스 전환 단축키를 조합해 시뮬레이션하는 방식으로 다음/이전 스페이스 기능을 구현하지만, 무료 앱에는 이 기능이 없다.
단축키가 충돌하는 앱 무시하기
일부 앱은 자체적으로 Control + Option 조합을 사용한다. Rectangle의 단축키를 다시 매핑하는 대신, 충돌하는 앱을 앞으로 가져와 Rectangle 메뉴를 열고 앱 무시를 선택하자. 그 앱이 최전면에 있는 동안에는 Rectangle의 단축키가 macOS에서 등록 해제되고, 다른 앱으로 전환하면 다시 돌아온다. 같은 동작을 스크립트로도 실행할 수 있다.
rectangle://execute-task?name=ignore-app&app-bundle-id=com.apple.Safari
스크립트와 런처에서 동작 실행하기
모든 동작은 URL을 통해 실행할 수 있으며, 사람들이 Rectangle을 Alfred, Raycast, Keyboard Maestro, Stream Deck에 연동하는 방식이 바로 이것이다.
open -g "rectangle://execute-action?name=left-half"
전체 동작 이름 목록(tile-all, cascade-all, reverse-all, 그리고 절반부터 9분의 1까지 모든 분수 포함)은 프로젝트 README에 있다.
숨겨진 설정과 환경설정 위치
환경설정 창은 의도적으로 작게 유지되어 있다. 타일링된 창 사이에 간격을 추가하는 것처럼 더 많은 옵션은 프로젝트의 TerminalCommands.md에 문서화된 defaults write 명령어를 통해 설정한다. 이런 설정을 바꾼 뒤에는 Rectangle을 재시작하자.
환경설정은 ~/Library/Preferences/com.knollsoft.Rectangle.plist에 저장된다. 설정 탭에는 같은 구성을 JSON으로 쓰고 읽는 내보내기/가져오기 버튼이 있다. ~/Library/Application Support/Rectangle/RectangleConfig.json에 파일을 두면 실행 시 한 번만 가져와지고 이후 타임스탬프가 붙은 이름으로 바뀐다. 즉 실시간으로 읽히는 설정 파일이 아니다. Homebrew로 설치했는데 재시작할 때마다 설정이 유지되지 않는다면, README가 안내하는 해결책은 brew uninstall --zap rectangle 후 재설치하는 것이다.
Rectangle 없이도 macOS가 이미 할 수 있는 것
macOS Sequoia부터 Apple은 자체 윈도우 타일링을 제공한다. 창을 화면 가장자리로 드래그하거나, 윈도우 > 이동 및 크기 조절 메뉴를 사용하거나, 절반 이동에는 Fn-Control-왼쪽 화살표와 Fn-Control-오른쪽 화살표, 이전 크기로 되돌리는 Fn-Control-R 같은 공식 단축키를 쓸 수 있다. 타일링된 창 사이의 여백은 설정 항목이며(시스템 설정 > 데스크탑 및 Dock의 “타일링된 윈도우에 여백 두기”), 끌 수도 있다.
평소 쓰는 앱으로 먼저 기본 기능을 시험해 보자. 윈도우 메뉴를 통한 절반과 4분의 1로 작업이 충분하다면 굳이 유틸리티를 추가할 이유가 없다. Rectangle이 더 잘 맞는 경우는 키보드로 3분의 1과 3분의 2를 쓰고 싶을 때, 반복해서 누르며 크기를 순환하고 싶을 때, 자신이 직접 고른 단축키를 쓰고 싶을 때, 앱별 무시 목록이 필요할 때, 혹은 스크립트로 제어하고 싶을 때다. 이건 워크플로에 관한 판단이지, 기능 개수 경쟁이 아니다.
Rectangle과 Rectangle Pro
Rectangle Pro는 같은 개발자가 만든 별도의 유료 클로즈드소스 앱으로, Rectangle을 기반으로 만들어졌다. 페이지에는 화면 어디서든 16개 위치 중 하나로 창을 보낼 수 있는 “던지기” 제스처, 커스텀 크기와 위치, 단축키 하나 또는 디스플레이 연결 시 적용되는 워크스페이스 레이아웃, 화면 가장자리로 창을 잠시 숨기는 기능, 다음/이전 스페이스 이동, iCloud를 통한 설정 동기화 등이 소개되어 있다. 10일 무료 체험이 제공되며 macOS 13.5 이상이 필요하다. 현재 가격은 Pro 페이지에서 확인하자.
실용적인 판단 기준은 이렇다. 노트북을 도킹할 때마다 매번 에디터-브라우저-터미널 배치를 다시 만든다면, Pro의 워크스페이스 기능이 정확히 그런 상황을 위해 만들어진 것이다. 대체로 창 두 개만 나눠 쓴다면 무료 앱으로 충분하다.
단축키가 아무 반응이 없을 때
README의 문제 해결 순서는 메인테이너가 가장 자주 접하는 원인을 반영한 것이다.
- Mac을 잠갔다가 다시 해제한다. 특히 macOS 업데이트 직후라면 이것만으로 놀랄 만큼 많은 문제가 해결된다.
- 그래도 안 되면 Mac을 재시작한다.
- 메뉴 막대 메뉴에서 같은 동작을 시도해 본다. 메뉴는 작동하는데 단축키만 안 된다면, 최전면 앱과의 단축키 충돌 문제다.
- 원인을 파악하는 동안 다른 윈도우 매니저(Magnet, BetterSnapTool, yabai 등)는 모두 종료한다.
- 손쉬운 사용 권한을 초기화한다.
tccutil reset All com.knollsoft.Rectangle을 실행하거나, 시스템 설정의 손쉬운 사용 목록에서 Rectangle을 비활성화한 뒤 마이너스 버튼으로 제거하고, 재시작 후 다시 실행하며 권한을 부여한다. (비활성화 후 제거라는) 순서가 중요하다.
특정 앱 하나에 국한된 문제라면 먼저 그 앱을 살펴보자. README는 iTerm2를 지목하는데, 기본적으로 문자 폭 단위로만 크기가 조절되기 때문이다. defaults write com.googlecode.iterm2 DisableWindowSizeSnap -integer 1로 이 동작을 끌 수 있다.
Rectangle이 실제로 무엇을 하는지 확인하려면, 메뉴가 열려 있는 동안 Option을 누른 채 View Logging…(About 항목 자리에 대신 나타남)을 선택하자. 각 동작마다 계산된 사각형과 실제 결과 사각형을 출력한다. 둘이 일치하는데도 창이 그 자리에 안착하지 않았다면 다른 앱이 간섭하고 있는 것이다. GitHub 이슈를 올릴 계획이라면 이 로그를 저장해 두자.
제거하기
Rectangle을 종료하고 휴지통으로 옮긴다. 저장된 환경설정까지 제거하려면:
defaults delete com.knollsoft.Rectangle
Homebrew로 설치했다면 brew uninstall --zap rectangle을 실행해 plist까지 함께 제거하는 게 좋다.