노치(Notch)를 피해 새로운 macOS 홈을 찾은 Tailscale
VPN 및 네트워크 연결 서비스인 Tailscale이 노치(Notch)가 있는 MacBook 환경에서 메뉴 막대 아이콘이 숨겨지는 문제를 해결하는 완전히 새로운 창(Window) 기반 UI를 출시했습니다. 기존에는 아이콘이 가려져 접근할 수 없었던 문제를 Apple의 occlusionState 데이터를 활용해 임시 경고창으로 땜질했으나, 이제 보다 우아한 해결책인 독립된 앱 창 형태의 인터페이스를 제공하게 되었습니다. 이번 업데이트는 macOS 사용성을 크게 개선하며, 향후 다른 macOS 개발자들에게도 UI 렌더링 이슈 해결에 대한 좋은 영감을 제공합니다.
블로그 | 인사이트 2026년 3월 27일
노치(Notch)를 피해 새로운 macOS 홈을 찾은 Tailscale
Tailscale은 사용자와 모든 기기를 연결할 때 거의 보이지 않는 듯한 느낌을 주어야 합니다. 하지만 일부 MacBook에서는 한동안 그 존재가 너무 안 보일 때가 있었습니다. 우리는 이 문제를 해결하기 위해 두 가지 수정 사항을 마련했습니다. 하나는 작고 약간 특이한 방법이며, 다른 하나는 지금 macOS에서 사용할 수 있는 정말 유용한 기능입니다.
대부분의 Mac 사용자에게 이 작고 특이한 해결책은 머지않아 과거의 유물이 될 것입니다. 저는 이 글을 통해 이를 기록하고자 합니다. 다른 개발자들에게 도움을 주고, 이 순간을 기록하며, 우리의 창(Window) 기반 macOS 인터페이스가 이제 정식으로 사용 가능해진 것에 대해 조용히 자랑하고 싶습니다. 그래서 Tailscale 아이콘이 어둠 속으로 숨어버렸던 문제, 이를 우회했던 작은 방법, 그리고 우리가 찾은 더 나은 해결책에 대해 이야기해 보겠습니다.
"결국에는 정해진 곳에 배치될 뿐입니다"
macOS 데뷔 당시, Tailscale은 명령줄(Command-line) 도구와 메뉴 막대(Menu bar) 유틸리티였습니다. 2021년 MacBook Pro 모델부터 시작된 일부 MacBook은 화면 상단 중앙에 노치(Notch)를 가지고 있습니다. 그리고 메뉴 막대 아이콘을 사용하는 다른 앱이 얼마나 많이 실행 중인지에 따라 Tailscale 앱의 아이콘이 그 노치 안에 숨겨질 수 있습니다. 전통적으로 복잡한 설정보다 단순한 기능을 선호하는 회사인 Apple은 사용자나 개발자에게 이 어둠(숨겨진 영역)에서 벗어날 방법을 제공하지 않습니다.
노치 오른쪽에 사용 가능한 공간보다 메뉴 막대 아이콘이 더 많아지면, 메뉴 막대 항목들은 그저 노치라는 허공 속으로 사라집니다. 보이지 않으면 클릭할 수도 없습니다. 사용자에게 알려주는 알림도, 넘친 아이콘들을 모아두는 영역도, 메뉴 막대 항목을 재배치할 수 있는 옵션도 없습니다. 글을 쓰는 현재, Apple은 자체 시스템 아이콘들을 새로 디자인된 제어 센터(Control Center)로 옮기거나, 다소 우아하지 않은 "카메라 아래에 맞춰 비율 조정(Scale to fit below camera)" 옵션을 제공하는 등 간접적인 우회 방법을 제공하고 있습니다. ICE나 Bartender 같은 서드파티 메뉴 막대 관리 앱이 도움이 될 수는 있지만, 이는 복잡성과 오버헤드를 추가할 뿐입니다.
"우리는 메뉴 막대에서 사물이 렌더링되는 위치를 전혀 통제할 수 없습니다."라며 한 Tailscale 엔지니어는 솔직한 의견을 나누기 위해 익명을 조건으로 말했습니다. "그저 '나는 메뉴 막대 앱이고 싶어'라고 말할 뿐입니다. 시스템이 그것을 상단에 밀어 넣고, 그게 끝입니다. 결국 정해진 곳에 배치될 뿐이죠."
이런 있든 없든 한 상태 때문에, 노치가 있는 MacBook이 출시된 후 Tailscale 개발자들은 사용자로부터 수많은 버그 보고서를 받았습니다. 사용자들의 Tailscale 아이콘이 화면 중앙의 저 멀리 사라졌기 때문입니다. 엔지니어는 말했습니다. "사용자들은 '사실 저는 Tailscale을 찾을 수가 없어요. 사라졌어요. 실행이 안 되나 봐요.'라고 했습니다. 저희는 '아닙니다. 거기 있습니다. 그냥 노치 뒤에 숨어있을 뿐이에요.'라고 답했습니다. 하지만 저희도 그런 설명이 지겨워졌죠."
숨겨져 있지만 말은 할 수 있습니다
Mac 메뉴 막대 아이콘은 자신이 픽셀도 없는 유령 영역에 갇혀 있다는 것을 알지 못할 수 있지만, 무언가가 자신을 가리고 있다고 보고할 수는 있습니다. Apple의 occlusionState 데이터를 사용하여 Tailscale 앱은 자신의 아이콘이 메뉴 막바의 중간 지대에 있다는 것을 인지할 수 있습니다. 비록 이동할 수는 없지만, 말은 할 수 있습니다. 구체적으로, 팝업 메시지를 통해 다음과 같이 띄울 수 있습니다:
이 친절한 경고는 결코 완벽하지 않습니다. 노치 경고는 MacBook 화면을 열고 닫거나, 모니터 간에 이동하거나, 이 두 가지가 혼합된 다른 디스플레이 특성으로 인해 의도치 않게 트리거될 수 있습니다. 하지만 이는 한동안 '내 Tailscale 설정이 어디 있지?'라는 문제를 분류하고 해결하는 데 큰 도움이 되었습니다.
노치, 그리고 우리가 이를 피해 가는 방법
Apple이 이 문제를 근본적으로 예방하기 위해 몇 가지 변경을 가할 수도 있었습니다. 시스템이 메뉴 막대 아이콘이 노치 영역에 렌더링되는 것을 원천 차단할 수도 있습니다. 넘침(Overflow) 메커니즘을 통해 노치라는 음수 영역으로 떨어질 아이콘들을 겹겹이 쌓을 수도 있습니다. 또는 개발자들에게 아이콘의 노치 상태에 대한 더 많은 정보와 도구를 제공할 수도 있습니다.
그동안 우리는 우리 앱이 숨겨졌을 때 경고를 울릴 수 있도록 했던 Swift 코드를 살펴보았습니다. 이 방식은 새로운 창(Window) 기반 앱에서는 더 이상 필요하지 않을 것입니다. 단, 새 창 클라이언트 옵션에서 "Dock 아이콘 숨기기"를 활성화한 경우에는 예외입니다. 이 경우에는 여전히 앱이 숨겨져 있다는 특성을 경고할 것입니다.
self.visibilityObserver = NotificationCenter.default.ad...