Vobuda
Hämta Så fungerar detClaude Codevs CodexJämför Om oss Kontakt

Så fungerar det, del för del

En regel håller ihop hela programmet: fönstrets tillstånd finns i minnet och konfigurationen finns i filer. Allt nedan följer av det.

Regeln bakom allt

Ett fönster rymmer flikar. En flik rymmer block. Ett block är en terminal, en fil under redigering, filpanelen, en webbsida, en bild, en PDF, en Markdown-sida, en diff, systemmonitorn, inställningsskärmen eller ett tilläggs panel. De delas i alla riktningar med nästling, dras, ändrar storlek och stängs enligt en uppsättning regler i stället för en ny för varje ny funktion. Allt som är för stort för att tillhöra alla är ett tillägg från vobudas egen katalog, hittills Design och Direktör, installerat och borttaget i sin helhet med ett tryck.

Ingenting av det där sparas i en databas, för det finns ingen databas. Det fönstret gör finns i minnet, det du har bestämt finns i filer. Det är därför en knapp, en tangent, menyraden, Cmd+K och kommandoraden alla anropar samma åtgärd med namn, och varför att få det att bete sig annorlunda nästan alltid innebär att redigera JSON.

Det är också därför den bästa terminalemulatorn för Mac, för den typ av arbete detta är byggt för, är en du kan inspektera. Om en inställning finns, finns det en rad i en fil som håller den. Om en åtgärd finns, finns det ett namn du kan anropa den med.

Fem vägar till en åtgärd, och det är samma åtgärd

Med så många åtgärder är det mesta av ett program i praktiken dolt. Cmd+K är sättet som svarar på ”vad kan det” i stället för ”gör det här”.

Kommandolistan öppen över en terminal och ett Claude Code-block: Ny flik, Stäng flik, Håll den här maskinen vaken, delningarna och Stäng block, var och en med sitt åtgärdsnamn och sin genväg, och ett fält överst för att avgränsa listan Kommandolistan öppen över en terminal och ett Claude Code-block: Ny flik, Stäng flik, Håll den här maskinen vaken, delningarna och Stäng block, var och en med sitt åtgärdsnamn och sin genväg, och ett fält överst för att avgränsa listan
Kommandolistan öppnad med Cmd+K över ett skal och en agent: varje åtgärd med sitt namn, sitt åtgärdsnamn och sin genväg, redo att avgränsas genom att skriva.
  • Det lär ut tangenterna istället för att ersätta dem

    Varje rad visar sitt eget kortkommando. Den som tar fram listan två gånger för samma åtgärd har lärt sig tangenten till tredje gången.

  • Det är inte en femte ordlista

    Varje rad kör en åtgärd med namn, precis som de andra fyra gör. En kontroll håller tabellen den bygger på mot kärnans lista över vad en tangent får bindas till, i båda riktningarna: en åtgärd som finns men inte erbjuds där gör att bygget misslyckas.

  • Kommandoraden är samma uppsättning

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, skrivna i vilket vobuda-block som helst, och vobuda mcp erbjuder samma kommandon till en agent som MCP-verktyg. Ingen bakdörr för skript: gränssnittstesterna styr hela programmet genom den, vilket är skälet till att den går att lita på, och skälet till att en agent kan ordna om ditt fönster och du kan läsa exakt vad den gjorde.

Block, och vad de lovar

Ett block byter flik med sitt skal igång

Dra ett block i sitt sidhuvud till en flik i raden och det landar där: samma id, samma skal, samma mapp, och fortsätter köra vad det än körde. Fliken lyser upp i accentfärgen medan blocket är ovanför den. Det finns en åtgärd för det också, block.to-tab:2, så den kan läggas på en tangent och ett test utan mus kan trycka på den.

Storlekar sparas, och det finns ett golv

Per block, och inget block får bli så smalt att det slutar vara användbart. En panel på 200 punkter är en panel som ingen kan använda.

Inget av ditt försvinner i tysthet

Att stänga något som körs frågar först, vid namn, för att förlora någons arbete en gång kostar mer förtroende än en hel funktion ger. Av samma skäl tas en ögonblicksbild av projektmappen före varje agents tur, med ett tryck för att sätta tillbaka den; en nyckel som klistras in i en agent stoppas innan agenten ser den; och ett staket du kan slå på avvisar en agents skrivningar och raderingar utanför projektet.

Sessioner kommer tillbaka som standard

Flikar, block och varje blocks arbetsmapp kommer tillbaka efter en omstart, och det är på som standard; en brytare i avsnittet Allmänt stänger av det. En session som kommer från en annan maskin öppnar det den kan och säger vad den inte kunde, i stället för att i tysthet tappa block.

Inställningsmappen, fil för fil

Allt i ~/.config/vobuda är läsbar JSON, som bevakas medan programmet körs. Spara filen så ritas fönstret om.

