How notch traversal works on MacBooks
Blog

How notch traversal works on MacBooks

Kevin Purdy
2026.04.04
·Web·by 이호민/AI
#developer#macOS#notch#Tailscale#UI

핵심 포인트

  • 1Tailscale은 2021년 이후 MacBook Pro 모델의 notch에 macOS menu bar 아이콘이 가려지는 문제에 직면했으며, Apple은 이에 대한 직접적인 해결책을 제공하지 않아 사용자 혼란을 야기했습니다.
  • 2문제에 대한 단기적인 해결책으로 Tailscale은 Swift의 `occlusionState`를 활용하여 아이콘이 가려진 것을 감지하고 사용자에게 팝업 메시지를 통해 알렸지만, 이는 완벽하지 않은 임시방편이었습니다.
  • 3궁극적인 해결책은 macOS client 버전 1.96.2부터 기본으로 활성화된 새로운 windowed macOS UI이며, 이는 menu bar 앱과 함께 실행되며 Dock 또는 Spotlight에서 접근하여 향상된 기능과 함께 아이콘 가림 문제를 해결합니다.

Tailscale은 2021년부터 출시된 MacBook Pro 모델의 노치(notch) 디자인으로 인해 macOS 메뉴 바(menu bar)에 위치한 자사 아이콘이 가려지는 문제를 해결하기 위한 두 가지 방법을 제시했다.

첫 번째는 임시적이고 다소 독특한 해결책이다. Tailscale은 아이콘이 노치에 의해 가려졌는지 감지하기 위해 NSWindow.didChangeOcclusionStateNotification을 활용한다. 이는 statusItemButton.windowocclusionState.visible 상태를 포함하지 않을 때(즉, occlusionState.contains(.visible)==falseocclusionState.contains(.visible) == false일 때) 아이콘이 가려졌음을(isIconOccluded 변수 업데이트) 감지한다. 아이콘이 가려진 것으로 확인되면, 사용자에게 팝업 경고 메시지를 표시하여 Tailscale이 숨겨져 있음을 알린다. 이 방법은 MacBook 뚜껑 개폐나 모니터 전환과 같은 다른 디스플레이 동작에 의해 잘못 트리거될 수 있다는 한계가 있다.

두 번째이자 근본적인 해결책은 새로운 Windowed macOS Interface를 도입하는 것이다. 이 인터페이스는 기존 메뉴 바 앱을 대체하지 않고, Dock이나 Spotlight 검색을 통해 접근 가능한 별도의 창 형태로 실행된다. 버전 1.96.2부터 기본으로 활성화된 이 인터페이스는 다음과 같은 주요 기능을 제공한다:

  • Tailnet 장치 및 연결 상태를 검색 가능한 목록으로 표시.
  • 장치에 대한 ping, IP 주소 복사, Taildrop을 통한 파일 전송 기능.
  • Exit node에 쉽게 접근할 수 있으며, 지연 시간, 성능 및 위치를 기반으로 추천되는 옵션 제공.
  • 치명적인 오류 발생 시 Dock 아이콘에 빨간색 점 표시.
  • Tailscale을 최소한의 형태로 축소하는 "mini player" 기능.
  • 설치/업데이트 시 모든 기능에 대한 제품 투어(product tour) 제공.

이 Windowed Interface는 메뉴 바 아이콘의 가시성 문제와 관계없이 사용자에게 Tailscale의 다양한 기능에 접근하고 제어할 수 있는 안정적인 방법을 제공함으로써 근본적인 해결책이 된다.