我用BASH脚本创建了一个简单的教育工具,它运行在X终端上。它显示一个提示,用户可以在此输入选项,如Beginners‘捕捉用户输入中所述,并将先前键入的输入推送到屏幕上。
__________________________
|________________________X_|
| ... |^|
| 30 | |
| x 10 | |
| ------ | |
| > |=|
|________________________|v|偶尔,我需要在这个文本输入区域附近显示一些图形,在用户输入时可以看到。我尝试了各种解决方案:
txt2img的libcasa。这将终端窗口内的图形显示为彩色的ASCII艺术,但复杂的图形不易识别。eog显示图片。这将在另一个窗口中显示图片,但需要用户在继续使用该终端之前按下"q“或退出图形窗口。是否有任何方式显示一个分割视图窗口,将BASH终端的脚本放置在一个窗格中,在另一个窗格中显示一个高质量的图形,可以通过BASH脚本进行更新?这个看起来可能是这样的:
__________________________
|________________________X_|
| |
| (PNG) |
| |
|==========================|
| ... |^|
| How many apples | |
| do you see in the | |
| picture? | |
| > |=|
|________________________|v|发布于 2015-04-19 15:52:26
部分答复:
您需要的是一个图像查看程序,它可以在不抓取键盘焦点的情况下显示图像。那你要么杀了它再重新运行。(在后台启动它,$!将是PID)。或者,它可以从管道中读取要显示的文件列表,或者更好的是,从管道中读取“立即显示此文件”之类的命令,您可以打开一个持久的管道,作为shell的文件描述符之一。
(我认为这就是这个问答的意义:背景工艺管道输入。将其扩展为一个新的FD为fd 42,这样您就可以使用echo foo >&42写入管道。或者您可能需要为此使用coproc )。)
我环顾了一下四周,但没有发现任何可以选择不抓住焦点的图像观看者。可以将标志添加到现有图像查看器代码中,并编译该标记的自定义版本。
https://unix.stackexchange.com/questions/172087
复制相似问题