FilVad den innehåller
settings.jsonTema, utseende, terminal, skal, fönster, signaler: varje inställning i de tio avsnitten
themes/*.jsonTerminal- och fönsterfärger. 25 paletter medföljer, två byggda för färgblindhet
looks/*.jsonFönstrets form: hörn, skuggor, panelfärger, transparens. 29 följer med
skins/*.jsonVilka övervakningspaneler som ritas, och hur
buttons.jsonDockan: knappar, ordning, sida, form, och en färg för de få som är värda att markera
agents.jsonHur en agent känns igen och vad den erbjuds
keys.jsonAlla kortkommandon. Den inbyggda macOS-menyn byggs från samma fil
workspaces/*.jsonProjekt: vart och ett ett fönster med egna flikar, mapp, tema och docka

Inbyggda teman finns i själva programmet och mappen åsidosätter dem, så att en uppdatering ger nya färger utan att skriva över något du redigerat. Hela mappen sparas som ett arkiv och återställs på en annan Mac, och på en Mac ligger en kopia i iCloud Drive, på som standard, med en brytare för att stänga av den.

En systemövervakare, ordnad av en fil

Tolv typer av paneler, och vilka av dem du ser är en skin och inte en skärm någon designat en gång för alla.

Systemmonitorn i ett block bredvid en terminal: processorbelastning med historik, varje kärna, minne i bruk, ledigt utrymme på startdisken, diskens läsningar och skrivningar och nätverkstrafik Systemmonitorn i ett block bredvid en terminal: processorbelastning med historik, varje kärna, minne i bruk, ledigt utrymme på startdisken, diskens läsningar och skrivningar och nätverkstrafik
Monitorn öppen som ett block bredvid skalet, dess paneler staplade: processor, kärnor, minne, disk, diskens läsningar och skrivningar och nätverk.
  • Siffrorna är ärliga om sig själva

    Ett värde som systemet uppskattar istället för mäter ritas med en tilde, och saknad hårdvara ger ett saknat värde istället för en nolla. En maskin utan diskret GPU får ingen GPU-panel som visar noll procent.

  • Båda adresserna, med en kopieringsknapp på var och en

    Adresspanelen namnger först adressen internet ser och under den den här maskinen har på sitt eget nätverk. Den frågar bara medan panelen är i bild, ungefär var tionde minut, eller var trettionde sekund medan ingen adress är känd än, och förfrågan innehåller inget om maskinen.

  • Omordnas genom att dra, precis som allt annat

    Övervakarens paneler, dockans knappar och agentradens delar plockas alla upp och placeras där de hör hemma med samma gest. En inställningsrad plockas upp via greppet till vänster istället för var som helst på raden, så att en dragning som börjar i ett textfält inte hindrar dig från att markera ordet du tänkte ändra.

En fil öppnas bredvid skalet

Det en terminal vanligtvis skickar dig någon annanstans för: en sökväg dyker upp i utdata, två rader behöver ändras, och fram tills nu innebar det att lämna för en editor och komma tillbaka med skalets kontext borta.

src/main.ts öppen i editorn bredvid ett terminalblock med en godkänd testkörning, och filpanelen med projektets mappar och filer och deras storlekar src/main.ts öppen i editorn bredvid ett terminalblock med en godkänd testkörning, och filpanelen med projektets mappar och filer och deras storlekar
src/main.ts öppen i editorn med radnummer och färgläggning, bredvid skalet och filpanelen den öppnades från.
  • Att spara är medvetet

    Ingenting skrivs förrän Cmd+S. En editor som skriver medan du skriver är en bra sak i en anteckningsapp och en dålig sak bredvid ett skal som körs. Det är en åtgärd istället för ett tangenttryck, vilket också ger den ett menyval, ett kortkommando och en post på kommandoraden precis som allt annat här.

  • Vägran spelar lika stor roll som skrivandet

    En fil som ändrats på disken sedan den öppnades skrivs inte över. En binärfil visas inte som förvrängd text. En mapp öppnas inte alls. Osparade ändringar bär en synlig markering, och att stänga en redigerad fil frågar.

  • Hitta en fil

    Filpanelen söker på namn nedanför mappen du står i, och varje resultat anger vilka två mappar den ligger i, eftersom ett namn ensamt inte kan skilja två index.ts åt. Den hoppar över node_modules, .git, target och liknande, stannar vid åtta nivåer eller tvåhundra resultat, och gör ingenting alls under två bokstäver.

Inställningar, som skärm och som filer

Tio avsnitt, från Allmänt till Data och integritet, en sökning över varje inställning, och varenda en är en rad i en fil du också kan redigera för hand.

Inställningsskärmen vid Utseende: slutet av temalistan, utseendet, fönstrets opacitet och minsta kontrast samt tillgänglighetsavläsningen för det valda Accessible-temat: textkontrast AAA och ett värde för hur väl färgerna kan skiljas åt vid färgblindhet Inställningsskärmen vid Utseende: slutet av temalistan, utseendet, fönstrets opacitet och minsta kontrast samt tillgänglighetsavläsningen för det valda Accessible-temat: textkontrast AAA och ett värde för hur väl färgerna kan skiljas åt vid färgblindhet
Utseende, under temalistan: utseendet, fönstrets opacitet, minsta kontrast och en bedömning av det valda temats textkontrast och hur väl färgerna kan skiljas åt vid färgblindhet.
  • Inställningarna kommer till blocket

    Att högerklicka på en panel betyder den här saken, ändra den. Så att välja en inställningsrad i ett blocks egen meny öppnar den sektionen ovanpå fönstret, vid menyns hörn, istället för att leda dig till inställningsskärmen. Det är en åtgärd precis som allt annat: settings.here:themes, settings.here:monitor.

  • Ett ljud du kan höra när du väljer det

    Att välja ett signalljud eller terminalens klocka spelar upp det. Att välja ett ljud från en lista med namn du inte kan höra är att välja ett namn.

  • Ingenting kräver en omstart

    Inställningsmappen bevakas, inklusive de två sakerna kärnan äger: macOS-menyraden byggd från din genvägsfil, och den globala tangenten för nedfällningsfönstret, där den gamla tangenten släpps innan den nya registreras så att inte två kan svara samtidigt. En kontroll läser varje ledtext i inställningsskärmen och underkänner ordet omstart.

Att tala och bli uppläst för

Båda använder systemets egna tal, på din maskin. Ljudet lämnar aldrig datorn.

Diktering

Cmd+Shift+V skriver in det du säger i blocket du arbetar i, och raden anger med två bokstäver vilket språk den lyssnar på. En dikterad fras skrivs in och körs aldrig: igenkänningen hör fel ibland, och ett felhört kommando som kör sig självt är ett program som raderar saker för att en radio stod på. Bredvid en agent, där en fras är ett meddelande istället för ett kommando, kan den skickas av sig själv, och det är en inställning som läses i det ögonblick frasen tar slut.

Att läsa upp svaret

Cmd+Shift+R läser upp agentens senaste svar högt; att trycka igen stoppar det. Det som läses är svaret, inte skärmen. En punkt längst fram, stjärnor runt ett betonat ord, backticks runt ett namn, en ramlinje, en fullständig sökväg där filnamnet hade räckt: de försvinner, och orden inuti dem blir kvar. Uppläsningen avgränsas av former istället för ord, nedåt av agentens inmatningsrad och uppåt av dess logotyp, eftersom en agents inramning ändras med varje ny version av den.

De små sakerna som avgör om du behåller det

Högerknappen är vår

Överallt i fönstret: blockets egen meny inuti ett block, fönstrets utanpåliggande meny, flikraden, dockan, mellanrummet mellan rutor. Varje rad är en åtgärd, och menyn har en egen åtgärd, block.menu, så att en gest bara en hand når inte är en gest ingenting kan testa. Den enda platsen som behåller systemets meny är ett textfält, där den erbjuder klipp ut, kopiera, klistra in och ordlistan.

Öppna en mapp varifrån som helst

vobuda://open?path=/some/path öppnar en flik i den mappen, från en Finder-åtgärd, ett skript eller en annan app. macOS har ingen systemomfattande standardinställning för terminal, så detta är den ärliga versionen av den funktionen istället för ett löfte det inte kan hålla.

Sök inuti ett block

Cmd+F. Fältet tillhör blocket det söker i, och att stänga det lämnar vyn där träffen var.

Ta blocket med dig

Cmd+Shift+X kopierar ett blocks text, efterfrågad av terminalen själv, vilket också är det som gör att det fungerar med GPU-rendering påslagen, där det inte finns någon text på sidan att markera. En bild av blocket är två åtgärder i Cmd+K, Block snapshot to clipboard och Block snapshot to a file.

Uppdateringskontroller som inte är läxor

Kärnan kontrollerar en gång om dagen, i en egen tråd, och det du ser är en remsa ovanför layouten i stället för över den, för en avisering som täcker en terminal är en människor lär sig stänga oläst. Inget installeras förrän du trycker: för en agent är uppdateringen ett kommando som skrivs i det aktiva blocket där dess utdata syns, och för Vobuda på en Mac installerar knappen den nya versionen i bakgrunden och erbjuder sedan en omstart, som sker av sig själv efter tio sekunder om inget körs.

Fyrtio språk, och en guide på vart och ett

Inklusive macOS-menyraden, som systemet bygger i kärnan. Arabiska och hebreiska speglar hela fönstret utom själva terminalen, där spegling skulle göra utdata och sökvägar oläsliga. En översättningsnyckel är den engelska strängen, så en oöversatt sträng faller tillbaka till läsbar engelska istället för till en tom rad eller en identifierare.

Prova delarna du just läste om

Efter två korta frågor vid första starten öppnas det med ett terminalblock och inget annat. Allt ovan är något du slår på när du vill ha det.

curl -fsSL https://vobuda.com/install.sh | sh