Skip to content

RabeMaster/SaveWindow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SaveWindow

Version License Python

English

Windows에서 열려 있는 창들의 위치와 크기를 저장하고, 단축키 하나로 레이아웃을 복원하는 도구입니다.


데모

SaveWindow 데모

주요 기능

  • 윈도우 스캔 — 현재 열린 창 목록을 자동으로 수집
  • 윈도우 적용 — 저장된 프로필대로 창 위치/크기를 일괄 복원
  • 창 탐색 도구 — 마우스로 원하는 창을 선택하여 프로필에 추가 (빨간 테두리로 대상 표시)
  • 글로벌 단축키 — 프로필별 단축키 지정, 백그라운드에서도 즉시 적용
  • 개별 필드 제어 — X, Y, 너비, 높이, 상태를 각각 적용할지 선택 가능
  • 매칭 조건 — EXE, 클래스명, 창 이름으로 대상 창을 정밀하게 매칭 (완전일치/포함)
  • 다국어 지원 — 한국어, English 기본 제공. 커뮤니티 번역 추가 가능
  • 테마 — 다크 모드, 라이트 모드, 시스템 설정 따라가기
  • 트레이 모드 — 시작 시 트레이로, 닫기 시 트레이로 설정 가능
  • 싱글 인스턴스 — 프로그램 중복 실행 방지

스크린샷

메인 화면

메인 화면

창 탐색 도구

창 탐색 도구

단축키 설정

단축키 설정

옵션

옵션

설치 및 실행

릴리즈 다운로드 (권장)

  1. Releases 페이지에서 최신 버전 다운로드
  2. 압축 해제
  3. SaveWindow.exe 실행 (관리자 권한 자동 요청)

폴더 구조

SaveWindow/
├── SaveWindow.exe          # 실행 파일
├── lang/                   # 언어 파일
│   ├── ko.json
│   └── en.json
├── profiles/               # 프로필 저장 (자동 생성)
└── config.json             # 설정 파일 (자동 생성)

lang/ 폴더와 profiles/ 폴더는 프로그램 첫 실행 시 자동으로 생성됩니다.

사용법

기본 흐름

  1. 윈도우 스캔 (Ctrl+R) — 현재 열린 창들을 목록에 가져옵니다
  2. 필요에 따라 항목을 편집하거나, 불필요한 항목을 제거합니다
  3. 프로필 저장 (Ctrl+S) — JSON 파일로 저장합니다
  4. 창 배치가 흐트러졌을 때 윈도우 적용 (Ctrl+A) — 저장된 위치로 복원합니다

창 탐색 도구

  1. 메뉴 또는 툴바에서 창 탐색 도구 클릭
  2. 탐색 시작 클릭
  3. 마우스를 원하는 창 위로 이동 (빨간 테두리로 대상 표시)
  4. 탐색 중지 또는 Esc 키로 고정
  5. 이 창 추가 클릭

글로벌 단축키

  1. 메뉴 > 윈도우 > 단축키 설정 클릭
  2. 추가 버튼으로 새 매핑 생성
  3. 단축키 입력 (예: Ctrl+Alt+1)
  4. 프로필 JSON 파일 선택
  5. 확인 — 이후 해당 단축키를 누르면 프로필이 즉시 적용됩니다

프로그램이 트레이에 있어도 단축키는 작동합니다.

옵션

메뉴 > 옵션 > 설정 에서 다음을 구성할 수 있습니다:

설정 설명
시작 프로그램 등록 Windows 시작 시 자동 실행
시작 시 트레이 모드 프로그램 시작 시 트레이에만 표시
종료 시 트레이로 X 버튼 클릭 시 트레이로 이동 (끄면 프로그램 종료)
테마 다크 / 라이트 / 시스템 설정
언어 시스템 자동 감지 또는 수동 선택

직접 빌드

요구 사항

  • Python 3.14+
  • Windows 11

명시된 요구 사항은, 개발자가 개발하고, 빌드한 환경입니다.

다른 버전에서는 테스트해보지 않았습니다.

빌드 방법

# 가상환경 생성 및 활성화
python -m venv .venv
.venv\Scripts\activate

# 의존성 설치
pip install -e ".[dev]"
pip install pyinstaller

# 빌드
scripts\build.bat

빌드 결과물은 dist/SaveWindow/ 에 생성됩니다.

빌드 후 배포

다음 파일/폴더를 함께 배포하세요:

dist/SaveWindow/            # PyInstaller 빌드 결과 전체
lang/                       # 언어 파일 (빌드에 자동 포함)

언어 추가 (기여)

SaveWindow는 lang/ 폴더의 JSON 파일로 다국어를 지원합니다. 누구나 새 언어를 추가할 수 있습니다.

방법

  1. lang/en.json 파일을 복사하여 lang/{언어코드}.json으로 저장 (예: lang/ja.json)
  2. _language_name 값을 해당 언어의 표시 이름으로 변경
{
  "_language_name": "日本語",
  "menu.file": "ファイル",
  ...
}
  1. 모든 키의 값을 번역
  2. 프로그램을 재시작하면 옵션 > 설정 > 언어에서 선택 가능
  3. PR을 보내주시면 기본 언어에 포함됩니다

JSON 파일 이름이 곧 언어 코드입니다. ISO 639-1 코드 사용을 권장합니다 (예: ko, en, ja, zh).

라이선스

MIT License

About

Save Window Position and Restore

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors