크라우니터미널 B2 — 윈도우 지원 + 다운로드 페이지 + ANSI 커서 + 동적 탭
개요
크라우니터미널을 맥/윈도우/웹 3플랫폼에서 다운로드+즉시 사용 가능하도록 확장.
무엇을 했는지
1. Windows 네이티브 앱 (신규)
/Users/ef/crowny-terminal-native/src/app_win.c — 1034줄
- Win32 API + ConPTY 터미널 에뮬레이터
- ANSI 컬러 (16/256/RGB) + 커서 이동 (A/B/C/D/H/J/K) 완전 지원
- 탭 컨트롤 (Ctrl+T 추가, Ctrl+W 닫기), 파일 트리뷰
- 다크 테마 (#0a0a0d), Cascadia Code/Consolas 폰트
- 스크롤백 2000줄, 스크린 버퍼 기반 렌더링
- MinGW 크로스컴파일 성공:
build/크라우니터미널.exe (178KB, PE32+ x86-64)
2. macOS 앱 B2 업그레이드
/Users/ef/crowny-terminal-native/src/app.m — 1158줄 (649→1158)
- 스크린 버퍼 모델 (ScreenCell 구조체, 행x열 그리드)
- ANSI 커서 이동: CSI A/B/C/D/H/J/K/L/M/P/@/d/s/u + BS/CR/LF/TAB
- 동적 탭: Cmd+T (새 터미널), Cmd+W (탭 닫기), Cmd+Shift+]/[ (탭 이동)
- 편집 메뉴: Cmd+C/V/A (복사/붙여넣기/전체선택)
- 스크롤백 5000줄
- 리사이즈 시 TIOCSWINSZ + SIGWINCH 전파
3. 다운로드 페이지
/Users/ef/crowny-terminal/web/download.html — terminal.crowny.org/download
- 맥/윈도우/웹 3개 카드, 다크 테마, 반응형
- 시작하기 가이드 + 요구사항
4. 데몬 업데이트
/Users/ef/crowny-terminal/src/daemon.js — /download, /downloads/* 라우트 추가
- UTF-8 파일명 content-disposition 헤더 수정 (ERR_INVALID_CHAR 해결)
5. 빌드 인프라
Makefile.win — MSVC + MinGW 크로스컴파일
package.sh — Mac .app + Windows .exe → zip → downloads/ 자동 패키징
6. 한선씨 동반 (4파일)
윈도우앱.한선 — ConPTY/탭/화면버퍼 로직 (맵 기반)
다운로드.한선 — 플랫폼 감지 + 경로 생성
화면버퍼.한선 — 셀/커서/줄지우기/스크롤 (에이전트 생성)
앱.한선 — 기존 탭 설정 (유지)
관련 파일
/Users/ef/crowny-terminal-native/ — 네이티브 앱 (Mac + Windows)
/Users/ef/crowny-terminal/ — 데몬 + 웹 UI + 다운로드
/Applications/크라우니터미널.app — 설치된 맥 앱 (B2)
빌드 결과
| 플랫폼 | 바이너리 | 크기 | 패키지 |
|---|
| macOS (arm64) | 크라우니터미널.app | 192KB | 크라우니터미널-mac.zip (51KB) |
| Windows (x64) | 크라우니터미널.exe | 178KB | 크라우니터미널-win.zip (58KB) |
| 웹 | xterm.js hub | — | terminal.crowny.org |
잔여
- codesign / 공증 (Apple Developer 계정 필요)
- Windows 실제 테스트 (크로스컴파일만 검증)
- B3: WKWebView 제거 → 한선씨 렌더러