"액자는 창이 맡고 그림은 CSS가 맡아. 커스텀해 보이는 앱은 그 경계를 흐려 — 일부러."
액자 쪽 손잡이들
창 chrome은 속성 몇 개로 정해. tauri.conf.json에 적어도 되고 빌더로 줘도 돼. decorations(OS 타이틀바랑 테두리 — 직접 그릴 거면 꺼), transparent(뒤가 비치게), always_on_top(다른 앱 위로 떠), resizable, min/max inner size, shadow. 이게 상자의 모양을 잡고, 안은 네 HTML이랑 CSS가 채워.
액자를 없애면
decorations(false)를 주면 OS 타이틀바가 사라져 — 이제 네가 직접 그려야 해. 근데 액자가 없어진 창은 없어진 그 타이틀바로 끌 수가 없잖아. 그래서 HTML의 한 영역을 data-tauri-drag-region으로 표시해서 끌 손잡이로 만들어. 그 요소가 '여기 잡고 창을 옮겨' 구역이 되는 거야. 앱이 자기 버튼을 단 커스텀 헤더바를 갖고도 네이티브 창처럼 움직이는 게 이 방법이야.
투명도는 플랫폼을 많이 타
transparent(true)로 떠 있는 패널이나 모서리가 둥근 비사각형 창을 만들 수 있는데, OS 컴포지터랑 얽히는 방식이 플랫폼마다 달라. CSS(투명하거나 반투명한 배경)랑 짝을 이뤄야 하고. macOS에선 titleBarStyle로 반투명 타이틀바 아래까지 콘텐츠를 밀어 넣을 수도 있어. 투명도는 내보낼 플랫폼마다 꼭 확인해 — 네 Mac에선 완벽한데 Linux에선 이상하게 나오는, 딱 그런 종류의 기능이거든.