2 pontos por GN⁺ 2025-06-17 | 1 comentários | Compartilhar no WhatsApp
  • O navegador web baseado em terminal Chawan 0.2.0 foi lançado e pode ser instalado como tarball do código-fonte, binário estático para Linux amd64 e pacote .deb
  • Em 25 de junho de 2025, também foi disponibilizado um patch release 0.2.1 corrigindo alguns dos principais problemas específicos de plataforma desta versão
  • Os mantenedores de pacotes precisam apenas organizar as dependências obrigatórias de runtime em torno de libssh2, libbrotli e OpenSSL ou LibreSSL
  • zlib, libseccomp, termcap/ncurses e libcurl não são mais necessários, e, se houver problemas de empacotamento, recomenda-se consultar o upstream em vez de aplicar patches temporários
  • O branch v0.2 receberá apenas correções de bugs, enquanto novos recursos continuam no master, e o próximo release terá como foco melhorias de desempenho e precisão do layout, além de usabilidade da UI

Arquivos de distribuição do Chawan 0.2.0

  • Chawan 0.2.0 foi lançado
  • O tarball da árvore de código-fonte está disponível em v0.2.0.tar.gz
    • Para compilar, consulte o arquivo README
  • Também é fornecida uma distribuição de binário estático para Linux amd64
    • Distribuição de binário estático
    • Para instalar, extraia o arquivo no local desejado e depois execute make install com privilégios de root
    • A remoção é feita com make uninstall
  • A mesma distribuição também pode ser baixada como pacote .deb

Patch release 0.2.1

  • Em um anúncio adicional em 25 de junho de 2025, foi disponibilizado um patch release corrigindo alguns dos principais problemas específicos de plataforma do 0.2.0
  • O patch release pode ser consultado em chawan-0-2-1.html

Dependências para mantenedores de pacotes

  • As dependências obrigatórias de runtime atuais são as seguintes
    • libssh2
    • libbrotli
      • Mais especificamente, libbrotlicommon e libbrotlidec
    • OpenSSL ou LibreSSL
      • Recomenda-se OpenSSL 3.0 ou superior
      • No caso do LibreSSL, foi testada a versão incluída no OpenBSD 7.7
  • As dependências presentes em versões anteriores de desenvolvimento não se aplicam mais e podem ser removidas
    • zlib
    • libseccomp
    • termcap/ncurses
    • libcurl
  • Se surgirem problemas ao empacotar o Chawan, recomenda-se entrar em contato primeiro antes de aplicar patches temporários
    • Há possibilidade de que o problema possa ser resolvido no upstream

Operação dos branches e próximos trabalhos

  • O 0.2.0 recebeu esse número de versão por incluir todos os recursos desejados para o MVP e não ter bugs críticos conhecidos
  • O branch v0.2 no git receberá apenas correções de bugs
  • O trabalho em novos recursos continua no branch master
  • O próximo release terá como objetivo melhorar o desempenho e a precisão do módulo de layout, além de tornar a UI um pouco mais amigável para o usuário

