2 puan yazan GN⁺ 2025-06-17 | 1 yorum | WhatsApp'ta paylaş
  • Chawan, metin tabanlı terminalde çalışan yeni bir TUI web tarayıcısıdır
  • Bu 0.2.0 sürümü, MVP aşamasındaki tüm temel özellikleri içeriyor ve kritik hata bulunmayan bir durumda
  • Yalnızca libssh2, libbrotli, OpenSSL/LibreSSL kütüphaneleri zorunlu olarak gerekiyor; önceki sürümlerde bulunan çeşitli bağımlılıklar kaldırıldı
  • amd64 Linux için statik ikili dosya ve .deb paketi olarak da sunuluyor; bu da dağıtım ve kurulumu kolaylaştırıyor
  • Bir sonraki sürümde hedef, yerleşim modülünün performansını iyileştirmek ve daha iyi bir UI deneyimi sunmak

Chawan 0.2.0'a giriş

Chawan, terminal kullanıcı arayüzü (TUI) tabanlı, metin ortamında web'de rahatça gezinmek için tasarlanmış açık kaynaklı bir hafif web tarayıcısıdır. Bu 0.2.0 sürümü, minimum uygulanabilir ürün (MVP) aşamasındaki tüm ana özellikleri barındıran ilk kararlı sürümdür ve şu ana kadar önemli kritik hatalar bildirilmemiştir.

Dağıtım ve kurulum

  • Kaynak ağacının tarball sürümü sunuluyor; doğrudan derlemek isterseniz README'deki yönergeleri takip edebilirsiniz
  • amd64 Linux için statik ikili dağıtımı sunuluyor; arşivi açtıktan sonra make install komutuyla kolayca kurulabiliyor
    • Kaldırma işlemi make uninstall ile yapılabiliyor
  • Aynı dağıtım, .deb paketi biçiminde de sunuluyor; böylece Debian tabanlı sistemlerde doğrudan kurulabiliyor

Paket yöneticileri için bilgiler

  • Chawan'ın zorunlu çalışma zamanı bağımlılıkları şunlardır:
    • libssh2
    • libbrotli (libbrotlicommon, libbrotlidec dahil)
    • OpenSSL (3.0 ve üzeri) veya LibreSSL (OpenBSD 7.7 sürümünde test edildi)
  • Önceki geliştirme sürümlerinde kullanılan zlib, libseccomp, termcap/ncurses, libcurl artık gerekli olmadığından bağımlılıklardan çıkarıldı
  • Paketleme sırasında sorun yaşanırsa, yama uygulamadan önce önce geliştiriciyle iletişime geçmeniz önerilir; çünkü sorunun üst akışta doğrudan çözülebilme ihtimali yüksektir

Gelecek planları

  • Bu 0.2.0 sürümü beklenenden daha uzun sürmüş olsa da, tüm MVP özelliklerini tamamladığı için resmi dağıtım yapılmasına karar verilen sürümdür
  • v0.2 dalında bundan sonra yalnızca hata düzeltmeleri yapılacak; yeni özellikler master dalında geliştirilmeye devam edecek
  • Bir sonraki sürümde odak noktası, yerleşim modülünün performans ve doğruluğunu iyileştirmek ile UI'nin kullanıcı dostu yapısını geliştirmek olacak

Projenin önemi ve avantajları

  • Chawan, terminal ortamı için optimize edilmiş bir web tarayıcısı olarak, kaynakları sınırlı sunucu ve ortamlarda web içeriğine erişim sağlıyor
  • Mevcut metin tabanlı web tarayıcılarından farklı olarak, modern şifreleme ve sıkıştırma protokollerini desteklemesi ve bağımlılıkları minimumda tutmasıyla öne çıkıyor
  • Açık kaynak yapısı sayesinde ek genişletme ve özelleştirme için elverişli

