Hvordan det fungerer, del for del
Én regel holder hele programmet sammen: vinduets tilstand lever i minnet, og konfigurasjonen lever i filer. Alt under følger av dette.
Regelen som ligger under alt
Et vindu rommer faner. En fane rommer blokker. En blokk er en terminal, en fil under redigering, filpanelet, en nettside, et bilde, en PDF, en Markdown-side, en diff, systemmonitoren, innstillingsskjermen eller et tilleggs panel. De deles i alle retninger med nøsting, dras, endrer størrelse og lukkes etter ett sett regler i stedet for et nytt sett for hver nye funksjon. Alt som er for stort til å tilhøre alle, er et tillegg fra vobudas egen katalog, så langt Design og Direktør, installert og fjernet som en helhet med ett trykk.
Ingenting ved dette oppsettet lagres i en database, fordi det ikke finnes noen database. Det vinduet gjør, lever i minnet; det du har bestemt, lever i filer. Det er derfor en knapp, en tast, menylinjen, Cmd+K og kommandolinjen alle kaller den samme handlingen ved navn, og hvorfor det å få den til å oppføre seg annerledes nesten alltid betyr å redigere JSON.
Det er også derfor den beste terminalemulatoren for Mac, for denne typen arbeid, er en du kan inspisere. Hvis en innstilling finnes, finnes det en linje i en fil som holder den. Hvis en handling finnes, finnes det et navn du kan kalle den ved.
Fem veier til én handling, og det er den samme handlingen
Med så mange handlinger er det meste av et program i praksis skjult. Cmd+K er veien som svarer på «hva kan det» i stedet for «gjør dette».
-
Den lærer bort tastene i stedet for å erstatte dem
Hver linje viser sin egen hurtigtast. Den som griper til listen to ganger for samme handling, har lært tasten innen tredje gang.
-
Det er ikke en femte ordbok
Hver linje kjører en handling ved navn, akkurat som de fire andre gjør. En sjekk holder tabellen den bygger på, opp mot kjernens liste over hva en tast kan bindes til, i begge retninger: en handling som finnes, men ikke tilbys der, feiler i byggeprosessen.
-
Kommandolinjen er det samme settet
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, skrevet i en hvilken som helst vobuda-blokk, og
vobuda mcptilbyr de samme kommandoene til en agent som MCP-verktøy. Ikke en sidedør for skript: grensesnitt-testene styrer hele programmet gjennom den, som er grunnen til at den kan stoles på, og grunnen til at en agent kan omorganisere vinduet ditt og du kan lese nøyaktig hva den gjorde.
Blokker, og hva de lover
En blokk bytter fane mens skallet fortsatt kjører
Dra en blokk etter overskriften over på en fane i fanelisten, så havner den der: samme id, samme skall, samme mappe, og den kjører fortsatt det den kjørte. Fanen lyser opp i aksentfargen mens blokken er over den. Det finnes også en handling for dette, block.to-tab:2, så den kan legges på en tast, og en sjekk uten mus kan trykke den.
Størrelser huskes, og det finnes en nedre grense
Per blokk, og ingen blokk kan bli så smal at den slutter å være brukbar. Et panel på 200 punkter er et panel ingen kan bruke.
Ingenting av ditt forsvinner i det stille
Å lukke noe som kjører, spør først, ved navn, fordi det koster mer tillit å miste noens arbeid én gang enn en hel funksjon gir. Av samme grunn tas det et øyeblikksbilde av prosjektmappen før hver agentrunde, med ett trykk for å sette den tilbake; en nøkkel som limes inn i en agent, stoppes før agenten ser den; og et gjerde du kan slå på, avviser en agents skriving og sletting utenfor prosjektet.
Økter kommer tilbake som standard
Faner, blokker og hver blokks arbeidsmappe kommer tilbake etter en omstart, og det er på som standard; én bryter i seksjonen Generelt slår det av. En økt som kommer fra en annen maskin, åpner det den kan og sier hva den ikke kunne, i stedet for å droppe blokker i det stille.
Innstillingsmappen, fil for fil
Alt i ~/.config/vobuda er lesbar JSON, overvåket mens programmet kjører. Lagre filen, så tegnes vinduet på nytt.
| Fil | Hva den inneholder |
|---|---|
| settings.json | Tema, utseende, terminal, skall, vindu, signaler: hver innstilling i de ti seksjonene |
| themes/*.json | Farger for terminal og vindu. 25 paletter følger med, to laget for fargesynsvikt |
| looks/*.json | Vinduets form: hjørner, skygger, panelfarger, gjennomsiktighet. 29 følger med |
| skins/*.json | Hvilke overvåkingspaneler som tegnes, og hvordan |
| buttons.json | Dokken: knapper, rekkefølge, side, form, og en farge for de få som er verdt å markere |
| agents.json | Hvordan en agent gjenkjennes og hva den tilbys |
| keys.json | Alle hurtigtaster. Den native macOS-menyen bygges fra samme fil |
| workspaces/*.json | Prosjekter: hvert et vindu med egne faner, mappe, tema og dokk |
Innebygde temaer ligger i selve programmet, og mappen overstyrer dem, så en oppdatering gir nye farger uten å overskrive noe du har redigert. Hele mappen lagres som ett arkiv og gjenopprettes på en annen Mac, og på en Mac ligger en kopi i iCloud Drive, på som standard, med én bryter for å slå den av.
En systemovervåker, satt opp av en fil
Tolv typer paneler, og hvilke av dem du ser, er et skin og ikke en skjerm noen har designet én gang for alle.
-
Tallene er ærlige om seg selv
En verdi systemet anslår i stedet for å måle, tegnes med en tilde, og maskinvare som mangler gir en manglende verdi i stedet for en null. En maskin uten diskret GPU får ikke et GPU-panel som viser null prosent.
-
Begge adressene, med en kopieringsknapp på hver
Adressepanelet navngir først adressen internett ser, og under den den denne maskinen har på sitt eget nettverk. Det spør bare mens panelet er i bildet, omtrent hvert tiende minutt, eller hvert 30. sekund mens ingen adresse er kjent ennå, og forespørselen inneholder ingenting om maskinen.
-
Omorganiseres ved å dra, som alt annet
Overvåkerens paneler, dokkens knapper og delene i agentlinjen plukkes alle opp og settes der de skal med den samme bevegelsen. En innstillingsrad plukkes opp ved grepet til venstre for den, ikke hvor som helst på raden, slik at en dra-bevegelse som starter i et tekstfelt, ikke hindrer deg i å markere ordet du egentlig ville endre.
En fil åpnes ved siden av skallet
Det en terminal vanligvis sender deg et annet sted for: en filbane dukker opp i output, to linjer må endres, og frem til nå betydde det å forlate terminalen for en editor og komme tilbake med skallets kontekst tapt.
-
Lagring er bevisst
Ingenting skrives før Cmd+S. En editor som skriver mens du skriver, er en fin ting i en notat-app og en dårlig ting ved siden av et skall som kjører. Det er en handling, ikke bare et tastetrykk, noe som også gir den et menyvalg, en hurtigtast og en kommandolinjeoppføring som alt annet her.
-
Avslagene betyr like mye som skrivingen
En fil som er endret på disk siden den ble åpnet, overskrives ikke. En binærfil vises ikke som ødelagt tekst. En mappe åpnes ikke i det hele tatt. Ulagrede endringer har et synlig merke, og lukking av en redigert fil spør først.
-
Å finne en fil
Filpanelet søker på navn under mappen du står i, og hvert resultat viser hvilke to mapper filen ligger i, fordi et navn alene ikke kan skille to index.ts fra hverandre. Det hopper over node_modules, .git, target og lignende, stopper ved åtte nivåer eller to hundre resultater, og gjør ingenting under to bokstaver.
Innstillinger, som en skjerm og som filer
Ti seksjoner, fra Generelt til Data og personvern, et søk over hver innstilling, og hver eneste er en linje i en fil du også kan redigere for hånd.
-
Innstillingene kommer til blokken
Å høyreklikke på et panel betyr denne tingen her, endre den. Så når du velger en innstillingslinje i en blokks egen meny, åpnes den seksjonen over vinduet, ved hjørnet av menyen, i stedet for å lede deg til innstillingsskjermen. Det er en handling som alt annet: settings.here:themes, settings.here:monitor.
-
En lyd du kan høre når du velger den
Å velge en signallyd eller terminalens bjelle spiller den av. Å velge en lyd fra en liste med navn du ikke kan høre, er å velge et navn.
-
Ingenting krever en omstart
Innstillingsmappen overvåkes, inkludert de to tingene kjernen eier: macOS-menylinjen bygget fra hurtigtastfilen din, og den globale tasten for nedtrekksvinduet, der den gamle tasten frigis før den nye registreres, slik at ikke to kan svare samtidig. En sjekk leser hver eneste hint-tekst i innstillingsskjermen og feiler på ordet omstart.
Å snakke og bli lest for
Begge bruker systemets egen tale, på din maskin. Lyden forlater aldri datamaskinen.
Diktering
Cmd+Shift+V skriver det du sier inn i blokken du jobber i, og listen viser hvilket språk den lytter på, med to bokstaver. En diktert setning skrives, den kjøres aldri: gjenkjenning kan mishøre, og en mishørt kommando som kjører seg selv, er et program som sletter ting fordi en radio sto på. Ved siden av en agent, der en setning er en melding og ikke en kommando, kan den sendes automatisk, og det er en innstilling som leses i det øyeblikket setningen avsluttes.
Å lese svaret tilbake
Cmd+Shift+R leser agentens siste svar høyt; å trykke igjen stopper det. Det som leses er svaret, ikke skjermen. Et punkt foran, stjerner rundt et uthevet ord, backticks rundt et navn, en boksstrek, en full filbane der filnavnet ville holdt: de forsvinner, og ordene inni dem blir værende. Opplesingen avgrenses av former snarere enn av ord, nedenfra av agentens skrivefelt og ovenfra av logoen dens, fordi en agents utforming endres med hver ny versjon av den.
De små tingene som avgjør om du beholder den
Høyreklikket er vårt
Overalt i vinduet: blokkens egen meny inni en blokk, vinduets egen utenfor, fanelisten, dokken, mellomrommet mellom flisene. Hver linje er en handling, og menyen har en handling av sitt eget, block.menu, slik at en bevegelse bare en hånd kan utføre, ikke er en bevegelse ingenting kan sjekke. Det ene stedet som beholder systemets meny, er et tekstfelt, der den tilbyr klipp ut, kopier, lim inn og ordboken.
Åpne en mappe fra hvor som helst
vobuda://open?path=/some/path åpner en fane i den mappen, fra en Finder-handling, et skript eller en annen app. macOS har ingen systeminnstilling for standardterminal, så dette er den ærlige versjonen av den funksjonen i stedet for et løfte den ikke kan holde.
Søk inni en blokk
Cmd+F. Feltet tilhører blokken det søker i, og lukker du det, blir visningen stående der treffet var.
Ta blokken med deg
Cmd+Shift+X kopierer en blokks tekst, spurt av terminalen selv, som også er det som gjør at det virker med GPU-tegning slått på, der det ikke finnes tekst på siden å markere. Et bilde av blokken er to handlinger i Cmd+K, Block snapshot to clipboard og Block snapshot to a file.
Oppdateringssjekker som ikke er lekser
Kjernen sjekker én gang om dagen, i en egen tråd, og det du ser, er en stripe over layouten i stedet for oppå den, fordi et varsel som dekker en terminal, er ett folk lærer å lukke ulest. Ingenting installeres før du trykker: For en agent er oppdateringen en kommando som skrives i den aktive blokken der utdataene er synlige, og for Vobuda på en Mac installerer knappen den nye versjonen i bakgrunnen og tilbyr deretter en omstart, som skjer av seg selv etter ti sekunder hvis ingenting kjører.
Førti språk, og en guide på hvert
Inkludert macOS-menylinjen, som systemet bygger i kjernen. Arabisk og hebraisk speilvender hele vinduet unntatt selve terminalen, der speilvending ville gjort output og filbaner uleselige. En oversettelsesnøkkel er den engelske strengen, slik at en uoversatt streng faller tilbake til lesbar engelsk i stedet for til et tomt felt eller en identifikator.
Prøv delene du nettopp leste om
Etter to korte spørsmål ved første oppstart åpner det med én terminalblokk og ingenting mer. Alt ovenfor er noe du slår på når du vil ha det.
curl -fsSL https://vobuda.com/install.sh | sh