
La barra dei menu in ordine: nascondere ciò che disturba, mostrarlo quando serve. E funziona su macOS 27.

Funziona su macOS 27
Nuovo backend per la barra dei menu ridisegnata di macOS 27.
Nascondere e mostrare
Nascondere le icone e rimostrarle al passaggio, al clic o con lo scorrimento.
Shelf per il notch
Le icone nascoste in una barra propria sotto la barra dei menu.
Con Homebrew
Un comando per installare, uno per aggiornare.
Versione 0.0.6 — versione su GitHub. I riscontri contano sull’issue tracker. holzBar è un giovane fork di Ice e viene sviluppato attivamente, fino alla 1.0 molte cose possono ancora cambiare.
holzBar tiene in ordine la barra dei menu del Mac: ciò che si usa di rado sparisce e ritorna quando lo si chiama. In più ci sono una barra di icone sotto il notch, una disposizione con trascinamento, una ricerca e impostazioni per l’aspetto della barra.
Funzioni
Nascosto finché serve
Nella barra dei menu resta solo il punto di holzBar; ciò che si usa di rado è chiuso. Un clic, un passaggio o lo scorrimento apre il holzBar Shelf con le icone nascoste subito sotto la barra dei menu — con immagini vere delle icone, anche sugli schermi con notch.





L’essenziale in General
holzBar si avvia al login, se lo si desidera, e nella barra dei menu mostra un punto o un’altra icona. Il holzBar Shelf sceglie il suo posto in modo dinamico, le icone nascoste compaiono al clic, al passaggio o con lo scorrimento — e poi spariscono di nuovo da sole.

Tutto con un clic destro
Un clic destro sul punto apre il menu di holzBar: le impostazioni, la ricerca delle icone, la zona nascosta e la modalità Zen. La ricerca trova e apre qualsiasi icona della barra, anche se è nascosta.

Mostrare e nascondere di nuovo
Le icone nascoste compaiono al clic, al passaggio o con lo scorrimento — con il trackpad e con la rotellina del mouse. Poi holzBar le nasconde di nuovo da sé, volendo con la strategia Smart. La distanza tra le icone si regola in beta.

Disposizione con trascinamento
Le icone si assegnano con il trascinamento alla zona visibile o a quella nascosta. Profili come «Lavoro» o «Casa» salvano una disposizione, i gruppi riuniscono più icone dietro un’icona propria e gli spaziatori danno respiro.

La barra come piace a voi
Tinta unita o sfumata, ombra, bordo e forme arrotondate o divise. In più una barra dei menu nera che fa sparire il notch e angoli dello schermo arrotondati.

Una scorciatoia per ogni azione frequente
Alternare le zone, aprire la ricerca, attivare e disattivare il holzBar Shelf, alternare i menu delle app e gestire il nascondere automatico — ogni azione ha la sua scorciatoia.

Le rifiniture in Advanced
Qui si trovano la zona sempre nascosta, il posto delle nuove icone, le attività in tempo reale, il nascondere i menu delle app e i ritardi per il passaggio e le icone mostrate temporaneamente.

Sincronizzazione e permessi
Più in basso in Advanced si esportano e importano le impostazioni o le si sincronizza tra i propri Mac tramite una qualsiasi cartella che i Mac sincronizzano, come iCloud Drive, Nextcloud, Dropbox, OneDrive, Syncthing o una condivisione di rete. Sotto, holzBar mostra lo stato di ogni permesso.

Registrazione schermo solo quando serve
La sezione Layout mostra immagini delle icone della barra dei menu, che macOS lascia prendere a un’app solo con la Registrazione schermo. holzBar la chiede soltanto quando una funzione ne ha bisogno, e spiega perché.

