Vobuda
Stáhnout Jak to fungujeClaude Codevs CodexPorovnání O aplikaci Kontakt

Jak to funguje, část po části

Celý program drží pohromadě jedno pravidlo: stav okna žije v paměti a nastavení žije v souborech. Všechno níže z toho vychází.

Pravidlo, na kterém stojí všechno

Okno obsahuje karty. Karta obsahuje bloky. Blok je terminál, upravovaný soubor, panel se soubory, webová stránka, obrázek, PDF, stránka Markdown, diff, systémový monitor, obrazovka nastavení nebo panel doplňku. Dělí se libovolným směrem s vnořováním, přetahují se, mění velikost a zavírají podle jedné sady pravidel, ne podle nové sady pro každou novou funkci. Cokoli, co je příliš velké, aby to patřilo všem, je doplněk z vlastního katalogu vobuda, zatím Design a Director, instalovaný a odebíraný celý jedním stiskem.

Nic z tohoto uspořádání se neukládá do databáze, protože žádná databáze neexistuje. To, co okno právě dělá, žije v paměti; to, co jste si nastavili, žije v souborech. Proto tlačítko, klávesa, panel nabídky, Cmd+K i příkazová řádka volají stejnou akci podle jejího jména, a proto změnit chování téměř vždy znamená upravit JSON.

Proto je pro tento typ práce nejlepším emulátorem terminálu pro Mac ten, který si můžete prohlédnout zevnitř. Pokud nastavení existuje, existuje i řádek v souboru, který ho drží. Pokud existuje akce, existuje i jméno, kterým ji můžete zavolat.

Pět cest k akci, a je to pořád tatáž akce

Při tolika akcích je většina programu v praxi skrytá. Cmd+K je cesta, která odpovídá na otázku „co to umí“, ne na příkaz „udělej tohle“.

Seznam příkazů otevřený nad terminálem a blokem Claude Code: Nová karta, Zavřít kartu, Nechat tento počítač vzhůru, dělení a Zavřít blok, každý s názvem akce a zkratkou a nahoře pole pro zúžení seznamu Seznam příkazů otevřený nad terminálem a blokem Claude Code: Nová karta, Zavřít kartu, Nechat tento počítač vzhůru, dělení a Zavřít blok, každý s názvem akce a zkratkou a nahoře pole pro zúžení seznamu
Seznam příkazů otevřený přes Cmd+K nad shellem a agentem: každá akce pod svým názvem, s názvem akce a zkratkou, připravená k zúžení psaním.
  • Učí klávesy, místo aby je nahrazoval

    Každý řádek zobrazuje svou vlastní zkratku. Kdo pro stejnou akci sáhne po seznamu dvakrát, potřetí už zná klávesu.

  • Není to pátý slovník

    Každý řádek spouští akci podle jména, přesně jako ostatní čtyři cesty. Kontrola porovnává tabulku, ze které čerpá, se seznamem jádra toho, na co lze navázat klávesu, a to oběma směry: pokud akce existuje a v seznamu chybí, sestavení selže.

  • Příkazová řádka je stejná množina

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, psané v kterémkoli bloku vobuda, a vobuda mcp nabízí agentovi tytéž příkazy jako nástroje MCP. Není to boční dvířka pro skripty: testy rozhraní přes ni řídí celý program, a proto se jí dá věřit a proto může agent přeskládat vaše okno a vy si přesně přečtete, co udělal.

Bloky a co slibují

Blok mění kartu, aniž by se zastavil shell

Přetáhněte blok za záhlaví na kartu v liště a přistane tam: stejné id, stejný shell, stejná složka, pořád běží to, co běželo. Karta se při přetažení bloku nad ní rozsvítí zvýrazňovací barvou. Existuje pro to i akce, block.to-tab:2, takže ji lze přiřadit klávese a stisknout ji i bez myši v kontrole.

Velikosti se pamatují a mají spodní hranici

