피드로 돌아가기
Building a Menubar App with Tauri v2 — What Nobody Tells You
Dev.toDev.to
Frontend

Tauri v2 기반 Menubar App의 UX 최적화 및 윈도우 생명주기 설계

Building a Menubar App with Tauri v2 — What Nobody Tells You

hiyoyo2026년 5월 13일2intermediate

Context

Tauri v2의 기본 Tray Icon 지원에도 불구하고 윈도우 좌표 계산, 포커스 제어, OS 통합 설정 등 세부 UX 구현을 위한 가이드 부족. 특히 구형 하드웨어에서의 성능 제약과 macOS 시스템 레벨의 UI 동작 방식에 따른 엣지 케이스 대응 필요.

Technical Solution

  • LSUIElement 설정을 통한 Dock 및 App Switcher 노출 제거로 Menubar 전용 앱의 인터페이스 정체성 확보
  • Tray Icon의 PhysicalRect 좌표를 기반으로 윈도우 중앙 정렬 및 화면 경계 오프셋을 계산하는 동적 포지셔닝 로직 구현
  • Create/Destroy 방식 대신 Show/Hide 전략을 채택하여 메모리 상의 State 유지 및 구형 하드웨어의 응답 속도 개선
  • WindowEvent::Focused(false) 이벤트를 활용한 자동 숨김 기능을 구현하되, Child Window 오픈 시 플래그 처리를 통한 예외 제어
  • Rust 기반의 TrayIconBuilder와 Manager를 활용한 OS 이벤트 리스너 및 윈도우 상태 제어 루프 설계

- macOS 전용 앱 설계 시 tauri.conf.json 내 LSUIElement 설정 여부 확인 - 윈도우 생성 비용을 줄이기 위해 상태 유지형 Show/Hide 패턴 적용 검토 - Tray Icon 위치 기반의 좌표 계산 시 보조 모니터 및 화면 끝단 영역의 Clipping 처리 여부 검증 - 포커스 소실 시 자동 숨김 로직 적용 전, 파일 피커 등 모달 윈도우와의 상호작용 예외 처리 구현

원문 읽기