deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Ghostty ve herdr: Cmd kısayollarını bir kodlama-ajanı multiplexer'ına devretmek

Bir dev.to yazısı, Ghostty'nin Cmd kısayollarının nasıl çözüleceğini ve herdr'nin nasıl yeniden eşleneceğini gösteriyor; böylece tek bir tuş seti, kodlama ajanları için sekmeleri, panelleri ve kalıcı çalışma alanlarını yönetiyor.

Ghostty ve herdr: Cmd kısayollarını bir kodlama-ajanı multiplexer'ına devretmek

İki araç, tek bir kas hafızası

oronbz'nin dev.to'daki yazısı, niş ama gerçek bir sürtünme noktasına değiniyor: Ghostty terminalini, Claude Code, Codex ve opencode gibi kodlama ajanlarını panellerde çalıştırmak için özel olarak geliştirilmiş bir multiplexer olan herdr ile birlikte kullanmak. Her iki araç da yüzeyleri yönetiyor — Ghostty Cmd kısayollarıyla çalışan sekmeler ve bölünmeler sunarken, herdr kendi sekmelerini, panellerini ve tmux tarzı bir ön ek olan Ctrl+B artı bir harf ile kullanılan çalışma alanlarını getiriyor.

Günlerce iki zihinsel haritayı yönettikten sonra — Ghostty sekmesi için Cmd+T, herdr sekmesi için Prefix+C — yaklaşık sekiz aydır Ghostty kullanıcısı olan yazar, bunları birleştirmeye karar verdi. Hedef şu: herdr sekme, panel ve çalışma alanı tuşlarının sahibi olsun, Ghostty bu tuşları çözsün ki tuş vuruşları terminale geçsin ve herdr, Ghostty'nin az önce bıraktığı tuşlara tam olarak yanıt versin.

Tuşlar neden herdr'ye gidiyor

Yazıya göre iki model örtüşüyor ama özdeş değil. Ghostty'nin hiyerarşisi pencere, sekme, bölünme; herdr'ninki çalışma alanı, sekme, panel. Daha büyük fark durum (state) meselesi: Ghostty sekmeleri, pencere kapanınca kaybolan düz shell'lerdir; oysa herdr'nin sekmeleri ve panelleri kalıcı bir sunucuda yaşar, dolayısıyla düzenler — ve içerilerinde çalışan ajanlar — pencerenin kapanmasını ya da makinenin yeniden başlatılmasını atlatır. herdr ayrıca proje başına bir tane olmak üzere çalışma alanlarına sahiptir ve Ghostty'de bunun karşılığı yoktur.

Bu kalıcılık, klavyeyi herdr'nin kazanmasına dair pratik gerekçe: durumu tutan katman odur.

Devir teslim nasıl çalışıyor

Ghostty tarafında, paylaşılan Cmd bağlantıları yapılandırma dosyasında çözülür, böylece tuş vuruşu herhangi bir terminal girdisi gibi herdr'ye ulaşır. herdr tarafında ise doğrudan kısayollar opt-in'dir — araç, varsayılan olarak ön ek önceliklidir; tam da bu yüzden shell'ler ve editörler için tasarlanmış girdileri yutmaz. Prefix modu bir yedek olarak çalışmaya devam eder ve Prefix+? yardım panelini açar.

Yazının açıkladığı bir tasarım kararı: herdr'de numaralı iki seviye var, bu yüzden Cmd+1..9 çalışma alanlarına (daha büyük, proje kapsamlı birim), Alt+1..9 ise bir çalışma alanındaki sekmelere gidiyor. Alt'nin macOS'ta hiç algılanabilmesi için Ghostty'nin macos-option-as-alt = true ayarına ihtiyacı var, aksi halde Option özel karakterler yazdırır.

Yapılandırmalar

Ghostty için ~/.config/ghostty/config içinde (Cmd+, açar, Cmd+Shift+, yeniden yükler):

macos-option-as-alt = true

keybind = cmd+t=unbind keybind = cmd+w=unbind keybind = cmd+d=unbind keybind = cmd+shift+d=unbind keybind = cmd+[=unbind keybind = cmd+]=unbind keybind = cmd+shift+[=unbind keybind = cmd+shift+]=unbind keybind = cmd+1=unbind keybind = cmd+digit_1=unbind

... 2'den 9'a kadar aynı iki satır

herdr için ~/.config/herdr/config.toml içinde (Prefix+Shift+R veya herdr server reload-config ile yeniden yüklenir; herdr config check TOML'u doğrular):

[keys] new_tab = "cmd+t" close_pane = "cmd+w" split_vertical = "cmd+d" split_horizontal = "cmd+shift+d" cycle_pane_next = "cmd+]" cycle_pane_previous = "cmd+[" next_tab = "cmd+shift+]" previous_tab = "cmd+shift+[" switch_workspace = "cmd+1..9" switch_tab = "alt+1..9"

Belirtmeye değer bir tuzak: Ghostty varsayılan olarak hem cmd+1'i (karakter) hem cmd+digit_1'i (fiziksel tuş) bağlıyor, dolayısıyla ikisinin de çözülmesi gerekir yoksa varsayılanlardan biri hayatta kalır. ghostty +show-config --default | grep goto_tab ile doğrulayabilirsiniz.

Sonrasında neyi kim yönetiyor

Değişiklik yerleştirildiğinde Cmd+T bir herdr sekmesi açar, Cmd+W bir herdr panelini kapatır, Cmd+D ve Cmd+Shift+D herdr panellerini böler, Cmd+[ ve Cmd+] panel odağını taşır, Cmd+Shift+[ ve ] herdr sekmeleri arasında geçiş yapar, Cmd+1..9 çalışma alanlarını, Alt+1..9 sekmeleri değiştirir. Ghostty ise her şeye dokunmadan devam eder: kopyala-yapıştır, yeni pencere için Cmd+N, yazı tipi boyutu ve arama.

Yazar, dokuz rakamın çözülmesinin tamamı yazılmış tam kod parçalarını bir gist'te paylaşıyor ve yapılandırmayı kopyalamadan önce okumaya değer olarak herdr'nin ön eksiz kurulumlarla ilgili kendi belgelerine işaret ediyor. Yazı, bu bölümlemenin en iyisi olmayabileceği — yalnızca mevcut alışkanlıkları koruyan bölümleme olduğu — itirafıyla kapanıyor ve Ghostty'yi herdr, tmux veya Zellij ile çalıştıran diğerlerinden tuşları nasıl böldüklerini paylaşmalarını davet ediyor.

Neden önemli

Kodlama ajanları terminal multiplexer'larını yeniden relevante kıldı, çünkü ajanlar uzun süre çalışıyor ve yaşayacakları dayanıklı bir yere ihtiyaç duyuyorlar. Bu kurulum ortaya çıkan örtüşmeyi temiz biçimde çözüyor: durum kalıcı multiplexer'da duruyor, hızlı yerli terminal açık olsun ya da olmasın çalışmaya devam eden oturumlara bakan bir pencereye dönüşüyor ve yıllarca biriktirilmiş macOS Cmd-tuşu kas hafızası bozulmadan kalıyor. Ayrıca aktarılabilir bir şablon — aynı çöz-ve-yeniden-bağla deseni, aynı kısayollar için kavga eden her terminal ve multiplexer ikisine uygulanabilir.

  • #ghostty
  • #herdr
  • #terminal
  • #keyboard-shortcuts
  • #coding-agents

İlgili yazılar