2026-09-20 QA 피드백 5번에서 왔다 (
0920-피드백 및 답변 정리.md). 원래 요청은 "트레이 상주 최소화" 였다 — 트레이를 만들지 않고 창을 더 줄이는 것으로 대체한다(사용자 결정).
배경
바탕화면 상주 앱이라 "지금은 작게·흐리게 비켜 두고 싶다"가 실제 요구다. 트레이 아이콘·상주 메뉴는 Win32 쪽을 새로 짜야 하는데, 기존 창 제어 코드에 선택지 둘만 더하면 같은 목적이 달성된다 — 배율을 더 작게, 그리고 투명도.
- 지금 배율 선택지는
1x(960x540) · 1.25x · 1.5x · 2x · 작업표시줄 맞춤뿐이라 1x보다 작게 둘 수 없다. - 투명 창 토글은 UI에서 걷어내고 예약 키(
TransparentKey)만 남아 있다 — 켜고 끄는 토글이 아니라 "얼마나 비칠지" 를 고르게 한다.
할 일
- [x]
WindowScale에 0.75x · 0.5x 추가. ⚠️ 중간에 끼우지 않는다 — 이 값은 씬과PlayerPrefs에 int로 저장돼 있어 앞에 끼우면 저장값이 조용히 다른 배율을 가리킨다(게임기획코어의 식별자 규칙과 같은 함정) - [x] ⚠️
Mathf.Clamp(scale, 0, (int)WindowScale.FitTaskbar)를 함께 고친다 —WindowManager의 두 곳이 FitTaskbar를 마지막 값으로 가정한다. 뒤에 붙이면 새 배율이 잘린다 → 저장값은Enum.IsDefined(모르면 공장값), 드롭다운은SizeOrder인덱스로 바꿨다 - [x] ⚠️ 드롭다운 표시 순서를 따로 정한다 — 라벨을 enum 순서로 만들고 있어(
WindowManager.cs의 옵션 라벨 생성) 그대로 두면… 2x · 맞춤 · 0.5x · 0.75x가 된다. 사람이 읽는 순서는 작은 것부터다 →WindowManager.SizeOrder=0.5x · 0.75x · 1x · 1.25x · 1.5x · 2x · 맞춤 - [x] 투명도 조절 UI — 설정 화면(
SettingPresenter)에 슬라이더 또는 단계 드롭다운 → 🔁 슬라이더(불투명도 10~100%, 1% 단위) — 사용자 요청(2026-09-29)으로 단계 드롭다운에서 바꿨다. 설정 그래픽 탭(T-098) - [x] ⚠️ 투명도를 Win32 알파로 만들지 않는다 —
SetLayeredWindowAttributes를 부르면 DWM per-pixel 투명(DwmExtendFrameIntoClientArea)이 균일 알파 모드로 덮여 창이 검게 변한다 (WindowManager.SetClickThrough주석에 근거가 있다). UI 쪽 알파(CanvasGroup)로 조절한다 →Root Canvas에CanvasGroup을 달고DisplayManager가 alpha를 건다(blocksRaycasts는 그대로) - [x] 저장 키 추가(
Window.Opacity등) +Settings 규칙.md§4 키 표 갱신 →Display.Opacity— % 값 그대로 · 손을 뗄 때 저장 - [x] 권위 규칙 결정 — 창 모양이라 §1대로 "에디터=인스펙터 / 빌드=저장값"인지,
Display.*처럼 예외인지 →Display.*쪽(에디터도 저장값). 창 모양이 아니라 UI 알파라 에디터에서도 실제로 먹는다 — 주인도DisplayManager - [x] 🔁 0.75x · 0.5x 제거 (사용자 결정 2026-09-30 — 너무 작다). enum 5·6은 비워 두고 다음 항목은 7부터
- [x] 빌드(.exe) 실측 — 투명도 단계 · 투명도를 낮춰도 클릭·클릭스루가 정상인지 → ✅ 2026-10-01 사용자 실측 완료
완료 조건
설정에서 0.75x·0.5x를 고르면 창이 그 크기로 줄고(제거), 투명도를 내리면 화면이 비쳐 보인다.
빌드를 껐다 켜도 고른 값이 유지되고, 기존 배율 저장값이 다른 배율로 읽히지 않는다.
막고 있는 것 / 선행 일감
- 없음
관련 커밋
ca52cc0feat: 설정을 탭 4개로 나누고 작은 배율·투명도를 넣는다132f72ffeat: 1x보다 작은 창 배율을 없앤다 (0.75x·0.5x 제거)- 이 커밋 — 사용자 실측 확인 후 완료 처리 (2026-10-01)
참고
Assets/Scripts_Client/Managers/WindowManager.cs—WindowScaleenum ·ScaleFactors·SetTransparentAssets/Scripts_Client/Settings/WindowSettings.cs·Settings 규칙.mdAssets/Scripts_Client/UI/Main/SettingPresenter/- 같은 모양의 선례 — T-062(프레임 제한 · FPS 텍스트 위치)
- 최소화 상태의 알림은 별개다 → T-071