11차 F-7 기록: 대형 모니터에서 오른쪽이 잘림 - 창 자리 되살리기(플랫폼)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
김승준 2026-09-22 18:44:05 +09:00
parent ea35b718df
commit e08eaae2e6
3 changed files with 35 additions and 1 deletions

View File

@ -767,6 +767,39 @@ libgit2 의 다듬기(`PrettifyMessages`)를 켜면 **손대지 않은 뒤 커
- 8 · 12 · 24 (`f5-verify.ps1`, 한글 주석 든 코드): 두 칸 행 높이 서로 같음(8 은 16 · 17 번갈아, 12 는 24, 24 는 48), 여백 단추 행 안, 그림에서 한글이 잘리거나 위아래 줄이 겹치지 않고 줄 번호 · 편집기 커서가 행에 맞음.
- 회귀: 11차 E-1 병합 길 — 24 → 9 · 누른 Take 18 = 로그 18 · 병합 커밋 본문 26개 · 줄끝 · BOM 바뀐 파일 0 · 충돌 표식 0 · class 검사 0.
## F-7. 대형 모니터에서 오른쪽(종료 · ACTIONS)이 잘림 (2026-09-22, 완료 — 플랫폼 배포 전)
사용자 증상: "대형 모니터에서 화면이 짤리는 현상, 오른쪽이 — 프로그램 종료 및 액션 패널이 안 보였다". 사용자 바람: "모든 해상도의 배율에서 화면이 정상적으로 출력되길".
### 지금 화면이 무엇에 맞춰져 있나 (사용자 물음에 답한 것)
특정 해상도에 맞춘 것이 아니다 — 칸 폭은 비율로 늘고 준다. 플랫폼 창 최소 크기 1280 × 720(WPF 단위 — 100% 1280×720 · 150% 1920×1080 · 200% 2560×1440 px), 화면이 그보다 작으면 최소 크기를 작업 영역에 맞춰 줄인다. 모니터마다 배율이 달라도(PerMonitorV2) 그 모니터 배율로 다시 그리고 최대화 크기도 그 모니터로 잡는다.
### 가려낸 것
- 종료(플랫폼 탭 줄 오른쪽 끝)와 ACTIONS 가 **함께** 안 보였다 → 안쪽 화면이 넓은 것이 아니라 **창이 모니터 밖으로 나간 것**.
- 켤 때 기억한 창 모드 자리를 되살리는 `PreparePlacement` 가 모니터에 200×50px 만 걸쳐도 "보인다" 로 보고 그대로 놓았다. 모니터 안으로 밀어 넣는 `KeepInside` 는 모니터를 옮길 때만 썼다.
### 재현 (`f7-repro.ps1`, 창 자리 파일에 창 모드 자리를 넣고 켬)
| 경우 | 고치기 전 | 고친 뒤 |
|---|---|---|
| 창 모드, 주 모니터(2560) 오른쪽을 넘는 자리 1200~3400 | **창 1200~3400 · 840px 넘침**, 종료 3400 · Accept 3366 · 시계 · 단축키 등 75개 요소가 모니터 밖 | 창 360~2560(크기 그대로 밀림), 종료 2560 · Accept 2526, 넘친 것 없음 |
| 같은 자리를 최대화로 | 모니터에 맞음 | 같음 |
| 가장 좁은 창(1280 DIP) × 화면 배율 80 · 100 · 120 · 133%, 파일 비교 · Git · 폴더 | 넘친 것 없음 | 같음 |
- 안쪽 화면 배치(칸 최소 폭 · 도구 줄)는 가장 좁은 창과 가장 큰 화면 배율에서도 넘치지 않았다 — 원인이 아니다.
### 고친 것 (플랫폼)
- `WindowPlacementMath.FitToMonitors` — 가장 많이 겹치는 모니터의 작업 영역 안으로 밀고 크면 줄인다. `ShellWindow.PreparePlacement` 가 기억한 자리를 이것으로 고쳐 놓는다.
- PlacementTest +8(45건) · 플랫폼 Debug 빌드 경고 0 · 오류 0. MergeHub 쪽 코드 변경 없음.
### 남은 것
- **플랫폼 배포**(사용자 확인 뒤).
- 배율이 **서로 다른** 모니터 사이를 옮길 때는 이 PC(두 모니터 모두 150%)에서 재현할 수 없다. 대형 모니터에서 같은 증상이 또 나면 그 모니터의 해상도 · 배율 · 창 모드였는지를 알려 받는다(창 자리 파일 `ShellWindowPlacement.json` 한 벌이면 그대로 재현할 수 있다).
## F-12. C# 코드 스타일 맞춤의 기본값을 AURORA 로 (2026-09-18, 완료)
사용자: "기본값은 원본형태를 따르고 C#인 경우에 AURORA 스타일로 하자" → 물어서 정한 것은 **제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로**(켜져 있으면 저장도 그 스타일로 쓴다).

View File

