Skip to content

Repository files navigation

💻 WPF Terminal Emulator & Oh My Posh

Um emulador de terminal desenvolvido em C# e WPF (.NET 10) que replica a experiência rica e interativa do Windows Terminal. Hospeda o Xterm.js dentro de um motor Edge WebView2 permitindo suporte absoluto para renderizar cores ANSI truecolor perfeitamente, ligando-se nativamente e rodando os mais sofisticados Temas visuais estendidos do Oh My Posh, contando com o benefício de não necessitar de nenhum privilégio Administrativo de uso e nenhuma instalação em máquina.

✨ Recursos

  • 100% Portátil e Independente: Uma estrutura C# em background (OhMyPoshManager) instala a Engine customizada do Oh-My-Posh via GitHub e também cuida do provimento do download automático da MesloLGM Nerd Font para a máquina local sob demanda.
  • PTY (Pseudo Console) Real: Diferente dos emuladores de I/O bloqueantes em WPF (como os baseados em forms estáticos RichTextBox), este projeto encapsula a API interna Porta.Pty, garantindo assim autocompletion por [TAB], setas dimensionais e suporte aos prompts dinâmicos idênticos às janelas C-Host nativas do Windows 11.
  • Dark Mode Moderno: Uma janela em WindowChrome adaptada e imersiva com menu lateral de seleção viva de mais de 16 temas famosos para estilizar o PowerShell em um clique sem mexer em $PROFILE.
  • Navegação Inteligente entre Abas: A orquestração das abas do sistema não desliga e mata os threads do Edge e PowerShell. Você pode ter 10 abas de sessões diferentes rodando tranquilamente e trocar entre elas em milissegundos através da manipulação pura da Árvore Visual.

🚀 Como Executar

Se certifique de estar usando o SDK .NET (Preferencialmente .NET 8, 9 ou 10) instalado em sua máquina.

  1. Clone o repositório ou navegue na pasta raiz:
cd terminal
  1. Basta compilar e runnar:
dotnet run

Nota: Na primeira e inédita inicialização de uma aba de Tema, o processo demorará alguns poucos segundos invisíveis, consumidos pelo HttpClient baixando os binários assíncronos que ele manterá no cache LocalAppData em futuras execuções.

🛠️ Tecnologias Chave Adotadas:

  • Microsoft.Web.WebView2: Interface avançada Edge injetável.
  • Porta.Pty: A implementação .NET do ConPty do Kernel do Windows.
  • Xterm.js: Renderização complexa e compatibilidade terminal de escapes.
  • Newtonsoft.Json: Leitura do Stream de comunicações WPF/Web.

Escrito e Arquitetado para servir de inspiração e provas de conceitos C# e Hosts para sistemas modernos.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages