Come funziona, pezzo per pezzo
Una regola tiene insieme tutto il programma: lo stato della finestra vive in memoria e la configurazione vive nei file. Tutto quello che segue discende da questo.
La regola alla base di tutto
Una finestra contiene schede. Una scheda contiene blocchi. Un blocco è un terminale, un file in modifica, il pannello dei file, una pagina web, un'immagine, un PDF, una pagina Markdown, un diff, il monitor di sistema, la schermata delle impostazioni o il pannello di un plugin. Si dividono in qualsiasi direzione, anche annidati, e si trascinano, si ridimensionano e si chiudono secondo un unico insieme di regole invece di uno nuovo per ogni funzione. Tutto ciò che è troppo grande per appartenere a tutti è un plugin dal catalogo di vobuda, finora Design e Director, installato e rimosso per intero con una pressione.
Nulla di questa disposizione è salvato in un database, perché non esiste un database. Quello che la finestra sta facendo vive in memoria; quello che hai deciso vive nei file. Per questo un pulsante, un tasto, la barra dei menu, Cmd+K e la riga di comando chiamano tutti la stessa azione per nome, e per questo cambiarne il comportamento significa quasi sempre modificare del JSON.
È anche per questo che il miglior terminale per Mac, per il tipo di lavoro a cui questo è pensato, è uno che puoi ispezionare. Se esiste un'impostazione, c'è una riga in un file che la contiene. Se esiste un'azione, c'è un nome con cui puoi richiamarla.
Cinque modi per un'azione, e sono la stessa azione
Con così tante azioni, la maggior parte di un programma resta in pratica nascosta. Cmd+K è la via che risponde a «cosa può fare» invece che a «fai questo».
-
Insegna i tasti invece di sostituirli
Ogni riga mostra la propria scorciatoia. Chi cerca l'elenco due volte per la stessa azione ha imparato il tasto entro la terza.
-
Non è un quinto dizionario
Ogni riga esegue un'azione per nome, esattamente come fanno gli altri quattro. Un controllo tiene allineata la tabella che disegna con l'elenco del core di ciò a cui un tasto può essere associato, in entrambe le direzioni: un'azione che esiste e non viene offerta lì fa fallire la build.
-
La riga di comando è lo stesso insieme
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, digitati in un blocco vobuda qualsiasi, e
vobuda mcpoffre gli stessi comandi a un agente come strumenti MCP. Non è una porta di servizio per gli script: i test dell'interfaccia guidano l'intero programma attraverso di essa, ed è per questo che ci si può fidare, ed è per questo che un agente può riordinare la tua finestra e tu puoi leggere esattamente cosa ha fatto.
I blocchi, e cosa promettono
Un blocco cambia scheda con la sua shell in esecuzione
Trascina un blocco dall'intestazione su una scheda nella striscia e vi si posiziona: stesso id, stessa shell, stessa cartella, ancora in esecuzione qualunque cosa stesse eseguendo. La scheda si illumina con il colore d'accento mentre il blocco vi è sopra. Esiste anche un'azione per questo, block.to-tab:2, così può stare su un tasto e un controllo senza mouse può premerlo.
Le dimensioni vengono ricordate, e c'è un limite minimo
Per ogni blocco, e nessun blocco può diventare così stretto da smettere di essere utilizzabile. Un pannello di 200 punti è un pannello che nessuno può usare.
Niente di tuo se ne va in silenzio
Chiudere qualcosa che è in esecuzione chiede prima conferma, per nome, perché perdere una volta sola il lavoro di qualcuno costa più fiducia di quanta ne guadagni un'intera funzione. Per lo stesso motivo la cartella del progetto viene fotografata prima di ogni turno di un agente, con una pressione per rimetterla com'era; una chiave incollata a un agente viene fermata prima che l'agente la veda; e una recinzione che puoi attivare rifiuta le scritture e le cancellazioni di un agente fuori dal progetto.
Le sessioni tornano di default
Schede, blocchi e cartella di lavoro di ogni blocco tornano dopo un riavvio, ed è attivo di default; un interruttore nella sezione Generale lo disattiva. Una sessione arrivata da un'altra macchina apre ciò che può e dice ciò che non ha potuto, invece di scartare blocchi in silenzio.
La cartella delle impostazioni, file per file
Tutto in ~/.config/vobuda è JSON leggibile, monitorato mentre il programma è in esecuzione. Salva il file e la finestra si ridisegna.
| File | Cosa contiene |
|---|---|
| settings.json | Tema, aspetto, terminale, shell, finestra, segnali: ogni impostazione delle dieci sezioni |
| themes/*.json | Colori del terminale e della finestra. 25 palette incluse, due pensate per il daltonismo |
| looks/*.json | La forma della finestra: angoli, ombre, colori dei pannelli, trasparenza. Se ne forniscono 29 |
| skins/*.json | Quali pannelli del monitor vengono disegnati, e come |
| buttons.json | Il dock: pulsanti, ordine, lato, forma, e un colore per i pochi che vale la pena segnalare |
| agents.json | Come viene riconosciuto un agente e cosa gli viene offerto |
| keys.json | Ogni scorciatoia. Il menu nativo di macOS è costruito da questo stesso file |
| workspaces/*.json | Progetti: ognuno una finestra con le sue schede, cartella, tema e dock |
I temi integrati vivono dentro il binario e la cartella ha la precedenza su di essi, così un aggiornamento porta colori nuovi senza sovrascrivere nulla di ciò che hai modificato. L'intera cartella si salva come un unico archivio e si ripristina su un altro Mac, e su un Mac una copia vive su iCloud Drive, attiva di default, con un interruttore per disattivarla.
Un monitor di sistema, organizzato da un file
Dodici tipi di pannello, e quali vedi dipende da una skin, non da una schermata disegnata una volta da qualcuno.
-
I numeri sono onesti su se stessi
Un valore che il sistema stima invece di misurare viene disegnato con una tilde, e l'hardware assente dà un valore assente invece di uno zero. Una macchina senza GPU discreta non ottiene un pannello GPU che segna zero per cento.
-
Entrambi gli indirizzi, con un pulsante di copia su ciascuno
Il pannello degli indirizzi indica prima l'indirizzo che vede internet e sotto quello che questa macchina ha sulla propria rete. Chiede solo mentre il pannello è sullo schermo, circa una volta ogni dieci minuti, o ogni trenta secondi finché non è noto alcun indirizzo, e la richiesta non porta nulla sulla macchina.
-
Riordinati trascinando, come tutto il resto
I pannelli del monitor, i pulsanti del dock e le parti della barra dell'agente si prendono e si mettono dove servono con lo stesso gesto. Una riga delle impostazioni si afferra dalla maniglia a sinistra invece che da un punto qualsiasi della riga, così un trascinamento iniziato su un campo di testo non ti impedisce di selezionare la parola che volevi cambiare.
Un file si apre accanto alla shell
La cosa per cui un terminale di solito ti manda altrove: un percorso compare nell'output, due righe vanno cambiate, e finora questo significava uscire per un editor e tornare avendo perso il contesto della shell.
-
Salvare è deliberato
Non viene scritto nulla finché non premi Cmd+S. Un editor che scrive mentre digiti va bene in un'app di note, male accanto a una shell in esecuzione. È un'azione invece che una pressione di tasto, il che le dà anche una voce di menu, una scorciatoia e una voce nella riga di comando come tutto il resto qui.
-
I rifiuti contano quanto la scrittura
Un file cambiato su disco da quando è stato aperto non viene sovrascritto. Un binario non viene mostrato come testo mutilato. Una cartella non si apre affatto. Le modifiche non salvate portano un segno visibile, e chiudere un file modificato chiede conferma.
-
Trovare un file
Il pannello dei file cerca per nome sotto la cartella su cui ti trovi, e ogni risultato indica in quali due cartelle si trova, perché un nome da solo non basta a distinguere due index.ts. Salta node_modules, .git, target e simili, si ferma a otto livelli o duecento risultati, e non fa nulla sotto le due lettere.
Le impostazioni, come schermata e come file
Dieci sezioni, da Generale a Dati e privacy, una ricerca su ogni impostazione, e ciascuna è una riga in un file che puoi anche modificare a mano.
-
Le impostazioni vengono al blocco
Fare clic destro su un pannello significa «questa cosa qui, cambiala». Così scegliere una riga delle impostazioni nel menu di un blocco apre quella sezione sopra la finestra, all'angolo del menu, invece di portarti alla schermata delle impostazioni. È un'azione come tutto il resto: settings.here:themes, settings.here:monitor.
-
Un suono che puoi sentire quando lo scegli
Scegliere un suono di segnale o la campanella del terminale lo riproduce. Scegliere un suono da un elenco di nomi che non puoi sentire è scegliere un nome.
-
Niente chiede un riavvio
La cartella delle impostazioni è monitorata, incluse le due cose di proprietà del core: la barra dei menu di macOS costruita dal tuo file di scorciatoie, e il tasto globale della finestra a discesa, dove il vecchio tasto viene rilasciato prima che il nuovo venga registrato così due non possono rispondere insieme. Un controllo legge ogni suggerimento nella schermata delle impostazioni e fallisce sulla parola riavvio.
Parlare e farsi leggere le risposte
Entrambi usano la voce del sistema, sulla tua macchina. L'audio non lascia mai il computer.
Dettatura
Cmd+Shift+V digita quello che dici nel blocco su cui stai lavorando, e la striscia indica in quale lingua sta ascoltando, in due lettere. Una frase dettata viene digitata e mai eseguita: il riconoscimento a volte sbaglia, e un comando frainteso che si esegue da solo è un programma che cancella cose perché era accesa una radio. Accanto a un agente, dove una frase è un messaggio invece che un comando, può inviarsi da sola, ed è un'impostazione letta nel momento esatto in cui la frase finisce.
Rileggere la risposta ad alta voce
Cmd+Shift+R legge ad alta voce l'ultima risposta dell'agente; premendo di nuovo si ferma. Quello che viene letto è la risposta, non lo schermo. Un punto elenco davanti, asterischi attorno a una parola in rilievo, apici inversi attorno a un nome, una riga di riquadro, un percorso completo dove basterebbe il nome del file: questi spariscono, e restano le parole al loro interno. La lettura è delimitata da forme invece che da parole, dal basso dalla riga di input dell'agente e dall'alto dal suo logo, perché l'interfaccia di un agente cambia a ogni sua nuova versione.
I piccoli dettagli che decidono se lo tieni
Il tasto destro è nostro
Ovunque nella finestra: il menu proprio del blocco all'interno di un blocco, quello esterno della finestra, la striscia delle schede, il dock, lo spazio tra i riquadri. Ogni riga è un'azione, e il menu ha una propria azione, block.menu, così un gesto che solo una mano può fare non è un gesto che nulla può verificare. L'unico punto che mantiene il menu di sistema è un campo di testo, dove offre taglia, copia, incolla e il dizionario.
Apri una cartella da qualsiasi punto
vobuda://open?path=/some/path apre una scheda in quella cartella, da un'azione del Finder, uno script o un'altra app. macOS non ha un'impostazione di sistema per il terminale predefinito, quindi questa è la versione onesta di quella funzione invece di una promessa che non può mantenere.
Cerca dentro un blocco
Cmd+F. Il campo appartiene al blocco in cui cerca, e chiuderlo lascia la vista dove si trovava la corrispondenza.
Porta il blocco con te
Cmd+Shift+X copia il testo di un blocco, chiesto al terminale stesso, ed è ciò che lo fa funzionare anche con il rendering su GPU attivo, dove nella pagina non c'è testo da selezionare. Un'immagine del blocco sono due azioni su Cmd+K, Block snapshot to clipboard e Block snapshot to a file.
Controlli di aggiornamento che non sono un compito
Il nucleo controlla una volta al giorno, in un thread proprio, e ciò che vedi è una striscia al di sopra del layout, non sovrapposta a esso, perché un avviso che copre un terminale è uno che si impara a chiudere senza leggerlo. Nulla si installa finché non premi: per un agente l'aggiornamento è un comando digitato nel blocco attivo dove il suo output è visibile, e per Vobuda su un Mac il pulsante installa la nuova versione in background, poi offre un riavvio, che avviene da solo dopo dieci secondi quando non c'è nulla in esecuzione.
Quaranta lingue, e una guida in ciascuna
Inclusa la barra dei menu di macOS, che il sistema costruisce nel core. Arabo ed ebraico specchiano tutta la finestra tranne il terminale stesso, dove specchiare renderebbe illeggibili output e percorsi. Una chiave di traduzione è la stringa inglese, così una stringa non tradotta ricade su un inglese leggibile invece che su un vuoto o un identificatore.
Prova le parti di cui hai appena letto
Dopo due brevi domande al primo avvio, si apre con un solo blocco terminale e nient'altro. Tutto ciò che sta sopra è qualcosa che attivi quando vuoi.
curl -fsSL https://vobuda.com/install.sh | sh