Costruito su Ice
La sezione About mostra la versione e ringrazia Ice di Jordan Baird. Si aggiorna con Homebrew tramite brew update && brew upgrade --cask holzbar, e le versioni sono a un clic.
Tutto in sintesi
Nascondere le icone
Una zona per le icone che non servono e una zona «sempre nascosta». Mostrare al passaggio, al clic o con lo scorrimento, nascondere di nuovo da sole e togliere i menu delle app quando si sovrappongono.
holzBar Shelf
Le icone nascoste in una barra sotto la barra dei menu, con immagini vere delle icone e distanze uniformi — comoda con il notch.
Disposizione con trascinamento
Assegnare le icone alle zone. La vecchia disposizione viene ripresa al primo avvio.
Ricerca
Trovare e aprire qualsiasi icona della barra, anche se è nascosta.
Aspetto
Tinta unita o sfumata, ombra e bordo, forme arrotondate e divise. La distanza tra le icone è in beta.
Scorciatoie da tastiera
Alternare le zone, aprire la ricerca, attivare il holzBar Shelf e alternare i menu delle app.
Profili, gruppi, spaziatori
Salvare disposizioni come «Lavoro» o «Casa» e passare dall’una all’altra, raggruppare più icone dietro un’icona propria e inserire fino a dieci spaziatori vuoti. Novità della 0.0.2.
Barra nera, angoli arrotondati
Una barra dei menu nera che fa sparire il notch e angoli dello schermo arrotondati con raggio regolabile. Novità della 0.0.2.
Automazione e sincronizzazione
Comandi holzbar:// e script Raycast pronti che chiedono prima di cambiare qualcosa di duraturo, modalità Zen e azioni di Comandi rapidi, elementi nascosti mostrati automaticamente quando la batteria si scarica o la rete cade, impostazioni esportate o sincronizzate tra Mac tramite iCloud Drive o qualsiasi cartella che i tuoi Mac sincronizzano.
Sistema
macOS da 14 a 27
Licenza
GPL-3.0, come Ice
Base
Ice di Jordan Baird
Installazione
Homebrew o dal codice sorgente
Firma
Certificato proprio, senza Apple Developer ID; attestazione di provenienza della build
Aggiornamenti
Tramite Homebrew
Installazione
holzBar funziona da macOS 14 Sonoma a 27 ed è verificato nella CI su macOS 14, 15, 26 e 27.
Nuova installazione
Il modo più semplice è Homebrew:
brew tap holzcloud/holzbar https://github.com/holzcloud/holzBar
brew trust --cask holzcloud/holzbar/holzbar
brew install --cask holzbar
brew trust serve una sola volta: Homebrew installa i cask di tap di terzi solo se ci si fida di loro.
holzBar sostituisce l’Ice originale. Chi lo ha installato lo rimuove prima con brew uninstall --cask jordanbaird-ice. L’app è firmata con un certificato proprio, non con un Apple Developer ID; il cask toglie la quarantena perché si apra normalmente. Gli aggiornamenti passano da Homebrew; holzBar stesso non cerca mai aggiornamenti.
Si può anche compilare da sé con Xcode 27 (SDK di macOS 27), come nella CI; holzBar stesso funziona da macOS 14:
git clone https://github.com/holzcloud/holzBar
cd holzBar
Scripts/install.sh
L’app finisce in ~/Applications.
L’archivio holzBar-0.0.6.zip è disponibile anche direttamente nella versione.
Le versioni sono firmate con il certificato proprio di holzBar (SHA-256 e55f0df15060b8c06c6842ccee85e6bc9f86cbbda3bd408abf991457840b1d95) e portano un’attestazione di provenienza della build; la si verifica con gh attestation verify sull’archivio scaricato.
Aggiornare dalla 0.0.6 beta 1 o 2
brew update && brew upgrade --cask holzbar
Il permesso di Accessibilità viene mantenuto.
Aggiornare dalla 0.0.5
La 0.0.5 è stata pubblicata con il nome precedente dell'app, come un altro cask e un'altra app: perciò brew upgrade non la sostituisce e holzBar non ne riprende le impostazioni. Per conservare disposizione, abbreviazioni e aspetto, esportali nella vecchia app (Settings → Advanced → Export…). Chiudila e disinstalla il suo cask (brew list --cask ne mostra il nome), installa holzBar come sopra, concedi di nuovo l'Accessibilità, importa il file in Settings → Advanced → Import… e riattiva «Launch at login». Le impostazioni dell'Ice originale vengono comunque importate al primo avvio.
Se macOS non vuole aprire holzBar
holzBar è firmato con un certificato proprio, non con un Apple Developer ID. Il cask di Homebrew toglie da sé l’attributo di quarantena. Se avete scaricato l’archivio a mano — o se macOS blocca comunque l’app —, toglietela dalla quarantena così:
xattr -dr com.apple.quarantine /Applications/holzBar.app
Poi riaprite holzBar. In alternativa aprite l’app una volta e cliccate su Apri comunque in Impostazioni di Sistema → Privacy e sicurezza, accanto al messaggio di holzBar.
Perché holzBar?
| 📦 Zero dipendenze | Nessun pacchetto di terze parti — ogni riga eseguita si trova nel repository di holzBar. |
| 🦅 Swift 6 moderno | Compilato con Swift 6.4 e Xcode 27, l'ultimo Swift stabile e l'SDK di macOS 27, in modalità linguaggio Swift 6, in cui il compilatore esclude i data race; @Observable invece di Combine, un backend per ogni generazione di macOS. |
| 🔒 Mai online | Nessun controllo degli aggiornamenti, nessuna telemetria, nessuna analisi. Un controllo della CI dimostra che l'app non contiene codice di rete. |
| 🛡️ Permessi minimi | Solo Accessibilità al primo avvio; Registrazione schermo solo quando una funzione ne ha bisogno. Runtime rafforzato, log privati. |
| 🍃 Leggero | Nessun polling dove macOS invia un evento, nessun tracciamento del mouse se non lo usi, niente in memoria che nessuno mostra. |
| 🪵 Compatibile con macOS 27 | Un backend dedicato alla nuova barra dei menu di macOS 27, disegnata da MenuBarAgent. |
| ✅ Da macOS 14 a 27, verificato | Ogni pull request avvia l'app su macOS 14, 15, 26 e 27 ed esegue su ciascuno i 371 test unitari. |
| ✨ Più funzioni | Profili, cartelle, spaziatori, modalità Zen, azioni di Comandi rapidi, barra dei menu nera, comandi URL, sincronizzazione delle impostazioni tramite qualsiasi cartella. |
| 🌍 Cinque lingue | Inglese, tedesco, francese, italiano e romancio. |
| 🍺 Prima Homebrew | Installare e aggiornare con un solo comando. |
holzBar, Ice e Thaw a confronto
Cosa fanno l'Ice 0.11.12 originale e l'altro fork attivo Thaw 3.0 beta, e cosa aggiunge holzBar. — significa non disponibile o non documentato.
| Ice 0.11.12 | Thaw 3.0 beta | holzBar | |
|---|---|---|---|
| Compatibilità | |||
| macOS 14 – 26 | ✅ | solo macOS 26 | ✅ |
macOS 27 (nuova barra dei menu disegnata da MenuBarAgent) |
❌ | ✅ | ✅ |
| Avviato e testato nella CI su ogni macOS supportato | ❌ | — | ✅ 14, 15, 26 e 27 |
| Funzioni | |||
| Sezioni nascosta e sempre nascosta, Ice Bar / holzBar Shelf, ricerca, aspetto | ✅ | ✅ | ✅ |
| Profili di disposizione | ❌ | ✅ | ✅ |
| Gruppi e spaziatori | ❌ | ✅ | ✅ |
| Cartelle con icona e colore propri; immagini degli elementi a scelta | ❌ | ✅ | ✅ |
| Scegliere dove compaiono i nuovi elementi | ❌ | — | ✅ |
| Barra solo su alcuni schermi, overflow della tacca | ❌ | — | ✅ |
| Barra dei menu nera, angoli dello schermo arrotondati | ❌ | solo angoli | ✅ |
| Bordi tratteggiati e punteggiati, tinte da sfondo, colore d'accento e vetro | ❌ | ✅ | ✅ |
| Mostrare gli elementi nascosti con batteria scarica o senza rete | ❌ | — | ✅ |
| Comandi URL e Raycast | ❌ | ✅ | ✅ |
| Modalità Zen (anche durante una presentazione) | ❌ | ✅ | ✅ |
| Abbreviazioni da tastiera per profilo e per elemento | ❌ | ✅ | ✅ |
| Azioni di Comandi rapidi (App Intents) | ❌ | ✅ | ✅ |
| Profili legati a uno schermo o a uno Space | ❌ | ✅ | ✅ |
| Aprire un elemento con una lettera | ❌ | ✅ | ✅ |
| Editor della disposizione e Shelf da tastiera, annulla, azioni VoiceOver | ❌ | ✅ | ✅ |
| Gli elementi aperti restano fino a 30 s, o si aprono senza mostrarli | ❌ | ✅ | ✅ |
| Mostrare brevemente un elemento quando cambia | ❌ | ✅ | ✅ attivabile per elemento |
| Esportare e importare le impostazioni | ❌ | ✅ | ✅ |
| Sincronizzazione delle impostazioni: iCloud Drive o qualsiasi cartella sincronizzata | ❌ | ❌ | ✅ |
| Lingue | inglese | molte, tramite Crowdin | inglese, tedesco, francese, italiano, romancio |
| Mantenere visibili le Attività in tempo reale | ❌ | — | ✅ sperimentale |
| Mostrare scorrendo con la rotella del mouse | ❌ | — | ✅ |
| La ricerca tollera errori di battitura e abbreviazioni | ✅ (libreria) | ✅ | ✅ (integrata) |
| Rifiuta le abbreviazioni che macOS non può registrare, e spiega perché | ❌ | — | ✅ |
| L'input non si blocca mai quando un'app non risponde | ❌ | ✅ | ✅ |
| Gli elementi mantengono la sezione quando un'app cambia titolo | ❌ | ✅ | ✅ |
| In pausa con lo schermo bloccato, si assesta dopo il risveglio | ❌ | ✅ | ✅ |
| Aspetto su ogni scrivania, segue le icone, si fa da parte a schermo intero | ❌ | ✅ | ✅ |
| Nessun indicatore di registrazione dello schermo mostrando o nascondendo (macOS 27) | — | ✅ | ✅ |
| Passaggio del mouse e clic su un secondo schermo (macOS 27) | — | ✅ | ✅ |
| I comandi URL chiedono prima di cambiare qualcosa di duraturo; nessun URL termina la modalità Zen durante una condivisione dello schermo | — | — | ✅ |
| Abbreviazioni, colori e numeri verificati nelle impostazioni importate e sincronizzate (nessun crash in loop per impostazioni errate) | ❌ | — | ✅ |
| Privacy e permessi | |||
| Connessioni di rete (aggiornamenti, telemetria, analisi) | controlli Sparkle | controlli Sparkle | nessuna — imposto dalla CI |
| Dati personali (nomi di app, titoli degli elementi, percorsi) nei log | in parte pubblici | — | privati, imposto dalla CI |
| Chiede la Registrazione schermo solo quando una funzione ne ha bisogno | ❌ | — | ✅ |
| Runtime rafforzato (nessun codice o libreria iniettati) | ✅ | ✅ | ✅ (verificato dalla CI) |
| L'importazione accetta solo chiavi note, del tipo giusto, nei limiti | — (nessuna importazione) | — | ✅ |
| Importazione e sincronizzazione non possono attivare la sincronizzazione; il file di sincronizzazione non contiene il nome del computer | — (nessuna sincronizzazione) | — | ✅ |
| Il servizio degli elementi della barra dei menu accetta solo il codice di holzBar | solo controllo del team | — | team o hash esatto del codice |
| Correzione del ciclo dei permessi | ❌ | — | ✅ |
| Codice e risorse | |||
| Pacchetti Swift | 5 | 10 (Sparkle, AXSwift6, CompactSlider, Ifrit, LaunchAtLogin-Modern e 5 di Apple) | nessuno |
| Modalità linguaggio Swift | Swift 5 | Swift 6 | Swift 6 (il compilatore esclude i data race), compilato con Swift 6.4 e Xcode 27 |
| Gestione dello stato | Combine | @Observable e Combine |
@Observable, senza Combine |
| Monitoraggio degli eventi del mouse con «Show on hover» disattivato | sempre attivo | — | disattivato |
| Timer e polling quando non si mostra nulla | sì | — | solo se necessario |
| La sincronizzazione rileva le modifiche | — (nessuna sincronizzazione) | — (nessuna sincronizzazione) | quando la cartella sincronizzata le consegna, senza polling |
| Migrazione delle impostazioni | 6 passi di versione a ogni avvio | — | una volta, importando le impostazioni di Ice |
| Modifica di AppKit in esecuzione (method swizzling) | sì | sì | nessuna |
| Immagini degli elementi in memoria | conservate | — | rilasciate se inutilizzate |
| Test unitari a ogni modifica | nessuno | ✅ | ✅ 371 |
| Dimensione dell'app | — | — | 16,7 MB |
| Distribuzione e manutenzione | |||
| Installazione e aggiornamenti con Homebrew | ✅ | ✅ | ✅ |
| Aggiornamenti | Sparkle (la finestra può bloccarsi su macOS 26) | Sparkle | Homebrew |
| Ogni gruppo di bug delle 282 segnalazioni aperte di Ice risolto | — | — | ✅ confermato su un Mac nella 0.0.6, vedi l'elenco |
| Firmato con un Developer ID | ✅ | — | ❌ (invece un certificato proprio) |
| Firma stabile, così l'Accessibilità sopravvive agli aggiornamenti | ✅ | — | ✅ (certificato proprio, docs/signing.md) |
Attestazione di provenienza della build (gh attestation verify) |
❌ | — | ✅ |
macOS 27
macOS 27 non disegna più le icone della barra dei menu come finestre separate, ma tutte insieme in un’unica barra. holzBar porta un backend proprio: nascondere tramite assertion in modalità di valutazione con zone per app, rilevamento delle icone tramite l’accessibilità e un editor che assegna le app alle zone.
Limiti noti su macOS 27
- Le icone non si riordinano sulla barra stessa, si assegnano soltanto alle zone.
- Aprire un’icona di sistema (orologio, batteria, Wi-Fi) mentre le icone nascoste sono celate richiede circa 150 ms in più.
- Passando dalla 0.0.5 o da una versione precedente, macOS chiede ancora una volta l’accessibilità. Se holzBar resta fermo nella finestra dei permessi, aiuta Reset and Grant Again.
- «Nascondi i menu delle app» è disattivato su macOS 27, dove macOS riunisce da sé le icone che traboccano.
- L'indicatore della privacy scompare finché ci sono elementi nascosti: quando holzBar nasconde un elemento su macOS 27, Centro di Controllo non mostra il suo indicatore per fotocamera, microfono e registrazione dello schermo; il piccolo punto verde accanto all'orologio segnala comunque la fotocamera. L'indicatore torna quando holzBar non nasconde più alcun elemento.
Un fork di Ice — grazie a Jordan Baird
holzBar è un fork di Ice di Jordan Baird. Ice è uno dei migliori gestori della barra dei menu per Mac, e quasi tutto ciò che si vede qui è opera sua. holzBar lo porta avanti soltanto su macOS 27, finché lo sviluppo dell’originale procede più lentamente.
Il backend per macOS 27 è di RabenkoYevhenii (pull request n. 995 di Ice). Se vi piace Ice: date una stella a Ice e sostenete Jordan Baird. holzBar è indipendente e non è affiliato al progetto Ice né da esso approvato.