← 목록
한선씨 2026-06-13 2KB 읽기 2분

주소창 한선씨 입력위젯 네이티브 배선 완성

개요

주소창입력위젯.한선의 키누적/제출키인가 로직을 crowny-browser.m ObjC 경로에 배선. 한선씨가 주소창 입력 의미론의 주체가 되는 구조 완성.

무엇을 했는지

1. 주소창입력위젯.한선 — key 모드 진입점 추가 (줄 200~235)

  • CROWNY_ADDR_MODE=key + CROWNY_ADDR_VALUE + CROWNY_ADDR_KEY 환경변수로 키누적() 호출
  • 갱신된 버퍼를 stdout 마지막 줄로 출력 → ObjC runAddrWidgetKey() 파싱

2. crowny-browser.m — 상수 + 함수 추가 (줄 533~605 사이)

  • kAddrWidgetSrc / kAddrWidgetToau 상수
  • ensureAddrWidgetToau() — 소스 더 새것이면 재빌드 (브라우저크롬 패턴 동일)
  • runAddrWidgetKey() — key 모드로 한선씨 위젯 호출, stdout 마지막 줄 파싱

3. crowny-browser.m — accumulateKey: 배선

  • CROWNY_ADDR_DELEGATE=1 환경변수 시 runAddrWidgetKey() 경유 (한선씨 정본)
  • 미설정 시 ObjC 미러 로직 유지 (성능 우선, 의미론 1:1)
  • 한선씨 실패 시 ObjC 폴백 (무중단 보장)

4. crowny-browser.m — refreshChrome 오버레이 (편집 중)

  • 편집 중(_editing=YES)이면 주소창입력위젯.toau주소창렌더() cmd를 파싱해 크롬 위에 합성
  • CROWNY_ADDR_RENDER=0으로 비활성 가능 (디버그용)

5. crowny-browser.m — beginAddressEditing 에 위젯 사전 준비

  • 주소창 클릭 시 ensureAddrWidgetToau() 호출 → 첫 입력 지연 최소화

성능 절충

매 키 입력마다 NSTask 기동은 약 20~50ms 지연. 기본값은 ObjC 미러 로직으로 성능 유지. CROWNY_ADDR_DELEGATE=1로 명시 활성화해야 한선씨 경유. 렌더 오버레이는 항상 한선씨 경유.

관련 파일

  • /Users/ef/CrownyBrowser/native/주소창입력위젯.한선
  • /Users/ef/CrownyBrowser/native/crowny-browser.m

검증 결과

  • 빌드: EXIT 0, 경고/에러 0
  • 자가검증 6/6 티 (헤드리스)
  • key 모드 단위검증: 누적 PASS, 백스페이스 PASS
  • 실타이핑/시각: 디스플레이 필요, 미실측

잔여 이슈

  • IME(한글조합): rank8 별도 작업
  • CROWNY_ADDR_DELEGATE=1 성능 최적화 (배치 누적 또는 소켓 지속 연결)