Pro každý blok zvlášť, a žádný blok nesmí zúžit natolik, že přestane být použitelný. Panel o šířce 200 bodů je panel, který nikdo nevyužije.

Nic vašeho nezmizí potichu

Zavření něčeho běžícího se nejdřív zeptá, podle jména, protože jednou ztracená práce stojí víc důvěry, než kolik jí získá celá nová funkce. Ze stejného důvodu se složka projektu před každým tahem agenta uloží jako snímek, s jedním stiskem, který ji vrátí; klíč vložený agentovi se zastaví dřív, než ho agent uvidí; a plot, který můžete zapnout, odmítá zápisy a mazání agenta mimo projekt.

Relace se vracejí ve výchozím stavu

Karty, bloky a pracovní složka každého bloku se po restartu obnoví a ve výchozím stavu je to zapnuté; jeden přepínač v sekci Obecné to vypne. Relace, která přišla z jiného počítače, otevře, co může, a řekne, co se nepovedlo, místo aby bloky potichu vynechala.

Složka nastavení, soubor po souboru

Všechno v ~/.config/vobuda je čitelný JSON, který se sleduje za běhu programu. Uložíte soubor a okno se překreslí.

SouborCo obsahuje
settings.jsonMotiv, vzhled, terminál, shell, okno, signály: každé nastavení z deseti sekcí
themes/*.jsonBarvy terminálu a okna. Dodává se 25 palet, dvě navržené pro barvoslepost
looks/*.jsonTvar okna: rohy, stíny, barvy panelů, průhlednost. Dodává se 29
skins/*.jsonKteré panely monitoru se vykreslují a jak
buttons.jsonDok: tlačítka, pořadí, strana, tvar a barva pro ta, která stojí za zvýraznění
agents.jsonJak se agent rozpozná a co se mu nabízí
keys.jsonVšechny klávesové zkratky. Ze stejného souboru se sestavuje i nativní nabídka macOS
workspaces/*.jsonProjekty: každý jako okno s vlastními kartami, složkou, motivem a dokem

Vestavěné motivy žijí přímo v binárce a složka je přebíjí, takže aktualizace přinese nové barvy, aniž by přepsala cokoliv, co jste upravili. Celá složka se uloží jako jeden archiv a obnoví na jiném Macu a na Macu leží kopie v iCloud Drive, ve výchozím stavu zapnutá, s jedním přepínačem, který ji vypne.

Systémový monitor uspořádaný souborem

Dvanáct druhů panelů, a to, které z nich vidíte, určuje skin, ne obrazovka, kterou někdo jednou navrhl.

Systémový monitor v bloku vedle terminálu: zatížení procesoru s historií, každé jádro, používaná paměť, volné místo na startovacím disku, čtení a zápisy disku a síťový provoz Systémový monitor v bloku vedle terminálu: zatížení procesoru s historií, každé jádro, používaná paměť, volné místo na startovacím disku, čtení a zápisy disku a síťový provoz
Monitor otevřený jako blok vedle shellu, jeho panely pod sebou: procesor, jádra, paměť, disk, čtení a zápisy disku a síť.
  • Čísla jsou k sobě upřímná

    Hodnota, kterou systém spíš odhaduje než měří, se kreslí s vlnovkou, a chybějící hardware dá chybějící hodnotu, ne nulu. Počítač bez samostatné GPU nedostane panel GPU ukazující nula procent.

  • Obě adresy, každá s vlastním tlačítkem pro kopírování

    Panel adres uvádí adresu, kterou jako první vidí internet, a pod ní adresu, kterou má tento počítač ve své vlastní síti. Ptá se, jen dokud je panel na obrazovce, zhruba jednou za deset minut, nebo každých třicet sekund, dokud žádná adresa není známa, a požadavek s sebou nenese žádné informace o počítači.

  • Přeřazuje se přetažením, stejně jako všechno ostatní

    Panely monitoru, tlačítka doku i části lišty agenta se zvedají a přesouvají stejným gestem. Řádek nastavení se zvedá za úchyt vlevo, ne kdekoliv na řádku, takže přetažení začaté nad textovým polem vám nezabrání vybrat slovo, které jste chtěli změnit.

Soubor se otevře vedle shellu

Věc, kvůli které vás terminál obvykle posílá jinam: ve výstupu se objeví cesta, potřeba změnit dva řádky, a dosud to znamenalo odejít do editoru a vrátit se se ztraceným kontextem shellu.

Soubor src/main.ts otevřený v editoru vedle terminálového bloku s úspěšným během testů a panel souborů s výpisem složek a souborů projektu s jejich velikostmi Soubor src/main.ts otevřený v editoru vedle terminálového bloku s úspěšným během testů a panel souborů s výpisem složek a souborů projektu s jejich velikostmi
Soubor src/main.ts otevřený v editoru s čísly řádků a zvýrazněním, vedle shellu a panelu souborů, ze kterého byl otevřen.
  • Ukládání je záměrné

    Nic se nezapíše, dokud nestisknete Cmd+S. Editor, který zapisuje za psaní, je v poznámkové aplikaci v pořádku, ale vedle běžícího shellu je to špatný nápad. Je to akce, ne jen stisk klávesy, a proto má i položku v nabídce, zkratku a záznam v příkazové řádce jako všechno ostatní tady.

  • Odmítnutí jsou stejně důležitá jako zápis

    Soubor změněný na disku od otevření se nepřepíše. Binární soubor se nezobrazí jako zpřeházený text. Složka se vůbec neotevře. Neuložené změny nesou viditelné označení a zavření upraveného souboru se zeptá.

  • Hledání souboru

    Panel se soubory hledá podle jména ve složkách pod tou, ve které stojíte, a u každého výsledku uvádí, ve kterých dvou složkách leží, protože samotné jméno nerozliší dva soubory index.ts. Přeskakuje node_modules, .git, target a podobné, zastaví se po osmi úrovních nebo dvou stech výsledcích a při méně než dvou písmenech nedělá vůbec nic.

Nastavení jako obrazovka i jako soubory

Deset sekcí, od Obecného po Data a soukromí, vyhledávání přes každé nastavení, a každé z nich je řádek v souboru, který můžete upravit i ručně.

Obrazovka nastavení v části Vzhled: konec seznamu motivů, vzhled, průhlednost okna a minimální kontrast a údaje o přístupnosti pro vybraný Přístupný motiv: kontrast textu AAA a skóre rozlišitelnosti pro osoby s poruchou barvocitu Obrazovka nastavení v části Vzhled: konec seznamu motivů, vzhled, průhlednost okna a minimální kontrast a údaje o přístupnosti pro vybraný Přístupný motiv: kontrast textu AAA a skóre rozlišitelnosti pro osoby s poruchou barvocitu
Vzhled, pod seznamem motivů: vzhled, průhlednost okna, minimální kontrast a hodnocení kontrastu textu vybraného motivu a jeho rozlišitelnosti pro čtenáře s poruchou barvocitu.
  • Nastavení přijdou za blokem

    Kliknutí pravým tlačítkem na panel znamená „tuhle věc tady, změň ji“. Takže výběr řádku nastavení ve vlastní nabídce bloku otevře danou sekci přímo nad oknem, v rohu nabídky, místo aby vás zavedl na obrazovku nastavení. Je to akce jako všechno ostatní: settings.here:themes, settings.here:monitor.

  • Zvuk, který uslyšíte hned při výběru

    Výběr zvuku signálu nebo zvonku terminálu ho rovnou přehraje. Vybírat zvuk ze seznamu jmen, která neslyšíte, znamená vybírat jméno.

  • Nic nežádá restart

    Složka s nastavením se sleduje, včetně dvou věcí, které patří jádru: nabídky macOS sestavené z vašeho souboru zkratek a globální klávesy rozbalovacího okna, kde se stará klávesa uvolní dřív, než se zaregistruje nová, aby na ni neodpovídaly dvě najednou. Kontrola čte každou nápovědu na obrazovce nastavení a selže na slově restart.

Mluvení a poslouchání

Obojí využívá vlastní řeč systému, přímo ve vašem počítači. Zvuk počítač nikdy neopustí.

Diktování

Cmd+Shift+V napíše to, co říkáte, do bloku, ve kterém pracujete, a lišta dvěma písmeny ukazuje, v jakém jazyce naslouchá. Nadiktovaná fráze se napíše, ale nikdy sama nespustí: rozpoznávání se přeslechne, a přeslechnutý příkaz, který se spustí sám, je program, co maže věci, protože hrálo rádio. U agenta, kde je fráze zpráva, ne příkaz, se může odeslat sama, a to je nastavení, které se čte ve chvíli, kdy fráze skončí.

Přečtení odpovědi nahlas

Cmd+Shift+R přečte nahlas poslední odpověď agenta; dalším stiskem se čtení zastaví. Čte se odpověď, ne obrazovka. Odrážka na začátku, hvězdičky kolem zvýrazněného slova, zpětné apostrofy kolem jména, ohraničení rámečkem, celá cesta tam, kde by stačil název souboru: tohle všechno zmizí a zůstanou jen slova uvnitř. Čtení je ohraničené tvary, ne slovy, zdola vstupním řádkem agenta a shora jeho logem, protože se rozhraní agenta mění s každým jeho vydáním.

Drobnosti, které rozhodnou, jestli si to necháte

Pravé tlačítko je naše

Všude v okně: vlastní nabídka bloku uvnitř bloku, vnější nabídka okna, lišta karet, dok, mezera mezi dlaždicemi. Každý řádek je akce a i samotná nabídka má vlastní akci, block.menu, takže gesto, na které dosáhne jen ruka, není gesto, které nejde ničím zkontrolovat. Jediné místo, kde zůstává systémová nabídka, je textové pole, kde nabízí vyjmutí, kopírování, vložení a slovník.

Otevřít složku odkudkoliv

vobuda://open?path=/some/path otevře kartu v dané složce, ať už z akce Finderu, ze skriptu nebo z jiné aplikace. macOS nemá žádné systémové nastavení výchozího terminálu, takže tohle je poctivá verze té funkce místo slibu, který nejde splnit.

Hledání uvnitř bloku

Cmd+F. Pole patří k bloku, ve kterém hledá, a po zavření zůstane zobrazení tam, kde byla shoda.

Vezměte si blok s sebou

Cmd+Shift+X zkopíruje text bloku, o který se vyžádá přímo terminál, díky čemuž to funguje i při zapnutém vykreslování na GPU, kde na stránce není žádný text k výběru. Obrázek bloku jsou dvě akce na Cmd+K, Snímek bloku do schránky a Snímek bloku do souboru.

Kontroly aktualizací, které nejsou úkolem navíc

Jádro kontroluje jednou denně, ve vlastním vlákně, a to, co vidíte, je lišta nad rozvržením, ne přes něj, protože upozornění, které zakrývá terminál, se lidé naučí zavírat nepřečtené. Nic se neinstaluje, dokud nestisknete: u agenta je aktualizace příkaz napsaný do aktivního bloku, kde je vidět jeho výstup, a u vobuda na Macu tlačítko nainstaluje novou verzi na pozadí a pak nabídne restart, který se sám provede po deseti sekundách, když nic neběží.

Čtyřicet jazyků, a v každém návod

Včetně nabídky macOS, kterou systém sestavuje přímo v jádru. Arabština a hebrejština zrcadlí celé okno kromě samotného terminálu, kde by zrcadlení znečitelnilo výstup a cesty. Klíčem překladu je anglický řetězec, takže nepřeložený řetězec spadne zpátky do čitelné angličtiny místo do prázdna nebo identifikátoru.

Vyzkoušejte to, o čem jste právě četli

Po dvou krátkých otázkách při prvním spuštění se otevře s jedním terminálovým blokem a ničím jiným. Všechno výše popsané zapnete, až to budete chtít.

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