TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
SlimeZIP — 맥 메뉴바 아이콘을 슬라임이 물어 정리해 주는 앱
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
필요한 아이콘만 남기고, 나머지는 슬라임에게 맡기세요. 숨긴 아이콘이 늘면 점점 납작해집니다. 클릭하면 목록이 열리고, ⌥+클릭하면 바로 접고 펼 수 있어요. 무료로 쓰셨다면 별 하나 부탁드립니다. 만드는 사람에게는 그게 전부입니다. 영어 화면도 있습니다. 처음 켤 때 시스템 언어를 따르고, 직접 고르려면 슬라임 우클릭 → 설정 → 제작자 → 이 앱 → 언어에서 한국어 / English / 시스템 설정 따름 중에 고르시면 됩니다. 바꾸면 바로 반영되고 재시작은 필요 없습니다. 실제 동작입니다. ⌥를 누른 채 슬라임을 클릭 — 재시작 없이 즉시. 맥북·맥 스튜디오·맥 미니에서 아이콘이 스무 개를 넘어가면 세 가지가 동시에 일어납니다. 지금 메뉴바에 떠 있는 아이콘이 앱 이름과 함께 전부 나옵니다. • 맨 위 파란 버튼 — 꺼내 보기 / 다시 감추기. 재시작 없이 즉시. • 각 줄의 ‹ › — 순서 바꾸기 • 각 줄의 넣기 · 꺼내기 — 숨김 그룹 안팎으로 옮기기 • 주황 띠 — 적용을 기다리는 앱과 그 개수 • 맨 아래 — 버전 · 업데이트 확인 · 제작자 · 배너 시작하기 — 처음 열면 여기입니다. 3단계 사용법과 튜토리얼.README 전문 보기 ↗
필요한 아이콘만 남기고, 나머지는 슬라임에게 맡기세요. 숨긴 아이콘이 늘면 점점 납작해집니다. 클릭하면 목록이 열리고, ⌥+클릭하면 바로 접고 펼 수 있어요.
설치하기 · 소개 페이지 · 최신 릴리스 · 문제 해결
무료로 쓰셨다면 별 하나 부탁드립니다. 만드는 사람에게는 그게 전부입니다.
[!TIP] 영어 화면도 있습니다. 처음 켤 때 시스템 언어를 따르고, 직접 고르려면 슬라임 우클릭 → 설정 → 제작자 → 이 앱 → 언어에서
한국어/English/시스템 설정 따름중에 고르시면 됩니다. 바꾸면 바로 반영되고 재시작은 필요 없습니다.
실제 동작입니다. ⌥를 누른 채 슬라임을 클릭 — 재시작 없이 즉시.
| 무엇이 문제인가 | 아이콘이 스무 개를 넘어가면 생기는 일 |
| 어떻게 생겼나 | 실제 화면 |
| 무엇을 하나 | 기능 |
| 설치 | 1분 |
| 어떻게 쓰나 | 매일 하는 일과 한 번만 하는 일 |
| 설정 화면 | 네 개의 항목 |
| 어떻게 동작하나 | 측정한 값과 방식 |
| 개인정보 · 네트워크 | 무엇을 읽고 무엇을 안 보내는가 |
| 개발 | 빌드 · 테스트 · 진단 |
맥북·맥 스튜디오·맥 미니에서 아이콘이 스무 개를 넘어가면 세 가지가 동시에 일어납니다.
| 넘치면 그냥 사라집니다 | 경고도 표시도 없이 왼쪽부터 잘려 나갑니다. 노치가 있으면 더 빨리 없어집니다. |
| 어느 앱 것인지 모릅니다 | macOS 26부터 제어 센터가 아이콘을 대신 그려서, 창만 봐서는 주인을 알 수 없습니다. |
| 옮기려면 ⌘드래그뿐 | 하나씩 끌어서 옮기고, 어디에 뒀는지 다시 잊습니다. |
지금 메뉴바에 떠 있는 아이콘이 앱 이름과 함께 전부 나옵니다.
‹ › — 순서 바꾸기시작하기 — 처음 열면 여기입니다. 3단계 사용법과 튜토리얼.
아이콘 — 한 번에 여러 개를 정리할 때 편한 넓은 목록.
제작자 — Ai싱크클럽 링크와 이 앱의 버전·업데이트.
진단 — 이 맥에서 무엇이 되고 무엇이 안 되는지.
숨긴 개수가 늘어도 아이콘 폭은 변하지 않습니다. 숫자를 붙이면 자리를 더 먹으니, 대신 슬라임들이 같은 자리에서 서로를 눌러 찌부됩니다. 눈도 깜빡이고 가끔 숨도 쉽니다.
| 이름으로 식별 | 접근성 권한으로 각 앱이 게시한 정보를 읽어, Tailscale인지 카카오톡인지 이름으로 보여 줍니다. 이 맥에서 43개 중 35개를 이름까지 식별했습니다. |
| 클릭 한 번으로 넣고 빼기 | ⌘드래그로 씨름할 필요가 없습니다. 버튼으로 합니다. |
| 순서 바꾸기 | ‹ ›로 좌우로 옮깁니다. |
| SlimeZIP 자기 위치도 이동 | 패널의 "위치 ‹ ›". 이건 우리 아이템이라 재시작도 필요 없습니다. |
| 숨긴 사이 변화 알림 | 감춰 둔 아이콘이 바뀌면 슬라임이 움찔하고 주황 점이 찍힙니다. |
| 그룹 | 여러 그룹을 만들어 따로 접고 펼 수 있습니다. "항상 숨김" 그룹은 일반 클릭으로 열리지 않습니다. |
| 자동 업데이트 확인 | 새 버전이 나오면 패널에 뜨고, 버튼 한 번으로 받아서 스스로 교체합니다. |
| 한국어 · English | 시스템 언어를 따르고, 설정 → 제작자 → 이 앱 → 언어에서 직접 고를 수도 있습니다. 바꾸면 즉시 반영됩니다. |
| 쉬는 동안 CPU 0.0% | 폴링하지 않습니다. |
brew install --cask aisyncclub/slimezip/slimezip
한 줄로 탭 등록 · 설치 · 신뢰 등록까지 끝납니다. 그다음 시스템 설정 → 손쉬운 사용에서 켜 주세요.
SlimeZIP-*.dmg를 받습니다경고 없이 그냥 열립니다. v0.3.0부터 애플 공증(notarization)을 받았습니다. 예전에 있던 시스템 설정 → 확인 없이 열기 단계는 없어졌습니다.
curl -fsSL https://aisyncclub.github.io/slimezip/install.sh | bash
받아서 검증하고 응용 프로그램에 넣습니다. 게이트키퍼 판정이 통과하지 않으면 설치를 중단합니다. 먼저 읽어 보셔도 됩니다.
3번을 건너뛰게 해 주는 것뿐, 하는 일은 같습니다. 스크립트를 먼저 읽어 보셔도 됩니다.
화면 그림까지 있는 단계별 안내와 문제 해결은 설치 가이드에 있습니다.
두 가지 동작이 있고, 매일 쓰는 쪽은 재시작이 필요 없습니다.
| 동작 | 재시작 | 언제 |
|---|---|---|
| 패널 맨 위 꺼내 보기 / 다시 감추기 | 없음 | 매일 |
| 각 줄의 넣기 · 꺼내기 | 그 앱 1회 | 자리 정할 때만 |
파란 버튼은 구분자 길이만 늘였다 줄입니다. 저장된 위치를 건드리지 않으니 즉시 됩니다.
줄의 넣기·꺼내기는 아이콘을 경계 너머로 아예 옮기는 것이라 macOS에 저장된 위치를 다시 씁니다. macOS는 그 값을 앱이 시작할 때만 읽기 때문에 그 앱을 한 번 재시작해야 합니다. 한 앱에 아이콘이 여럿이어도 재시작은 한 번입니다.
| 클릭 | 패널 열기 |
| ⌥ + 클릭 | 접기 ↔ 펴기 바로 전환 |
| 우클릭 | 설정 · 종료 메뉴 |
와이파이·배터리·소리·블루투스는 macOS 26부터 제어 센터가 그립니다. 위치를 쓰는 것까지는 되지만, 메뉴바 절반을 그리는 프로세스를 아이콘 하나 때문에 끄지는 않습니다. 그런 항목은 재시작 대신 "다음 로그인에 적용" 으로 표시됩니다.
우클릭 → 설정. 왼쪽 사이드바에 네 개가 있습니다.
| 시작하기 | 앱 소개, 3단계 사용법, 튜토리얼, 아직 안 되는 것 |
| 아이콘 | 넓은 목록에서 한 번에 여러 개 정리 |
| 그룹 | 그룹 추가·이름·동작 방식 |
| 제작자 | Ai싱크클럽 링크, 이 앱의 버전과 업데이트 |
macOS가 이 영역을 두 번 연속 깨뜨렸습니다. macOS 26 Tahoe가 윈도우 소유자 정보를 오염시켰고, macOS 27 Golden Gate가 메뉴바 구조를 통째로 바꿔 Bartender · Ice · Barbee · Thaw · BetterTouchTool이 전부 동작 불능이 됐습니다. 측정 근거는 docs/RESEARCH.md에 있습니다.
그래서 설계 원칙은 런타임 능력 탐지입니다. 기능을 하드코딩하지 않고 OS에 물어본 뒤 되는 것만 UI에 노출합니다. 안 되면 조용히 실패하는 대신 배너로 말합니다.
UI ──────────────────────── Capabilities에 따라 기능을 켜고 끔
MenuBarEngine ───────────── 그룹·순서·상태의 단일 진실
HidingStrategy (프로토콜) ── ★ OS가 바뀌어도 여기까지만 다시 씀
└ SpacerStrategy 길이 팽창 · 권한 0개 · macOS 14–26
└ (Phase 2) BridgeStrategy 열거 · 이동 · 원격 클릭
그룹마다 보이지 않는 구분자 하나를 메뉴바에 둡니다. 접을 때 그 구분자의 길이를 화면 폭의 두 배로 부풀리면, 구분자보다 왼쪽에 있는 아이콘이 전부 화면 밖으로 밀려납니다. 펼 때는 다시 1pt로 줄입니다. 권한도, 비공개 API도 필요 없습니다.
그래서 "숨긴다"는 건 구분자 왼쪽에 둔다는 뜻이고, 아이콘을 그쪽으로 옮기는 것이 위치를 다시 쓰는 유일한 순간입니다.
전부 이 맥(맥 스튜디오, macOS 26.5)에서 직접 재서 기록한 것입니다.
| 43개 | 접근성 스윕으로 열거된 메뉴바 아이템 |
| 35개 | 앱 이름까지 식별한 아이콘 |
| 22pt | 몇 개를 물든 변하지 않는 아이콘 폭 |
| 0.0% | 쉬는 동안 CPU 사용률 |
macOS가 무엇을 허용하고 무엇을 막는지도 측정했습니다.
| 열거 · 식별 | ✅ 접근성 스윕으로 가능 |
| 숨기기 | ✅ 구분자 길이 팽창으로 가능 |
| 원격 클릭 | ✅ AXPress로 가능 |
| 접근성으로 위치 쓰기 | ❌ 34개 중 0개 성공 |
| 합성 ⌘드래그 | ❌ 0pt 이동 |
| 저장된 위치 쓰기 + 대상 앱 재시작 | ✅ 가능 (461 → 792 확인) |
마지막 줄이 지금 방식입니다.
여섯 시간에 한 번, 그것도 패널을 열 때만 두 곳을 읽습니다.
| 무엇을 | 어디서 |
|---|---|
| 새 버전이 나왔는지 | api.github.com/repos/aisyncclub/slimezip |
| 아래 띠에 띄울 문구 | app-config.json (이 저장소의 GitHub Pages) |
보내는 것은 없습니다. 아이콘 목록도, 사용 기록도, 식별자도 어디에도 올라가지 않습니다. 접근성 권한은 읽기에만 씁니다 — 키 입력을 가로채거나 기록하지 않습니다. 소스에서 확인하실 수 있습니다.
끄려면:
defaults write com.zipbar.ZipBar com.zipbar.checkForUpdates -bool NO
버튼으로 직접 누르는 "업데이트 확인"은 이 설정과 무관하게 동작합니다. 묻지 않았는데 연락받기 싫은 것과, 물었을 때 답을 듣는 것은 다른 이야기입니다.
Xcode는 필요 없습니다. Command Line Tools만으로 빌드됩니다.
swift build && swift test # 빌드 + 테스트 (113개)
./scripts/build-app.sh # dist/SlimeZIP.app 만들기
./scripts/release.sh v0.2.0 # 버전 기록 + 빌드 + 압축 + GitHub 릴리스
OS 업데이트 후 무엇이 깨졌는지 확인합니다. 베타가 나오면 가장 먼저 돌립니다.
./.build/debug/zipbar-probe capabilities # 각 백엔드가 되는지 요약
./.build/debug/zipbar-probe list # 열거 결과 전체
./.build/debug/zipbar-probe ax # 접근성 스윕 상세 (권한 필요)
UI는 주장하지 않고 그려서 확인합니다. 아래 환경 변수로 실행하면 실제 뷰 계층을 PNG로 씁니다 — 화면 기록 권한도, 사람이 앉아 있을 필요도 없습니다.
ZIPBAR_PROBE_PANEL_SHOT=1 ZIPBAR_PANEL_OUT=/tmp/panel.png # 패널
ZIPBAR_PROBE_SETTINGS_SHOT=1 ZIPBAR_SETTINGS_TAB=creator # 설정 (탭 선택)
ZIPBAR_PROBE_UPDATE=1 # 업데이트 전 과정
이 README의 화면 그림도 전부 이걸로 찍었습니다.
접근성 권한을 쓰므로 샌드박스가 불가능하고 Mac App Store에 올릴 수 없습니다. 직접 배포가 유일한 경로입니다.
v0.3.0부터 애플 공증을 받습니다. 앱과 DMG를 각각 제출하고 티켓을 붙여서 내보내므로, 받는 쪽에서는 경고 없이 열립니다. Homebrew cask 등록도 이제 가능합니다.
절차와 함정은 docs/NOTARIZE.md에 적어 뒀습니다.
release.sh는 인증서와 자격증명이 갖춰지면 자동으로 공증하고, 없으면 건너뛰면서
그렇다고 말합니다. 조용히 공증 없이 나가는 릴리스는 공증된 것과 겉보기가 똑같습니다.
버그 제보와 PR 환영합니다. 이슈에 무엇을 하려다 어디서 멈췄는지, macOS 버전과 함께 적어 주시면 빠릅니다.
무료이며 소스가 공개돼 있습니다.
Ice는 GPL-3.0입니다. 향후 라이선스 유연성을 위해 Ice 소스는 읽지도 참조하지도
않습니다. 동작만 관찰합니다.
여기까지 읽으셨다면, 별 하나 부탁드립니다. ⭐
SlimeZIP · Ai싱크클럽 · 싱크 제작 · macOS 14+ · 무료 · 오픈소스