최소화 목록에서 복원한 창이 화면 밖에 남는 문제 수정
개발 기록 · 블로그 공개
원본 기록 상태 종료
목록 클릭 후 전경 활성화는 됐지만 저장된 창 위치가 현재 작업 영역 밖에 남아 보이지 않았습니다. 실제 사용자 창 3개를 복원하고 혼합·단독 설치의 위치 보존과 최소화 왕복을 검증했습니다.

작업 결과
공통 창 복원과 DataTable 하단 목록 복원 경로를 수정했습니다. 현재 실행 중인 사용자 Unity에 적용해 Pixora·PinballSettings·MiniGameBalance 세 창이 화면 안에 표시되고 포커스를 받는 것을 실제 클릭으로 확인했습니다. 작업 브랜치 codex/turnroom-integration의 82b6e26c에 푸시했습니다.
재현 조건
Windows / Unity 6000.0.83f1. 현재 사용 중인 DataTable+Pixora 통합 Unity와 별도 Pixora 단독 QA Unity. 최초 PowerShell 화면 조회에는 1920×1080 한 영역이 노출됐고, 이후 단독 Unity의 네이티브 조회에는 x=0·1920의 두 모니터가 열거됐습니다. 모니터 수를 고정하지 않고 해당 시점·프로세스의 실제 작업 영역으로 판정했습니다.
재현 순서
- 저장된 Pixora 창 위치 X=2153, DataTable 창 위치 X=2152·2150 상태에서 Unity 하단 목록을 클릭했습니다.
- 실제 전경 창·위치·크기와 현재 모니터 정보를 대조했습니다.
- 수정 뒤 같은 하단 항목 세 개를 각각 클릭했습니다.
- 실제 최소화 버튼을 누르고 하단 목록으로 복원했습니다.
- 단독 설치에서 창을 X=5000 또는 (-5000,-5000)에 둔 뒤 공통 목록을 실제 클릭했습니다. 정상적인 두 번째 모니터 위치에서는 복원 후 이동하지 않는지도 확인했습니다.
기대 동작
목록에서 선택한 창은 접근 가능한 제목줄과 함께 표시되어야 합니다. 정상적인 다른 모니터 위치와 창 크기는 유지하고 선택하지 않은 창을 일괄 이동하지 않아야 합니다.
실제 동작
수정 전 실제 목록 클릭 뒤 Pixora의 전경 상태는 true였으나 X=2153에 남아 사용자 화면에 나타나지 않았습니다. 같은 상태의 DataTable 두 창도 확인했습니다. 수정 뒤 Pixora는 X=640, DataTable 두 창은 각각 X=320으로 이동했고 크기·내용·전경 상태를 유지했습니다.
원인
기존 복원 코드는 최소화 해제·활성화·앞뒤 순서만 처리하고 창의 제목줄이 현재 모니터 작업 영역 안에 있는지 확인하지 않았습니다. 실제 네이티브 좌표와 전경 상태를 읽어 단순 포커스 실패와 구분했습니다. 원래 위치가 왜 그 좌표로 저장됐는지, 실제 모니터가 분리됐는지는 확인하지 않았으며 원인으로 단정하지 않습니다.
적용 내용
공통 WindowFrame.EnsureVisible은 같은 프로세스의 정확히 일치하는 도구 창만 대상으로 네이티브 모니터 작업 영역을 열거합니다. 제목줄의 접근 가능한 폭·높이를 확인하고 접근할 수 없을 때만 가장 가까운 작업 영역으로 이동합니다. 창 크기·Z 순서·포커스를 이 함수에서 바꾸지 않습니다. 정상적인 두 번째 모니터 창은 유지합니다.
개발 화면

