diff --git a/doc/history/2026-09-10-4차.md b/doc/history/2026-09-10-4차.md
index 2fa24dd..7e41730 100644
--- a/doc/history/2026-09-10-4차.md
+++ b/doc/history/2026-09-10-4차.md
@@ -517,3 +517,45 @@ C-3 에서 똑같은 실수를 했다. 접거나 누를 수 있게 만들 때는
**줄 머리에서 한 번만 말한다** - `색 구분 (눌러서 이동)`.
항목마다 칠하지 않으므로 줄은 그대로 조용하고, 무엇인지는 한 번 읽으면 안다.
+
+---
+
+## C-5. ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 — **완료** (2026-09-10)
+
+**무엇이 문제였나** - 오른쪽 칸에 두 가지 성격이 섞여 있었다.
+
+| 매번 쓰는 것 | 한 번 정하면 그대로인 것 |
+|---|---|
+| Undo/Redo · 전체 반영 · Accept · 이 덩어리 반영 · Revert · 차이 이동 · 저장 | 저장 형식 두 칸 · 비교 규칙 넷 · 편집 잠금 |
+
+뒤엣것이 앞엣것 사이사이에 흩어져 있었다(`저장 형식` 은 가운데, `비교 규칙` 은 맨 아래).
+
+**한자리에 모으고 접었다.** `▸ 저장 형식 · 비교 규칙 펴기` 하나로 셋을 함께 여닫는다.
+자리는 차이 이동 아래, 저장 위다. **단추 글자가 무엇이 숨어 있는지 말한다** -
+화살표만으로는 전해지지 않는다는 것을 C-3 · C-4 에서 두 번 겪었다.
+펼침 상태는 `ActionsRulesExpanded` 에 남기고 설정 화면에는 안 내놓는다.
+
+**차이 이동을 개수 옆으로 옮겼다.** 가장 자주 누르는 것인데 오른쪽 칸 끝에 있었고,
+정작 "몇 번째인지"는 아래 상태바에 있었다. **보는 자리와 누르는 자리가 갈려 있으면 눈과 손이 따로 움직인다.**
+상태바에 `◀ 차이 3 / 5 ▶` 로 붙였다. 오른쪽 칸의 큰 단추는 그대로 둔다 - 쓰던 사람 손을 빼앗지 않는다.
+
+### 지시서가 틀렸던 것 — 접어도 폭은 안 줄어든다
+
+지시서에 "오른쪽 칸 폭을 그만큼 코드에 돌려준다" 고 적었는데 **틀린 말이었다.**
+폭을 정하는 것은 두 칸짜리 단추(Undo/Redo · 이전 차이/다음 차이)와 Accept 인데,
+그것들은 전부 **접어도 남는 쪽**이다. 접히는 것은 세로만 먹는다.
+
+실제로 214 → 176 으로 좁혀 봤더니 `Undo` 가 `Undc` 로, `이전 차이` 가 `이전 차` 로 잘렸다.
+되돌리고 폭은 그대로 두었다. **C-5 가 얻는 것은 폭이 아니라 세로 자리와 덜 어지러운 칸이다.**
+
+**화면에서 확인한 것**
+
+| 확인 | 결과 |
+|---|---|
+| 접었을 때 | 저장 형식 · 비교 규칙 · 편집 잠금이 사라진다 |
+| 남은 단추 글자 | `Undo` `Redo` `이전 차이` `다음 차이` 모두 안 잘린다 |
+| 펼치면 | 차이 이동 아래에 셋이 한 덩어리로 나온다 |
+| 상태바 | `1행 1열 │ ◀ 차이 -/3 ▶ │ 총 13줄 · 남은 차이 3줄` |
+| 규칙을 바꾼 뒤 | 반영한 줄이 `머지 반영함` 그대로, `직접 수정` 0 (3차 E-5 회귀 없음) |
+
+검사 571건 통과 · 빌드 경고 0 · 오류 0.
\ No newline at end of file
diff --git a/doc/history/changelog.md b/doc/history/changelog.md
index a5a4d0d..d1c9b16 100644
--- a/doc/history/changelog.md
+++ b/doc/history/changelog.md
@@ -8,6 +8,7 @@
| 날짜 | 항목 | 커밋 |
|---|---|---|
+| 2026-09-10 | **4차 C-5** — 한 번 정하는 것들을 한자리에 모아 접고, 차이 이동을 개수 옆으로 | 아래 |
| 2026-09-10 | **4차 C-4** — 범례를 눌러 그 갈래로 이동. 0건은 흐리게 | 아래 |
| 2026-09-10 | **4차 C-3** — Git 탭의 원격 칸을 접을 수 있게. 로컬 경로 한 줄만 남고 세로 128px 가 목록으로 간다 | 아래 |
| 2026-09-10 | **엔터 고침의 되돌이 문제** — TextChanged 안에서 편집기 글을 갈아 끼워 캐럿이 엉켰다. 한 차례 뒤로 물림 | 아래 |
@@ -38,6 +39,7 @@
| 날짜 | 문서 | 내용 |
|---|---|---|
+| 2026-09-10 | **4차 C-5** — 한 번 정하는 것들을 한자리에 모아 접고, 차이 이동을 개수 옆으로 | 아래 |
| 2026-09-10 | **4차 C-4** — 범례를 눌러 그 갈래로 이동. 0건은 흐리게 | 아래 |
| 2026-09-10 | **4차 C-3** — Git 탭의 원격 칸을 접을 수 있게. 로컬 경로 한 줄만 남고 세로 128px 가 목록으로 간다 | 아래 |
| 2026-09-10 | **엔터 고침의 되돌이 문제** — TextChanged 안에서 편집기 글을 갈아 끼워 캐럿이 엉켰다. 한 차례 뒤로 물림 | 아래 |
diff --git a/doc/진행상황.md b/doc/진행상황.md
index 1635cf4..89cddd3 100644
--- a/doc/진행상황.md
+++ b/doc/진행상황.md
@@ -42,7 +42,7 @@
| **완료** | C-2 아래쪽 정보가 세 군데로 흩어져 있다 |
| **완료** | C-3 Git 탭의 원격 블록을 접는다 |
| **완료** | C-4 색 구분 범례를 이동 도구로 |
-| 대기 | C-5 ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 나눈다 |
+| **완료** | C-5 ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 나눈다 |
### D. 변경 이력을 전용 폴더로
diff --git a/src/MergeHub/MergeHubSettings.cs b/src/MergeHub/MergeHubSettings.cs
index b91674a..4f790d7 100644
--- a/src/MergeHub/MergeHubSettings.cs
+++ b/src/MergeHub/MergeHubSettings.cs
@@ -97,5 +97,12 @@ namespace MergeHub
[Browsable(false)]
public bool GitRemoteExpanded { get; set; }
+ ///
+ /// 파일 비교 오른쪽 칸에서 한 번 정하면 그대로인 것들(저장 형식 · 비교 규칙 · 편집 잠금)을
+ /// 펼쳐 두었는지. 설정 화면에는 안 내놓는다 — 화면에서 접고 펴는 값이다.
+ ///
+ [Browsable(false)]
+ public bool ActionsRulesExpanded { get; set; }
+
}
}
diff --git a/src/MergeHub/ViewModels/HomeViewModel.cs b/src/MergeHub/ViewModels/HomeViewModel.cs
index 9ca0812..6415648 100644
--- a/src/MergeHub/ViewModels/HomeViewModel.cs
+++ b/src/MergeHub/ViewModels/HomeViewModel.cs
@@ -38,6 +38,7 @@ namespace MergeHub.ViewModels
_workspace.PlainCompareRequested += OnPlainCompareRequested;
_workspace.Recent.Changed += (_, _) => _workspace.OnUi(RefreshRecent);
_workspace.QueueChanged += (_, _) => RefreshQueue();
+ _isRulesOpen = _workspace.Settings.ActionsRulesExpanded;
_reflowTimer.Tick += (_, _) => Reflow();
RefreshRecent();
@@ -190,6 +191,36 @@ namespace MergeHub.ViewModels
/// 비교 대상 파일 목록(충돌 중이면 충돌 파일, 아니면 선택 커밋의 파일).
public ObservableCollection Files { get; } = new ObservableCollection();
+ // ================= 오른쪽 칸 접고 펴기 =================
+
+ ///
+ /// 저장 형식 · 비교 규칙 · 편집 잠금을 펼쳐 두었는지.
+ ///
+ /// 왜 접나 - 오른쪽 칸에는 매번 쓰는 것(반영 · 되돌리기 · 차이 이동 · 저장)과
+ /// 한 번 정하면 그대로인 것(저장 형식 · 비교 규칙 · 편집 잠금)이 섞여 있었다.
+ /// 뒤엣것을 접으면 그만큼 코드 폭이 넓어진다. 코드를 나란히 읽는 도구에서 가로 한 칸은
+ /// 그대로 읽을 수 있는 글자 수다.
+ ///
+ [ObservableProperty]
+ [NotifyPropertyChangedFor(nameof(RulesToggleLabel))]
+ private bool _isRulesOpen;
+
+ ///
+ /// 단추 글자. 무엇이 숨어 있고 누르면 무슨 일이 나는지 함께 적는다 -
+ /// 화살표만으로는 "여기 접힌 것이 있다"가 전해지지 않는다(C-3 · C-4 에서 두 번 겪었다).
+ ///
+ public string RulesToggleLabel =>
+ IsRulesOpen ? "▾ 저장 형식 · 비교 규칙 접기" : "▸ 저장 형식 · 비교 규칙 펴기";
+
+ [RelayCommand]
+ private void ToggleRules()
+ {
+ IsRulesOpen = !IsRulesOpen;
+
+ _workspace.Settings.ActionsRulesExpanded = IsRulesOpen;
+ _workspace.SaveSettings();
+ }
+
// ================= 폴더에서 훑는 중인 파일 이동 =================
/// 훑을 목록이 있는지. 폴더를 거치지 않고 연 파일에는 없다.
diff --git a/src/MergeHub/Views/HomeView.xaml b/src/MergeHub/Views/HomeView.xaml
index fb1200d..6bdea98 100644
--- a/src/MergeHub/Views/HomeView.xaml
+++ b/src/MergeHub/Views/HomeView.xaml
@@ -821,6 +821,14 @@
+
+
@@ -1450,15 +1458,13 @@
저장 형식. 기본은 "원본 유지"라 지금까지와 똑같이 나간다.
사내 소스에 CP949 가 섞여 있어, 새로 만드는 파일과 형식이 갈릴 때 여기서 맞춘다.
-->
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1595,6 +1624,7 @@
@@ -1627,8 +1657,20 @@
-
+
+
+