Como exibir um terminal BASH X e gráficos na janela de visualização dividida?

3

Eu criei uma ferramenta de educação simples usando o script BASH que é executado em um terminal X. Ele exibe um prompt, no qual os usuários podem inserir opções, conforme descrito no Captura do Bash Guide for Beginners. entrada do usuário , e a entrada digitada anteriormente é empurrada para cima na tela.

 __________________________
|________________________X_|
| ...                    |^|
|       30               | |
|     x 10               | |
|    ------              | |
| >                      |=|
|________________________|v|

Ocasionalmente, preciso exibir alguns gráficos próximos a essa área de entrada de texto, que podem estar visíveis enquanto o usuário está digitando. Eu tentei várias soluções:

  • Usando txt2img de libcasa . Isso exibe o gráfico dentro da janela do terminal como arte ASCII colorida, mas gráficos complexos não eram facilmente reconhecíveis.
  • Usando eog para exibir a imagem. Isso exibe a imagem em outra janela, mas requer que o usuário pressione "q" ou saia da janela gráfica antes de continuar a usar o terminal.

Existe alguma maneira de apresentar uma janela de visualização dividida que coloque o script do terminal BASH em um painel e um gráfico de alta qualidade no outro, que pode ser atualizado pelo script BASH? Isso pode ser algo assim:

 __________________________
|________________________X_|
|                          |
|           (PNG)          |
|                          |
|==========================|
| ...                    |^|
| How many apples        | |
| do you see in the      | |
| picture?               | |
| >                      |=|
|________________________|v|
    
por Village 08.12.2014 / 12:02

1 resposta

0

resposta parcial:

O que você precisa é de um programa de visualização de imagens que possa exibir uma imagem sem acessar o foco do teclado . Então você pode matá-lo e executá-lo novamente. (inicie em segundo plano e $! será o PID). Ou pode ler uma lista de arquivos para exibir de um pipe, ou melhor, comandos como "exibir este arquivo agora" de um pipe, você poderia ter um pipe persistente para abrir como um dos descritores de arquivo do shell.

(Eu acho que isso é sobre q & a é: entrada de pipe do processo em segundo plano Estendendo isso para fazer um novo FD como fd 42 para que você possa gravar no pipe com echo foo >&42 pode funcionar. Ou talvez você precise usar coproc para isso.)

Eu olhei em volta, mas não encontrei nenhum visualizador de imagens que tivesse a opção de não pegar o foco. Talvez seja possível adicionar o sinalizador para solicitar isso ao código de um visualizador de imagem existente e compilar uma versão personalizada dele.

    
por 19.04.2015 / 17:52