1 yorum

 
GN⁺ 2025-06-17
Hacker News görüşleri
  • Nim ile yazılmış bir proje gördüğümde her seferinde mutlu oluyorum; Nim bana C/C++ ile Python arasında bir yerde duran en ilginç dil gibi geliyor. Nim topluluğunun büyüklüğüne kıyasla kullanıcılarının üretkenliği yüksek görünüyor; çok iyi bilmiyor olsam da Nim hakkındaki düşüncelerimin doğru olduğuna dair bir güven hissediyorum. Nim’in kitlesel olarak büyüyememiş olması üzücü.

  • shiomiru, TTY ile ilgili kavramları öğrenmek için en iyi kaynakların neler olduğunu merak ediyorum. Ücretsiz ya da ücretli fark etmez, öneri beklerim. TTY hakkında linusakesson.net’teki TTY giriş yazısını biliyorum, ancak termcap/terminfo/curses’a kadar açıklamaması bir sınır oluşturuyor. Başka bir yorumda O’Reilly’nin Termcap & Terminfo kitabından da söz edilmiş (çevrimiçi olarak buradan görülebilir).

    • chawan, kendi özel terminal modülünü kullanma deneyimi nedeniyle standart X/Open curses konusunda çok derin bir anlayışa sahip değil. Gerçek escape sequence’ler konusunda XTerm’in ctlseqs.ms belgesi çok faydalı bir kaynak. Ayrıca Nick Black’in notcurses projesinden de çok fikir aldım; özellikle de "sprixels" hakkındaki notlarını özellikle tavsiye ederim.
  • Chrome tabanlı bir başka motoru gereksiz yere kullanmak yerine, kısa süreli araştırma amaçlı kullanılabilecek yeni yaklaşımlar görmek beni hep sevindiriyor. Bugün tanıtılan şeyi okuldan sonra bizzat denemeyi dört gözle bekliyorum. Sixel olmayan ortamlarda özellikle faydalı olan çok hoş bir alternatif olarak Chromium’un terminal portu: carbonyl önerilir. Asıl geliştiricisi artık aktif biçimde geliştiremiyor, bu yüzden oldukça sınırlı; klavye kısayolları, dosya kaydetme gibi birçok özellik henüz yok. Yine de Web uyumluluğu ve yeniliği çok etkileyici. Rust bilen birinin projeyi devralmasını umuyorum; birkaç ay önce baktığımda popüler bir fork da yoktu.

  • Bu tür projeleri gerçekten seviyorum. Metin tabanlı siteleri bir araya getiren bir liste olsa harika olurdu. Benim kişisel favorilerim plaintextsports.com ve lite.cnn.com.

  • Gerçekten harika. Lenovo M8 4. nesilde Termux ile kaynaktan derlemeyi denedim; sadece Nim kurmak gerekiyor. Root kullanıcı olmadan da temiz şekilde kurulması etkileyiciydi.

  • Gerçekten güzel bir uygulama. Çeşitli işlerde gerçekten kullanıp sınırlarının nereye kadar gittiğini görmek istiyorum. HN sitesi de gayet iyi görünüyor.

  • Web sitemin Links’te de her zaman iyi görünmesi için çaba gösteriyordum; şimdi yeni bir aday daha var. Kısmi CSS desteği sayesinde öğeler arası boşluk gibi konularda düşünülmesi gereken şeyler de artıyor. Links’te margin/padding tamamen yok sayıldığı için menü gibi şeyleri tek satırda temizce dizmek kolaydı, ama şimdi durum biraz daha karmaşık.

    • Esas hedef, varsayılan durumda ek yapılandırma gerektirmeden "öylece çalışmasıydı", ama pratikte bazen öyle olmuyor. Böyle durumlar hata olarak değerlendirilebilir. Grid düzeni için özel CSS gerçekten gerekiyorsa, chawan’ın standart grid media query desteği sunduğunu da belirteyim.
  • Gerçekten harika bir proje ve Nim ile yapılmış olması da ayrıca takdire değer. cha example.com yazdığımda temel komutların (hjkl vb.) nasıl kullanılacağını hiç bilmiyorum; sayı tuşlarına basınca sol altta görünüyor ama onun dışında hiçbir tepki olmuyor. MacOS Sequoia 15.5 Apple Silicon ve Nim 2.24 ortamında kendim derledim. Web sayfaları gayet iyi yükleniyor ama komutlar çalışmıyor. Bir şeyi mi kaçırıyorum, yoksa bu bir hata mı?

    • Ghostty, iTerm2, Terminal.app gibi farklı terminallerde de aynı durumu yaşadım.
  • termcap/ncurses kullanılmıyor olması dikkat çekici. Bu, terminal işlemenin doğrudan elde yapıldığı anlamına mı geliyor?

    • Chawan’ın aslında ncurses değil, termcap kullandığı açıklandı. ncurses’ın termcap’i kendi iç uygulaması olarak da içermesi kafa karıştırabiliyor. Başta w3m kullandığım için termcap ile başladım, ama termcap artık neredeyse işe yaramaz bir arayüz ve modern terminallerde gereken true color’ı bile ifade edemiyor. Tek avantajı, aşırı eski 80’ler terminallerinde “şanslıysanız” çalışabilmesi, ama bunun da pek değeri yok. Terminfo’ya geçmek yerine tamamen vazgeçip terminal sorgu yaklaşımını benimsedim. Dahili bir terminal veritabanı da var, ama bu yalnızca bazı XTerm uyumsuz TERM değerlerini tanımak için kullanılıyor. Sorgulara düzgün yanıt veren bir terminalse, TERM değerinden bağımsız olarak iyi çalışıyor.
  • macOS’te yalnızca bir kez make komutunu çalıştırarak kolayca derlenebilmesi etkileyiciydi. elinks için modern bir alternatif çıkmış olması sevindirici.