Nasıl çalışır, parça parça
Programın tamamını bir arada tutan tek bir kural var: pencerenin durumu bellekte, yapılandırma ise dosyalarda yaşar. Aşağıdaki her şey bundan çıkar.
Her şeyin altındaki kural
Bir pencere sekmeleri tutar. Bir sekme blokları tutar. Bir blok bir terminal, düzenlenen bir dosya, dosyalar paneli, bir web sayfası, bir resim, bir PDF, bir Markdown sayfası, bir diff, sistem monitörü, ayarlar ekranı ya da bir eklentinin paneli olabilir. İç içe her yönde bölünürler, sürüklenirler, yeniden boyutlandırılırlar ve her yeni özellik için yeni bir küme yerine tek bir kurallar bütününe göre kapatılırlar. Herkese ait olmak için fazla büyük olan her şey vobuda'nın kendi kataloğundan bir eklentidir, şimdilik Design ve Director, tek basışla bütün olarak kurulur ve kaldırılır.
Bu düzenin hiçbir kısmı bir veritabanında saklanmaz, çünkü ortada bir veritabanı yoktur. Pencerenin ne yaptığı bellekte yaşar; sizin ne karar verdiğiniz ise dosyalarda yaşar. Bir düğmenin, bir tuşun, menü çubuğunun, Cmd+K'nın ve komut satırının hepsinin aynı eylemi isimle çağırmasının nedeni budur; farklı davranmasını sağlamanın neredeyse her zaman JSON düzenlemek anlamına gelmesinin nedeni de budur.
Bu, aynı zamanda, bu tür işler için tasarlanmış Mac için en iyi terminal uygulamasının, incelenebilir olan uygulama olmasının da nedenidir. Bir ayar varsa, onu tutan bir dosya satırı vardır. Bir eylem varsa, onu çağırabileceğiniz bir isim vardır.
Bir eyleme ulaşmanın beş yolu var, hepsi aynı eylemdir
Bu kadar çok eylem olunca, bir programın çoğu pratikte gizlidir. Cmd+K, «bunu yap» değil «ne yapabilir» sorusuna yanıt veren yoldur.
-
Tuşların yerini almak yerine onları öğretir
Her satır kendi kısayolunu gösterir. Aynı eylem için listeye iki kez başvuran biri, üçüncü seferde tuşu öğrenmiş olur.
-
Beşinci bir sözlük değildir
Her satır, diğer dört yöntemin yaptığı gibi, bir eylemi isimle çalıştırır. Bir kontrol, bu tablonun aldığı verileri çekirdeğin bir tuşa bağlanabilecek eylemler listesiyle her iki yönde de karşılaştırır: var olup orada sunulmayan bir eylem, derlemeyi başarısız kılar.
-
Komut satırı da aynı kümedir
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, herhangi bir vobuda bloğunda yazılır ve
vobuda mcpaynı komutları bir ajana MCP araçları olarak sunar. Betikler için bir yan kapı değil: arayüz testleri tüm programı bunun üzerinden sürer, ki ona güvenilebilmesinin ve bir ajanın pencerenizi yeniden düzenleyebilmesinin, sizin de tam olarak ne yaptığını okuyabilmenizin nedeni budur.
Bloklar ve vaat ettikleri
Bir blok, kabuğu çalışırken sekme değiştirir
Bir bloğu başlığından tutup şeritteki bir sekmenin üzerine sürükleyin, blok oraya yerleşir: aynı id, aynı kabuk, aynı klasör, çalışmakta olan her ne ise çalışmaya devam eder. Blok üzerindeyken sekme vurgu rengiyle yanar. Bunun için de bir eylem vardır, block.to-tab:2, böylece bir tuşa atanabilir ve fareye gerek duymayan bir kontrol de ona basabilir.
Boyutlar hatırlanır; bir de alt sınır vardır
Her blok için ayrı ayrı hatırlanır ve hiçbir blok, kullanılamayacak kadar daraltılamaz. 200 punto genişliğindeki bir panel, kimsenin kullanamayacağı bir paneldir.
Sizin hiçbir şeyiniz sessizce gitmez
Çalışan bir şeyi kapatmak önce sorar, adıyla, çünkü birinin işini bir kez kaybetmek bütün bir özelliğin kazandırdığından daha fazla güvene mal olur. Aynı nedenle proje klasörü her ajan turundan önce anlık görüntüye alınır, geri koymak için tek bir basış yeter; bir ajana yapıştırılan anahtar ajan görmeden durdurulur; açabileceğiniz bir koruma çiti ise bir ajanın proje dışına yazmalarını ve silmelerini reddeder.
Oturumlar varsayılan olarak geri gelir
Sekmeler, bloklar ve her bloğun çalışma klasörü yeniden başlatmadan sonra geri gelir ve bu varsayılan olarak açıktır; Genel bölümündeki tek bir anahtar bunu kapatır. Başka bir makineden gelen bir oturum yapabildiğini açar ve blokları sessizce düşürmek yerine neyi yapamadığını söyler.
Ayarlar klasörü, dosya dosya
~/.config/vobuda içindeki her şey, program çalışırken izlenen okunabilir JSON'dur. Dosyayı kaydedin, pencere yeniden çizilsin.
| Dosya | Ne içerir |
|---|---|
| settings.json | Tema, görünüm, terminal, kabuk, pencere, sinyaller: on bölümün her ayarı |
| themes/*.json | Terminal ve pencere renkleri. 25 palet birlikte gelir, ikisi renk körlüğü için tasarlanmıştır |
| looks/*.json | Pencerenin şekli: köşeler, gölgeler, panel renkleri, saydamlık. 29 tanesi gelir |
| skins/*.json | Hangi monitör panellerinin ve nasıl çizileceği |
| buttons.json | Dock: düğmeler, sıralama, kenar, şekil ve işaretlenmeye değer birkaçı için bir renk |
| agents.json | Bir ajanın nasıl tanındığı ve kendisine ne sunulduğu |
| keys.json | Her kısayol. Yerel macOS menüsü de bu dosyadan oluşturulur |
| workspaces/*.json | Projeler: her biri kendi sekmeleri, klasörü, teması ve dock'u olan bir pencere |
Yerleşik temalar ikilinin içinde yaşar ve klasör onları geçersiz kılar, böylece bir güncelleme düzenlediğiniz hiçbir şeyin üzerine yazmadan yeni renkler getirir. Klasörün tamamı tek bir arşiv olarak kaydedilir ve başka bir Mac'e geri yüklenir; bir Mac'te ise bir kopya iCloud Drive'da yaşar, varsayılan olarak açık, kapatmak için tek bir anahtarla.
Bir dosyayla düzenlenen sistem monitörü
On iki tür panel ve hangilerini gördüğünüz, birinin bir kez tasarladığı bir ekran değil, bir skindir.
-
Sayılar kendileri hakkında dürüsttür
Sistemin ölçmek yerine tahmin ettiği bir değer bir tilde ile gösterilir; olmayan bir donanım ise sıfır yerine eksik bir değer verir. Ayrık GPU'su olmayan bir makinede yüzde sıfır gösteren bir GPU paneli görünmez.
-
İki adres de, her birinde bir kopyalama düğmesiyle
Adres paneli önce internetin gördüğü adresi, altında ise bu makinenin kendi ağındaki adresi adlandırır. Yalnızca panel ekrandayken sorar, yaklaşık on dakikada bir, ya da henüz adres bilinmiyorsa otuz saniyede bir, ve istek makine hakkında hiçbir şey taşımaz.
-
Her şey gibi, sürükleyerek yeniden sıralanır
Monitörün panelleri, dock'un düğmeleri ve ajan çubuğunun parçaları, hepsi aynı hareketle tutulup gitmesi gereken yere konur. Bir ayar satırı, satırın herhangi bir yerinden değil solundaki tutamaçtan tutulur, böylece bir metin alanında başlayan bir sürükleme, değiştirmek istediğiniz kelimeyi seçmenizi engellemez.
Bir dosya, kabuğun yanında açılır
Bir terminalin genelde sizi başka bir yere gönderdiği şey: çıktıda bir yol belirir, iki satırın değişmesi gerekir ve şimdiye kadar bu, bir editöre gidip kabuğun bağlamını kaybederek geri dönmek anlamına geliyordu.
-
Kaydetmek bilinçli bir eylemdir
Cmd+S'e kadar hiçbir şey yazılmaz. Yazarken kaydeden bir editör, bir not uygulamasında güzel bir şeydir ama çalışan bir kabuğun yanında kötü bir şeydir. Bu bir tuş vuruşu değil, bir eylemdir, bu da ona buradaki her şey gibi bir menü öğesi, bir kısayol ve bir komut satırı girişi kazandırır.
-
Reddedişler, yazma kadar önemlidir
Açıldığından beri diskte değişmiş bir dosyanın üzerine yazılmaz. Bir ikili dosya bozuk metin olarak gösterilmez. Bir klasör hiç açılmaz. Kaydedilmemiş değişiklikler görünür bir işaret taşır ve düzenlenmiş bir dosyayı kapatmak sorar.
-
Bir dosya bulmak
Dosyalar paneli, üzerinde durduğunuz klasörün altında isme göre arar ve her sonuç hangi iki klasörün içinde olduğunu söyler, çünkü tek başına bir isim iki index.ts dosyasını birbirinden ayırt edemez. node_modules, .git, target ve benzerlerini atlar, sekiz seviyede veya iki yüz sonuçta durur ve iki harfin altında hiçbir şey yapmaz.
Ayarlar: bir ekran olarak ve dosyalar olarak
Genel'den Veri ve gizlilik'e on bölüm, her ayarda arama ve her biri elle de düzenleyebileceğiniz bir dosyadaki bir satır.
-
Ayarlar, bloğun ayağına gelir
Bir panele sağ tıklamak «şu şeyi burada değiştir» demektir. Bu yüzden bir bloğun kendi menüsündeki bir ayar satırını seçmek sizi ayarlar ekranına götürmek yerine o bölümü pencerenin üzerinde, menünün köşesinde açar. Bu, her şey gibi bir eylemdir: settings.here:themes, settings.here:monitor.
-
Seçtiğinizde duyabileceğiniz bir ses
Bir sinyal sesi veya terminalin zil sesini seçmek onu çalar. Duyamadığınız isimlerden oluşan bir listeden ses seçmek, sadece bir isim seçmektir.
-
Hiçbir şey yeniden başlatma istemez
Ayarlar klasörü izlenir, çekirdeğin sahip olduğu iki şey de dahil: kısayollar dosyanızdan oluşturulan macOS menü çubuğu ve açılır pencerenin genel tuşu; eskisi bırakılmadan yenisi kaydedilmez, böylece ikisi aynı anda cevap veremez. Bir kontrol, ayarlar ekranındaki her ipucunu okur ve 'yeniden başlat' kelimesinde başarısız olur.
Konuşmak ve okunmak
İkisi de makinenizde, sistemin kendi konuşma teknolojisini kullanır. Ses hiçbir zaman bilgisayardan dışarı çıkmaz.
Dikte
Cmd+Shift+V, söylediklerinizi üzerinde çalıştığınız bloğa yazar ve şerit hangi dilde dinlediğini iki harfle gösterir. Söylenen bir ifade yazılır ama asla çalıştırılmaz: tanıma yanlış duyabilir ve kendiliğinden çalışan yanlış duyulmuş bir komut, radyo açık olduğu için bir şeyleri silen bir programdır. Bir ifadenin komut değil mesaj olduğu bir ajanın yanında ise kendiliğinden gönderilebilir ve bu, ifade bittiği anda okunan bir ayardır.
Cevabı geri okumak
Cmd+Shift+R, ajanın son cevabını yüksek sesle okur; tekrar basmak onu durdurur. Okunan şey ekran değil, cevaptır. Başta bir madde işareti, vurgulanan bir kelimenin etrafındaki yıldızlar, bir ismin etrafındaki ters tırnaklar, bir kutu çizgisi, sadece dosya isminin yeteceği yerde tam bir yol: bunlar gider, içlerindeki kelimeler kalır. Okuma, kelimelerle değil şekillerle sınırlanır: aşağıdan ajanın giriş satırıyla, yukarıdan logosuyla, çünkü bir ajanın arayüz öğeleri her sürümde değişir.
Onu kullanmaya devam edip etmeyeceğinizi belirleyen küçük şeyler
Sağ düğme bize ait
Pencerenin her yerinde: bir bloğun içindeki kendi menüsü, pencerenin dışındaki menü, sekme şeridi, dock, döşemeler arasındaki boşluk. Her satır bir eylemdir ve menünün kendine ait bir eylemi de vardır, block.menu, böylece yalnızca bir elin ulaşabileceği bir hareket, hiçbir şeyin kontrol edemeyeceği bir hareket olmaz. Sistemin menüsünü koruyan tek yer bir metin alanıdır, orada kes, kopyala, yapıştır ve sözlük sunulur.
Herhangi bir yerden bir klasör açın
vobuda://open?path=/some/path, bir Finder eyleminden, bir betikten veya başka bir uygulamadan, o klasörde bir sekme açar. macOS'ta sistem düzeyinde bir varsayılan terminal ayarı yoktur, bu yüzden bu, tutamayacağı bir söz vermek yerine bu özelliğin dürüst versiyonudur.
Bir bloğun içinde arama yapın
Cmd+F. Alan, arama yaptığı bloğa aittir ve onu kapatmak görünümü eşleşmenin olduğu yerde bırakır.
Bloğu yanınıza alın
Cmd+Shift+X bir bloğun metnini kopyalar, bunu terminalin kendisinden ister, ki bu aynı zamanda GPU render'ı açıkken, sayfada seçilecek metin olmadığında da çalışmasını sağlar. Bloğun resmi, Cmd+K üzerindeki iki eylemdir: «Block snapshot to clipboard» ve «Block snapshot to a file».
Ödev olmayan güncelleme kontrolleri
Çekirdek günde bir kez, kendi iş parçacığında kontrol eder ve gördüğünüz şey yerleşimin üzerinde değil, üstünde bir şerittir, çünkü bir terminali örten bir bildirim insanların okumadan kapatmayı öğrendiği bir bildirimdir. Siz basmadıkça hiçbir şey kurulmaz: bir ajan için güncelleme, çıktısının göründüğü etkin bloğa yazılan bir komuttur, Mac'te Vobuda için ise düğme yeni sürümü arka planda kurar, ardından hiçbir şey çalışmıyorsa on saniye sonra kendiliğinden gerçekleşen bir yeniden başlatma sunar.
Kırk dil, her birinde de bir kılavuz
Sistemin çekirdekte oluşturduğu macOS menü çubuğu da dahil. Arapça ve İbranice, terminalin kendisi hariç tüm pencereyi aynalar, çünkü aynalamak çıktıları ve yolları okunamaz hale getirirdi. Bir çeviri anahtarı İngilizce metnin kendisidir, bu yüzden çevrilmemiş bir metin, boş bir alana veya bir tanımlayıcıya değil, okunabilir İngilizceye geri döner.
Az önce okuduğunuz kısımları deneyin
İlk çalıştırmada iki kısa sorudan sonra tek bir terminal bloğuyla açılır, başka hiçbir şeyle değil. Yukarıdaki her şey, istediğinizde açtığınız bir şeydir.
curl -fsSL https://vobuda.com/install.sh | sh