lo-cafe / nootch-oc
git clone https://github.com/lo-cafe/nootch-oc.git
NOOTCH! (priorly NotchNook) β turn your MacBook notch into something useful. Support dev: patreon.com/loficafe
β
stars, 24h
+33
stars, 7 days Β· #1,227
+33
stars, 30 days Β· #8,312
33
β
total Β· +33% this week
12
forks Β· 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageSwift
Licenseβ
Created2026-10-13 (7d ago)
Last push7d ago
Watchers0
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/lo-cafe/nootch-oc
- Homepage: https://www.patreon.com/loficafe
- Releases Β· Issues Β· Hacker News mentions
README excerpt
### π π£ π π§ π₯ π’ π‘ γ π π γ π π’ π₯ γ π π’ π ' π¦ γ π¦ π π π π **π₯π§π¨π©π¦πͺ βͺ πΎ πΉππππππ ππππ π»πππΆππΎππ π ππππΎππ β« πͺπ¦π©π¨π§π₯** `ββββ` Β β£βββ’ βββ ββ’ ββ‘ββ Β· β£ββ βββ₯ ββ’ βββ£ Β `ββββ` πͺ πΈ πͺ π° πͺ πΈ πͺ π° πͺ πΈ πͺ π° πͺ πΈ πͺ **β πππππππ.πππ/ππππππππ β** every single penny keeps the notch alive. no pressure. (lots of pressure.) --- # NotchNook **Your MacBook notch is a black rectangle doing nothing. NotchNook gives it a job.** > [!TIP] > ### π Meet Nootch, the successor > **Nootch** is NotchNook's commercial and spiritual successor. If you just want a polished notch app that keeps getting updates, get it at **lo.fi/nootch**. > This repo stays here as the open-source original, for tinkering, learning, and building for yourself. --- ## β¨ What it does NotchNook draws an interactive UI around the MacBook notch. Hover over it and **the Nook** expands into a strip of widgets: | | Widget | | |---|---|---| | π΅ | **Media Player** | Now playing, album art, and playback controls for any media source | | π | **Calendar** | Upcoming events with a smooth, scrollable day strip | | π | **Notes** | Rich-text notes, right in the notch | | β | **Todos** | A quick checklist that stays out of the way | | β±οΈ | **Timer** | Scroll-wheel timer with haptics and a Liquid Glass pill | | πͺ | **Mirror** | A one-tap camera mirror before that call | | β‘ | **Shortcuts** | Run your macOS Shortcuts from the notch | It also has: - π₯ **The Tray**: drag files onto the notch to park them, then drag them out later. - π― **Drop area**: a target for files in transit. - π΄ **Live activities**: battery, Bluetooth, and media indicators next to the notch. - π₯οΈ **Multi-display support**: one notch per screen, rebuilt on the fly when displays change. - π **Localization**, crowdsourced through Crowdin. ## π οΈ Building from source **Requirements:** macOS 14.4+, Xcode with the macOS 26 SDK (for the Liquid Glass code paths). [code] Xcode resolves every Swift package on first open. Select the `NotchNook` scheme and press **Run**. ### Build variants | Variant | How | Notes | |---|---|---| | **Standalone** | Default `Debug` / `Release` | Uses Sparkle for auto-updates | | **Setapp** | `SETAPP_BUILD` compilation condition | No Sparkle; uses Setapp licensing | Code that touches updates, licensing, or the About screen needs to compile under **both** variants (`#if !SETAPP_BUILD`). Release tooling (signing, notarization, appcast) lives in `scripts/`. You'll need your own Developer ID certificate. ## π§ Architecture, briefly - **AppKit-hosted, SwiftUI-rendered.** `WindowsManager` owns one borderless, transparent window per screen. Each window roots a `RootView` β `NotchView`. - **Settings live in `Defaults`.** Each settings group is one `Codable` struct in `extensions/Defaults.swift`. `RootView` injects every group into the SwiftUI environment. - **Widget data** (notes, todos) is stored with **SwiftData** in one shared `ModelContainer`. - **Widgets** sit on a 50pt grid (`NookGrid`) under `components/Notch/Nook/Widgets/`. - **Liquid Glass**