@ -8,6 +8,7 @@
| 날짜 | 항목 | 커밋 |
|---|---|---|
| 2026-09-22 | **11차 F-7 (추가 요청)** — "대형 모니터에서 오른쪽이 잘려 종료 · ACTIONS 가 안 보임": 창이 모니터 밖으로 나간 것. 켤 때 창 모드로 기억한 자리를 모니터에 조금만 걸쳐도 그대로 놓았다 — 해상도 · 모니터 배치가 바뀐 뒤 오른쪽으로 넘침(재현 840px). 플랫폼이 가장 많이 겹치는 모니터 안으로 밀게 고침(플랫폼 changelog, 배포 전). 가장 좁은 창 × 화면 배율 80~133% 에서 안쪽 화면은 원래 넘치지 않음 | 아래 |
| 2026-09-22 | **11차 F-6 (추가 요청)** — 코드 칸 줄 간격을 좁힘: 줄 높이 글자의 1.67배 → 1.33배(12 → 16, 사용자 결정 "선택 사항은 만들지 마" — 켜고 끄는 단추 · 설정 없음). 1920 × 1080 두 칸 40 → 50줄, 네 칸 위 17 → 22 · 아래 18 → 23줄. 북마크 표식 높이도 줄에 맞춤. 방법별 줄 수(탭 줄 접기 +2 · 글자 10 +7 · 칸 제목 한 줄 · 범례 감추기 +1 안팎)는 기록에 | 아래 |
| 2026-09-22 | **11차 F-5 뒤 (사용자 "응 고쳐줘")** — 켜자마자(또는 탭을 눌러 돌아오면) 키보드 포커스가 없거나 탭 줄에 있어, 코드 칸을 한 번 누르기 전까지 **모든 단축키**(Ctrl+S · F9 · Ctrl++ …)가 듣지 않았다. 파일 비교 화면이 뜰 때 · 돌아올 때 · 창이 활성이 될 때 포커스가 비었거나 화면 밖이면 편집기로 준다(화면 안 · 다른 창의 포커스는 그대로). E-1 병합 길 회귀 없음 | 아래 |
| 2026-09-22 | **11차 F-5 (추가 요청)** — 코드 칸 글자 크기 8~24(기본 12). 한 값을 모든 모니터에(사용자 결정 — 모니터마다 다른 Windows 배율은 플랫폼 PerMonitorV2 가 맞춤), 코드 칸만. `CodeFontMetrics` 가 줄 높이 · 번호 칸 · 여백 단추를 같은 비율로 내고(12 에서 지금 값 그대로) 화면이 DynamicResource 로 한 벌 갈아 끼움, `MergeLine.MinimumRowHeight` 도 따라감. Ctrl+휠 · Ctrl++/- · Ctrl+0 · 설정 "보기 > 코드 글자 크기", 상태 줄 `글자 N`. 줄 번호가 코드보다 몇 px 위에 뜨던 것(24 에서 커짐)도 같은 줄 높이 규칙으로 맞춤. 8 · 12 · 24 에서 네 칸 행 높이 같음. FontTest 110 · ShortcutTest +14(1,538건) | 아래 |

View File

@ -376,7 +376,7 @@
| **완료** | F-4 ACTIONS 칸 감추기(단추 · F9, 끌어 둔 폭 기억, 감춰도 Ctrl+S · Alt+←/→ 그대로) + **덧: 아래 탭 줄 접기**(사용자 요청 — 플랫폼 [탭 접기] · 16 DIP 띠 · F11, 그 항목만 기억, 다른 소비 프로그램도 쓰되 기본 펼침). 1440p 150% 에서 코드 칸 폭 +163px · 높이 +71px. 플랫폼 배포함(09-22 16:22) |
| **완료** | F-5 코드 글자 크기(8~24, 기본 12) — 한 값을 모든 모니터에(모니터 배율은 플랫폼), 코드 칸만, Ctrl+휠 · Ctrl++/- · Ctrl+0 + 설정 "보기 > 코드 글자 크기"(사용자 결정). 줄 높이 · 번호 칸 · 여백 단추가 같은 비율로(`CodeFontMetrics`, 12 에서 지금 값 그대로), 줄 번호 기준선을 코드와 맞춤. 8 · 12 · 24 에서 네 칸 행 높이 같음 · 단추 행 안. FontTest 110 · 1,538건. Ctrl+휠 · 키 · 껐다 켜도 남음 확인. 켜자마자는 포커스가 없어 단축키가 모두 안 듣던 것(원래 있던 것)도 고침 — 포커스가 비었거나 화면 밖이면 편집기로 |
| **완료** | F-6 글자를 되도록 많이 보이게 — 방법마다 1920×1080 줄 수를 재 드린 뒤 사용자 결정 "줄 간격 줄여주고 선택 사항은 만들지 마": 줄 높이 글자의 1.67배 → 1.33배(12 → 16). 두 칸 40 → 50줄(탭 줄 접으면 53), 네 칸 17 · 18 → 22 · 23줄. 한글 잘림 · 겹침 없음, E-1 회귀 없음. FontTest 144 · 1,572건 |
| 대기 | F-7 어느 모니터에서든 제대로 뜨게 — 증상부터 적고 플랫폼 영향 확인 |
| **완료** | F-7 대형 모니터에서 오른쪽(종료 · ACTIONS)이 잘림 — 창이 모니터 밖으로 나간 것. 켤 때 창 모드로 기억한 자리를 모니터에 조금만 걸쳐도 그대로 놓던 것을 가장 많이 겹치는 모니터 안으로 밀게(플랫폼 `FitToMonitors`). 재현 840px 넘침 → 0. 좁은 창 × 화면 배율 80~133% 는 원래 넘친 것 없음. PlacementTest +8. **플랫폼 배포 전** |
| 대기 | F-8 저장한 뒤에도 되돌리기 (지금은 저장 네 길이 스택을 비움) |
| 대기 | F-9 백업본으로 저장 · 원본을 건드릴지 고르게 |
| 대기 | F-10 덩어리가 어디로 갔는지 UI 로 잇기 (지금은 "자리 옮김" 색만) |