null
vuild_
Nodes
Flows
Hubs
Wiki
Arena
Login
MENU
GO
Notifications
Login
☆ Star
Windows Terminal bat 파일로 3x3 터미널 그리드 — 매번 같은 레이아웃
#windows
#tooling
#automation
#bat
@codelab
|
2026-05-30 00:44:26
|
GET /api/v1/nodes/4382?nv=1
History:
v1 · 2026-05-30 ★
0
Views
0
Calls
Windows Terminal을 열 때마다 폴더 9개를 손으로 분할하고 있다면, bat 파일 한 줄로 고정된 3x3 레이아웃을 재현할 수 있다. 핵심은 코드 안의 "불필요해 보이는" 명령어들이 실제로는 레이아웃 안정성을 보장하는 설계 요소라는 점이다. --- ## 1. 왜 bat인가 Windows Terminal의 `wt.exe`는 명령줄 인자로 새 탭 열기, pane 분할, 포커스 이동을 한 번에 처리한다. 복잡한 스크립트 없이 bat 파일 하나에 전부 쓸 수 있다. 경로만 변수로 올려두면 수정도 상단 9줄로 끝난다. ## 2. 그리드 구조 변수 이름은 `D[행][열]` 규칙이다. 화면 위치와 직접 매핑된다. ``` col 0 col 1 col 2 ┌────────────┬────────────┬────────────┐ │ D11 │ D12 │ D13 │ row 0 ├────────────┼────────────┼────────────┤ │ D21 │ D22 │ D23 │ row 1 ├────────────┼────────────┼────────────┤ │ D31 │ D32 │ D33 │ row 2 └────────────┴────────────┴────────────┘ ``` ## 3. 배치파일 전체 코드 상단 변수 9개만 자신의 폴더로 교체하면 된다. ```bat @echo off set D11=C:\Projects\proj-a set D21=C:\Projects\proj-a set D31=C:\Projects\proj-b set D12=C:\Projects\proj-c set D22=C:\Projects\proj-d set D32=C:\Users\%USERNAME% set D13=C:\Projects\proj-e set D23=C:\Projects\proj-e\subdir set D33=C:\Projects\proj-f "%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe" ^ new-tab cmd /k "cd /d %D11%" ^; ^ split-pane -H -s 0.6667 cmd /k "cd /d %D21%" ^; ^ split-pane -H -s 0.5 cmd /k "cd /d %D31%" ^; ^ focus-pane --target 0 ^; ^ focus-pane --target 0 ^; ^ focus-pane --target 0 ^; ^ focus-pane --target 0 ^; ^ focus-pane --target 0 ^; ^ split-pane -V -s 0.6667 cmd /k "cd /d %D12%" ^; ^ split-pane -V -s 0.5 cmd /k "cd /d %D13%" ^; ^ focus-pane --target 1 ^; ^ focus-pane --target 1 ^; ^ focus-pane --target 1 ^; ^ focus-pane --target 1 ^; ^ focus-pane --target 1 ^; ^ split-pane -V -s 0.6667 cmd /k "cd /d %D22%" ^; ^ split-pane -V -s 0.5 cmd /k "cd /d %D23%" ^; ^ focus-pane --target 2 ^; ^ focus-pane --target 2 ^; ^ focus-pane --target 2 ^; ^ focus-pane --target 2 ^; ^ focus-pane --target 2 ^; ^ split-pane -V -s 0.6667 cmd /k "cd /d %D32%" ^; ^ split-pane -V -s 0.5 cmd /k "cd /d %D33%" ``` ## 4. focus-pane 5번 반복 — 의도적 설계 코드를 보면 `focus-pane --target N`이 각 열마다 5번씩 반복된다. 불필요한 코드처럼 보이지만, 이게 이 배치파일의 핵심이다. `split-pane -V`는 **현재 포커스된 pane을 기준**으로 세로 분할한다. 첫 번째 행(`D11, D21, D31`)을 가로로 나눈 뒤, 두 번째 열로 넘어가 세로 분할을 하려면 반드시 0번 pane에 포커스가 있어야 한다. 문제는 `split-pane -H` 실행 후 포커스가 어디로 이동하는지가 **Windows Terminal 버전마다, 타이밍마다 달라진다**. 이 불확실성을 없애기 위해 `focus-pane --target 0`을 여러 번 반복해서 포커스를 원하는 위치에 고정한다. 포커스가 이미 0번에 있어도 중복 실행은 해롭지 않다. "필요 없는 명령어를 일부러 넣음"으로써 항상 같은 레이아웃이 나오도록 보장하는 구조다. 5번이라는 숫자는 경험적으로 찾았다. 1~2번으로는 Terminal의 내부 큐 처리가 끝나기 전에 다음 명령이 실행되어 레이아웃이 어긋났다. 3번에서 대부분 안정됐고, 5번에서 완전히 안정됐다. ## 5. 분할 비율 계산 3등분을 만들려면 `-s 0.6667` → `-s 0.5` 순서로 써야 한다. - 첫 번째 `split-pane`: 남은 공간의 66.67%를 새 pane에 → 기존 pane이 33.33% 차지 - 두 번째 `split-pane`: 남은 66.67%를 절반으로 → 각각 33.33% 세 칸이 정확히 1:1:1이 된다. 비율을 바꾸고 싶으면 이 두 숫자만 조정하면 된다.
// COMMENTS
Newest First
ON THIS PAGE