1 comentários

 
GN⁺ 2025-06-17
Comentários do Hacker News
  • É sempre bom ter uma forma de não precisar usar mais um motor Blink para pequenas missões paralelas de investigação. Pretendo testar isso depois do expediente ;)
    Caso ainda não tenha sido mencionado, um hack especialmente bom para ambientes sem sixel é o carbonyl, um porte de terminal do Chromium: https://github.com/fathyb/carbonyl
    Porém, como o criador original não tem tempo para mexer nele de novo, está em um estado bem básico, sem muitos recursos como atalhos de teclado ou salvar arquivos. Mesmo assim, é muito legal pelo fato de trazer compatibilidade web completa, e eu gostaria que alguém que soubesse Rust assumisse o projeto. Da última vez que vi, alguns meses atrás, não havia nenhum fork com tração

    • No post do GitHub do carbonyl, como o autor original é palestino, as pessoas continuam perguntando sobre a saúde e a segurança dele
      Espero que ele esteja bem. Só queria dizer que o trabalho dele era realmente ótimo. Eu realmente odeio guerra de modo geral
  • @shiomiru
    Fico curioso para saber quais você acha que são os melhores materiais para aprender esse tipo de conceito relacionado a TTY. Pode ser pago ou gratuito
    Por exemplo, conheço https://www.linusakesson.net/programming/tty/index.php, mas ele não cobre termcap/terminfo/curses
    Em um dos comentários mencionaram http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind..., e também parece haver uma versão online em https://www.scribd.com/document/831486848/Termcap-and-Termin...

  • Muito bem feito. Vou tentar usar isso em parte do meu trabalho diário para ver até onde dá para ir. A renderização do HN parece especialmente boa

    • Ótimo. Só não esqueça de relatar os bugs que encontrar
  • Incrivelmente legal! Também é bom ver algo escrito em Nim
    Quando executo cha example.com, não consigo entender como usar comandos como hjkl. As únicas teclas que pareciam surtir efeito eram os números, mostrados no canto inferior esquerdo. Ainda não entendi para que servem. Fico na dúvida se deixei passar algo óbvio no uso, ou se isso pode ser um bug
    Compilei a partir do código-fonte com Nim 2.24 em MacOS Sequoia 15.5 Apple Silicon. A página carrega corretamente, mas as teclas de comando não funcionam

    • Tentei no Ghostty, iTerm2 e Terminal.app, e o comportamento foi o mesmo em todos
  • Compilei a partir do código-fonte em um Lenovo M8 de 4ª geração rodando Termux, e só precisei instalar o Nim. A instalação foi limpa e funcionou bem mesmo sem usuário root

  • Fui investigar um pouco e parece que Chrome e Safari agora também já não passam completamente no Acid2 e Acid3

  • Sempre fiz questão de que meu site ficasse apresentável até no Links, e agora parece que surgiu um novo candidato
    Com algum suporte a CSS, isso acaba ficando até um pouco mais difícil. Antes, o links simplesmente ignorava margens e padding por completo, o que podia ser usado para exibir com mais limpeza elementos de lista inline como menus, mas agora o espaçamento entre elementos vira um problema

    • A intenção é simplesmente que “funcione”. Sei que às vezes não funciona, e isso pode ser tratado como bug :)
      Ainda assim, se você realmente precisar de CSS personalizado para exibição em grade, o chawan suporta o recurso de mídia padrão grid: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/grid
  • Sou usuário de w3m há muito tempo. Testei e acho que posso gostar. Muito bom mesmo
    Fico curioso se a ausência de “abrir URL”, ou seja, de uma barra de endereços, é uma decisão de projeto intencional

    • A barra de endereços deve abrir ao pressionar C-l, isto é, control + L
  • Excelente
    Pelo visto agora ele não usa termcap/ncurses, então fico curioso se o tratamento de terminal está sendo feito diretamente

    • Na verdade, o Chawan nunca usou ncurses; usava apenas termcap. Acontece que o ncurses também implementa termcap
      No início, comecei com termcap porque já estava familiarizado com ele por causa do w3m. Mas termcap é uma interface antiga e não consegue descrever o único atributo realmente útil em terminais modernos, o truecolor. A única vantagem era algo como “talvez funcione por acaso em terminais de hardware dos anos 80”, o que é legal, mas não valia a pena pelo modo extra de falha
      Então, em vez de migrar para terminfo, mudei completamente para uma base de consultas ao terminal, que eu já precisava por outros motivos. Ainda existe um banco de dados de terminais embutido para detectar valores de TERM conhecidos por não serem compatíveis com XTerm. Mas, se o terminal responder corretamente às consultas, ele funciona imediatamente mesmo que o valor de TERM não seja conhecido
  • Ver o HN carregar de primeira no Termux me deixou de boca aberta. Belo trabalho