Crie Efeitos no Terminal LIKE A PRO

🏆 Trata-se de um aplicativo escrito em Python.


Crie Efeitos no Terminal LIKE A PRO


Na postagem anterior: Crie facilmente Letras estilosas para o Terminal, nós mostramos como gerar nomes com fontes renderizadas no terminal.

Nesse artigo mostraremos como você pode combinar a informação anterior e criar animações no terminal.

Isso pode ser interessante para você adicionar a algum aplicativo linha de comando ou TUI que você pretende ou está desenvolvendo, para ser a introdução ou o help e até mesmo como menu de inicialização.

Veja os efeitos em um dos vídeos abaixo e logo após os vídeo há um tutorial explicando todo passo a passo de como você reproduzir na sua máquina!


Shorts


Tik Tok

@terminalroot

Crie Efeitos no Terminal LIKE A PRO Para mais informações acesse o link na descrição: https://terminalroot.com.br/2024/05/crie-efeitos-no-terminal-like-a-pro.html

♬ original sound - terminalroot

Reel

Ver essa foto no Instagram

Uma publicação compartilhada por Marcos Oliveira (@terminalroot)



Esses efeitos trata-se de um aplicativo escrito em Python chamado: TerminalTextEffects, ou somente: TTE!

TerminalTextEffects (TTE) é um mecanismo de efeitos visuais de terminal. O TTE pode ser instalado como um aplicativo de sistema para produzir efeitos em seu terminal ou como uma biblioteca Python para ativar efeitos em seus scripts/aplicativos Python.

O TTE inclui uma biblioteca crescente de efeitos integrados que mostram os recursos do mecanismo. Esses recursos incluem:

  • Suporte a cores hexadecimais Xterm 256 / RGB
  • Movimento complexo de personagens por meio de caminhos, pontos de referência e atenuação de movimento, com suporte para curvas Bézier quadráticas/cúbicas.
  • Animações complexas por meio de cenas com alterações de símbolos/cor, camadas, atenuação e progressão sincronizada com caminho.
  • Geração de gradiente de cores de parada/etapa variável.
  • Manipulação de eventos para alterações de estado de caminho/cena com suporte de retorno de chamada personalizado e muitas ações predefinidas.
  • Personalização de efeito exposta por meio de uma classe de dados de configuração de efeito digitada que é tratada automaticamente como argumentos CLI.

Executa inline, preservando o estado do terminal e o fluxo de trabalho.


Instalação

Para instalar basta usar o Pip com o seguinte comando:

pip install terminaltexteffects

Se seu sistema apresentar alguma crítica durante a instalação é porque provavelmente ele adota algumas políticas de segurança e você precisa instalar em um ambiente virtual.

Para isso rode os comandos abaixo na ordem:

mkdir -p ~/.local/bin/venv
python -m venv ~/.local/bin/venv
. ~/.local/bin/venv/bin/activate

Agora sim instale no ambiente virtual que foi iniciado:

pip install terminaltexteffects

Continue nesse terminal aberto se você ativou o venv nele para rodar os efeitos!


Criando efeitos

Existem diversos efeitos, o EFEITO 1 dos vídeos acima é o Beams. Para reproduzi-lo crie um arquivo Python, exemplo: beams.py e insira o conteúdo abaixo:

from terminaltexteffects.effects.effect_beams import Beams

effect = Beams("YourTextHere")

with effect.terminal_output() as terminal:

    for frame in effect:

        terminal.print(frame)

Onde há a string: YourTextHere é onde você deve pôr o texto que você quer animar. Para rodar:

python beams.py

Se quiser usar arquivos com textos prontos e maiores, por exemplo, o arquivo que eu usei nos vídeos:

vim conteudo.txt

┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐     ┌─┐ ┌─┐ ┌─┐ ┌─┐
│T│ │e│ │r│ │m│ │i│ │n│ │a│ │l│     │R│ │o│ │o│ │t│
└─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘     └─┘ └─┘ └─┘ └─┘

───────────────────────────────────────────────────
          ┌───┬───┬───┬───┬───┬───┐                               
          │ ﭱ⠀│ ﭰ⠀│ ﳑ⠀│ ⠀│ ⠀│ ⠀│ 
          └───┴───┴───┴───┴───┴───┘
---------------------------------------------------
     GameDev │ GUI │ TUI │ Web │ Libraries

    Um pouco de muito sobre C++, Programação, 
         Desenvolvimento de Games e Web.
                Ⓣ Ⓔ Ⓡ Ⓡ ⓞ ⓞ 
       ───────────── ◆ ─────────────
  O site Terminal Root é voltado para o ensino de 
  programação e desenvolvimento de software. Ele 
  oferece tutoriais, artigos e dicas sobre várias 
  linguagens e tecnologias, como C++, JavaScript, 
  C, Java, Go, Python, Assembly, CMake além de 
  ferramentas para desenvolvimento de jogos: SFML, 
  Raylib, SDL2 e entre outros. Além disso, o site 
  cobre tópicos também de desenvolvimento web, e 
  apresenta recomendações de livros sobre diversas 
  áreas da programação. Terminal Root também 
  disponibiliza cursos online e mantém um blog com 
  atualizações frequentes sobre novas ferramentas 
  e técnicas no campo da programação.

┌────────────────────────────────────────────────────┐
│ ┌┬┐  ┌┐  ┌┐  ┌┐┐  ∙  ┌┐  ┌┐  ┐     ┌┐  ┌┐  ┌┐  ┌┬┐ │ 
│  │   ├   ││  │ │  │  ││  ├│  │     ││  ││  ││   │  │ 
│  │   ││  │┘  │ │  │  ││  ││  ││    │┘  ││  ││   │  │ 
│  ┘   └┘  ┘┘  ┘ ┘  ┘  ┘┘  ┘┘  └┘    ┘┘  └┘  └┘   ┘  │ 
└────────────────────────────────────────────────────┘

E altere o código do arquivo beams.py para que carregue esse arquivo dinamicamente, deixe-o assim:

from terminaltexteffects.effects.effect_beams import Beams

with open('./conteudo.txt', 'r') as file:
    conteudo = file.read()

effect = Beams(conteudo)

with effect.terminal_output() as terminal:

    for frame in effect:

        terminal.print(frame)

Agora rode novamente e veja o EFEITO 1 idêntico ao do vídeo!



Os outros 2 efeitos são: BouncyBalls(EFEITO 2) e Binarypath(EFEITO 3).

Existem muito mais efeitos no endereço oficial do TTE.


Veja também:

Revelando os Segredos dos Hackers de Hollywood

Crie facilmente Tabelas no Terminal com C++

Escute Músicas no Terminal com Spectrum

As 30 melhores bibliotecas e pacotes Python para Iniciantes


python tui terminal


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!