Instalação

macOS 14.2+. Assinado ad-hoc — sem Developer ID, então o Homebrew pede pra confiar no tap uma vez.

Via Homebrew

Terminal
brew tap luccas-silveira/knobler && brew trust luccas-silveira/knobler && brew install knobler

Sem Homebrew

Baixe o zip da página de Releases e rode uma vez:

Terminal
xattr -dr com.apple.quarantine /Applications/Knobler.app

Build a partir do código-fonte

Projeto gerado por XcodeGen a partir de project.yml.

Terminal
xcodegen generate
xcodebuild -project Knobler.xcodeproj -scheme Knobler -configuration Release build

Ajuste CODE_SIGN_IDENTITY/DEVELOPMENT_TEAM em project.yml pra assinatura Apple Development.

Permissões pedidas em runtime

Nenhuma é pedida de uma vez — cada uma só aparece quando você liga a feature correspondente em Ajustes.

Acessibilidade
Interceptar teclas de volume/brilho antes do HUD nativo, e ler/fechar banners de notificação.
Gravação de Áudio do Sistema
O visualizador de música anima com o áudio real do player, via CoreAudio.
Automação (Spotify/Music)
Comandos de play/pause/próxima faixa.
Calendário
Mostrar a contagem regressiva do próximo evento no notch.
Microfone
Gravar sua voz enquanto você segura a tecla de ditado.
Bluetooth
Ler o nível de bateria dos AirPods quando eles conectam.
Câmera
Mostrar o espelho no notch antes de reuniões.
Rede Local
Trocar mensagens com outros Macs rodando Knobler (Bonjour, _knobler._tcp).

Consumo

Medido em Release com 3 monitores: ~11% de um core com música tocando (visualizador a 20Hz), 0,0% parado, ~22MB de RAM.