Tailscale의 새로운 macOS 홈

3 hours ago 1
  • MacBook 노치 디자인으로 인해 메뉴 막대 아이콘이 가려지는 문제를 해결하기 위해 Tailscale이 새로운 macOS용 윈도우형 인터페이스를 도입함
  • 초기에는 아이콘이 노치 뒤로 숨겨질 때 팝업 알림을 띄우는 임시 대응을 사용했으나, 이제는 완전한 독립 실행형 UI로 전환됨
  • 새 인터페이스는 버전 1.96.2부터 기본 활성화되며, Taildrop, Exit Node, 장치 검색 등 주요 기능을 시각적으로 제공함
  • 메뉴 막대 아이콘의 가려짐 감지 로직은 여전히 유지되어, 사용자가 아이콘을 찾지 못하는 문제를 방지함
  • 이번 변화는 macOS 사용자 경험을 개선하고, 향후 Windows용 유사 UI 개발로 확장될 예정임

MacBook 노치 문제와 Tailscale의 새로운 macOS 인터페이스

  • Tailscale은 사용자의 모든 기기를 연결할 때 거의 보이지 않게 동작해야 하지만, 일부 MacBook의 노치 디자인으로 인해 메뉴 막대 아이콘이 사라지는 문제가 발생함
  • 이를 해결하기 위해 임시 알림 방식과 새로운 macOS용 윈도우형 인터페이스라는 두 가지 접근이 도입됨
  • 초기에는 아이콘이 노치 뒤로 숨겨질 때 사용자에게 알림을 띄우는 방식이 사용되었으나, 이후 완전한 독립 실행형 UI가 추가되어 접근성과 기능성이 향상됨
  • 새로운 인터페이스는 버전 1.96.2부터 기본 활성화되며, Taildrop, Exit Node, 장치 검색 등 주요 기능을 시각적으로 제공함
  • 이 변화는 macOS 사용자 경험을 개선하고, 향후 Windows용 유사 UI 개발로 이어질 예정임

노치로 인한 메뉴 막대 아이콘 문제

  • 2021년형 MacBook Pro부터 화면 상단 중앙에 노치가 생기면서, 메뉴 막대 아이콘이 노치 영역에 가려지는 현상이 발생함
    • 메뉴 막대에 표시할 아이콘 수가 많을 경우 일부 아이콘이 노치 뒤로 사라져 클릭할 수 없게 됨
    • macOS는 이러한 상황에 대한 알림, 오버플로 메뉴, 아이콘 재배치 기능을 제공하지 않음
  • Apple은 일부 간접적 해결책을 제공했으나 완전하지 않음
    • 시스템 아이콘을 Control Center로 이동하거나
    • Scale to fit below camera” 옵션으로 화면 비율을 조정하는 방식
  • ICE, Bartender 같은 서드파티 앱이 메뉴 막대 아이콘을 관리할 수 있지만, 추가적인 복잡성과 리소스 부담이 있음
  • Tailscale 엔지니어는 “메뉴 막대 앱으로 등록하면 macOS가 위치를 임의로 정한다”며, 개발자가 제어할 수 없음을 언급함
  • 노치 이후 사용자들이 “Tailscale이 실행되지 않는다”고 보고했으나, 실제로는 아이콘이 노치 뒤에 숨겨져 있었음

아이콘 감지 및 사용자 알림 기능

  • macOS의 occlusionState 데이터를 활용해 Tailscale 아이콘이 가려졌는지 감지 가능
  • 아이콘이 숨겨진 상태에서도 팝업 메시지를 띄워 사용자에게 알림 제공
    • 메시지 내용: “Tailscale 아이콘이 노치 뒤에 숨겨져 있습니다. 다른 아이콘을 정리하거나 제거하세요.”
  • 이 경고는 완벽하지 않으며, 화면 전환, 노트북 덮개 개폐, 외부 모니터 연결 등으로 인해 잘못 표시될 수 있음
  • 그러나 일정 기간 동안 “Tailscale 설정을 찾을 수 없음” 문제를 완화하는 역할을 함

Swift 코드 기반의 노치 감지 로직

  • 앱이 숨겨졌을 때 이를 감지하도록 Swift 코드를 구현함
    • NSWindow.didChangeOcclusionStateNotification을 감시하여 아이콘의 가시 상태를 확인
    • occlusionState.contains(.visible) 값이 false일 경우 아이콘이 가려진 것으로 판단
  • 새로운 윈도우형 앱에서는 이 코드가 불필요하지만, Dock 아이콘 숨김 옵션을 활성화하면 여전히 동작 가능

새로운 macOS용 윈도우형 인터페이스

  • Tailscale 1.96.2 버전부터 기본 활성화된 윈도우형 UI는 메뉴 막대 앱과 함께 실행 가능
    • Dock이나 Spotlight 검색을 통해 실행 가능
    • Tailnet 장치 목록, 연결 상태, 파일 전송(Taildrop), Exit Node 선택 등 주요 기능을 시각적으로 제공
  • 주요 기능 항목
    • 장치 검색 및 연결 상태 표시

    • Ping, IP 복사, Taildrop 전송 기능

    • 지연 시간·성능·위치 기반 추천 Exit Node

    • Dock 아이콘의 빨간 점 표시로 오류 알림

    • 최소화된 ‘미니 플레이어’ 모드

      • 설치 또는 업데이트 시 기능 투어 제공
      • 사용자 피드백을 수집해 인터페이스를 개선 중이며, Windows용 유사 UI도 개발 중
      • Tailscale은 기능적 효율성과 함께 ‘기능적 유머감각(functional whimsy)’ 을 유지하려는 방향을 강조함
Read Entire Article