Chawan TUI-Webbrowser 0.2.0
(chawan.net)- Der terminalbasierte Webbrowser Chawan 0.2.0 wurde veröffentlicht und kann als Source-Tarball, statisches Binary für amd64 Linux sowie als
.deb-Paket installiert werden - Am 25. Juni 2025 wurde zusätzlich ein Patch-Release 0.2.1 bereitgestellt, das einige der wichtigsten plattformabhängigen Probleme dieser Version behebt
- Paket-Maintainer müssen die notwendigen Runtime-Abhängigkeiten im Wesentlichen auf libssh2, libbrotli sowie OpenSSL oder LibreSSL ausrichten
- zlib, libseccomp, termcap/ncurses und libcurl werden nicht mehr benötigt; bei Packaging-Problemen wird empfohlen, statt temporärer Patches zunächst Upstream zu kontaktieren
- Der v0.2-Branch erhält nur Bugfixes, neue Funktionen werden auf master weiterentwickelt; das nächste Release zielt auf Verbesserungen bei Layout-Performance und -Korrektheit sowie bei der UI-Benutzerfreundlichkeit ab
Chawan 0.2.0: Distributionsdateien
- Chawan 0.2.0 wurde veröffentlicht
- Der Source-Tree-Tarball ist als v0.2.0.tar.gz verfügbar
- Hinweise zur Kompilierung finden sich in der README-Datei
- Eine statische Binary-Distribution für amd64 Linux ist ebenfalls verfügbar
- Statische Binary-Distribution
- Zur Installation das Archiv an den gewünschten Ort entpacken und anschließend mit Root-Rechten
make installausführen - Die Deinstallation erfolgt mit
make uninstall
- Dieselbe Distribution ist auch als .deb-Paket erhältlich
Patch-Release 0.2.1
- In einer zusätzlichen Mitteilung vom 25. Juni 2025 wurde ein Patch-Release bereitgestellt, das einige wichtige plattformabhängige Probleme von 0.2.0 behebt
- Das Patch-Release ist unter chawan-0-2-1.html zu finden
Abhängigkeiten für Paket-Maintainer
- Die derzeit notwendigen Runtime-Abhängigkeiten sind:
- libssh2
- libbrotli
- genauer gesagt libbrotlicommon und libbrotlidec
- OpenSSL oder LibreSSL
- Für OpenSSL wird Version 3.0 oder höher empfohlen
- Bei LibreSSL wurde die in OpenBSD 7.7 enthaltene Version getestet
- Abhängigkeiten aus früheren Entwicklungsversionen gelten nicht mehr und können entfernt werden
- zlib
- libseccomp
- termcap/ncurses
- libcurl
- Wenn beim Packaging von Chawan Probleme auftreten, wird empfohlen, vor dem Anwenden temporärer Patches zuerst Kontakt aufzunehmen
- Es besteht die Möglichkeit, das Problem Upstream zu lösen
Branch-Verwaltung und nächste Arbeiten
- 0.2.0 enthält alle für das MVP gewünschten Funktionen und wurde in einem Zustand ohne bekannte kritische Bugs versioniert
- Der v0.2-Branch in git erhält nur Bugfixes
- Arbeiten an neuen Funktionen werden im master-Branch fortgesetzt
- Das nächste Release soll die Performance und Korrektheit des Layout-Moduls verbessern und die UI etwas benutzerfreundlicher machen
1 Kommentare
Meinungen auf Hacker News
Es ist immer erfreulich, wenn man für kurze Recherche-Side-Quests nicht noch eine weitere Blink-Engine verwenden muss. Werde ich nach Feierabend testen ;)
Falls es noch nicht erwähnt wurde: Für Umgebungen ohne sixel gibt es als besonders netten Hack carbonyl, einen Terminal-Port von Chromium: https://github.com/fathyb/carbonyl
Allerdings ist es in einem sehr grundlegenden Zustand, weil der ursprüngliche Autor keine Zeit mehr hat, daran weiterzuarbeiten, und viele Funktionen wie Tastenkürzel oder das Speichern von Dateien fehlen. Trotzdem ist es wirklich toll, dass es vollständige Webkompatibilität bringt, und ich wünschte, jemand mit Rust-Kenntnissen würde es wieder aufgreifen. Als ich vor ein paar Monaten nachgesehen habe, hatte keiner der Forks wirklich Schwung
Ich hoffe, es geht ihm gut. Ich möchte sagen, dass seine Arbeit wirklich gut war. Krieg ist insgesamt einfach schrecklich
@shiomiru
Ich frage mich, welche Ressourcen du für die besten hältst, um solche TTY-bezogenen Konzepte zu lernen. Bezahlt oder kostenlos ist egal
Zum Beispiel kenne ich https://www.linusakesson.net/programming/tty/index.php, aber das behandelt termcap/terminfo/curses nicht
In einem der Kommentare wurde http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind... erwähnt, und als Online-Version findet man auch https://www.scribd.com/document/831486848/Termcap-and-Termin...
Für die tatsächlichen Escape-Sequenzen ist XTerms ctlseqs.ms[1] eine äußerst wertvolle Quelle. Viele Ideen habe ich auch aus nick blacks notcurses[2] übernommen, und besonders empfehle ich die Notizen zu „sprixels“[3]
[1]: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
[2]: https://nick-black.com/dankwiki/index.php/Notcurses
[3]: https://nick-black.com/dankwiki/index.php/Theory_and_Practic...
Wirklich gut gemacht. Ich werde es für einen Teil meiner täglichen Arbeit ausprobieren und sehen, wie weit man damit kommt. Die HN-Darstellung sieht besonders gut aus
Supercool! Schön zu sehen, dass es in Nim geschrieben ist
Wenn ich
cha example.comausführe, weiß ich nicht, wie ich Befehle wie hjkl verwenden soll. Die einzigen Tasten, die eine Wirkung hatten, waren Zahlen, und die werden unten links angezeigt. Ich weiß auch noch nicht, was man damit macht. Ich frage mich, ob ich in der Bedienung etwas Offensichtliches übersehen habe oder ob es ein Bug sein könnteIch habe es unter MacOS Sequoia 15.5 auf Apple Silicon mit Nim 2.24 aus dem Quellcode gebaut. Die Seite lädt korrekt, aber die Befehlstasten funktionieren nicht
Ich habe es auf einem Lenovo M8 4. Generation mit Termux aus dem Quellcode kompiliert, und es musste nur Nim installiert werden. Obwohl es keinen
root-Benutzer gibt, lief die Installation sauber durchNach ein wenig Nachforschen scheint es, dass Chrome und Safari inzwischen Acid2 und Acid3 ebenfalls nicht mehr vollständig bestehen
Ich habe immer darauf geachtet, dass meine Website auch in Links gut aussieht, und jetzt scheint es einen neuen Kandidaten zu geben
Wenn ein Teil von CSS unterstützt wird, wird es eher etwas schwieriger. Früher hat links Margins und Padding komplett ignoriert, was man nutzen konnte, um Inline-Listenelemente wie Menüs sauberer darzustellen; jetzt werden die Abstände zwischen Elementen zum Problem
Wenn du trotzdem wirklich benutzerdefiniertes CSS für die Rasterdarstellung brauchst: chawan unterstützt das standardisierte
grid-Media-Feature: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/gridIch bin langjähriger w3m-Nutzer. Nach dem Ausprobieren glaube ich, dass mir das gefallen könnte. Sehr ordentlich
Ich frage mich, ob das Fehlen von „URL öffnen“, also einer Adressleiste, eine bewusste Designentscheidung ist
Großartig
Es scheint jetzt nicht mehr termcap/ncurses zu verwenden; ich frage mich, ob ihr die Terminal-Verarbeitung selbst macht
Anfangs habe ich mit termcap begonnen, weil ich es durch w3m bereits kannte. Aber termcap ist eine alte Schnittstelle und kann die einzige Eigenschaft, die auf modernen Terminals wirklich nützlich ist, nämlich Truecolor, nicht beschreiben. Der einzige Vorteil war so etwas wie „funktioniert vielleicht zufällig auf Hardware-Terminals aus den 80ern“, was zwar cool ist, aber keine zusätzlichen Fehlermodi rechtfertigt
Statt also zu terminfo zu wechseln, habe ich es vollständig auf Terminal-Abfragen umgestellt, die aus anderen Gründen ohnehin nötig waren. Eine eingebaute Terminal-Datenbank gibt es noch, um TERM-Werte zu erkennen, die bekanntermaßen nicht XTerm-kompatibel sind. Wenn ein Terminal jedoch korrekt auf die Abfragen antwortet, funktioniert es direkt, selbst wenn der TERM-Wert unbekannt ist
Als ich sah, dass HN in Termux beim ersten Versuch geladen wurde, blieb mir die Kinnlade offen. Tolle Arbeit
https://lists.sr.ht/~bptato/chawan-devel/%3CD9S40OS2QWHL.PXQ...
Er dient hauptsächlich dazu, die Vote-Pfeile zu reparieren. Derzeit rendert background-image nämlich nur einen Platzhalter