dポイントプレゼントキャンペーン実施中!

fig_0.gif~fig_30.gifの30個の絵をdisplayコマンドで表示させるbashプログラムを作りたいと思います。
キーボードでEnterを押すと次の絵に移動するようにしたく、以下のようなプログラムを作成しました。
しかし以下のプログラムではdisplayのウィンドウがアクティブになります。
キーボード入力で次へ進むためには端末を一度クリックする必要があります。

端末をアクティブにする方法はありますでしょうか?
わかりにくい説明で申し訳ございませんが、ご存じのかたご回答よろしくお願いします。

#!/bin/bash
for ( i=0; i<30; i++ )
do
 display fig_${i}.gif &
 echo -n "next ?> "
 read INPUT
 killall display

done

A 回答 (1件)

端末をアクティブにする方法ではありませんが,下のスクリプトを使うとdisplayで画像を切り替えることができます.displayのウィンドウをアクティブにしたまま,キーボードからスペースキー入力で次の画像に進みます.



#!/bin/bash

rm -f tmp.$$.ppm
for F in *.gif
do
convert $F ${F%.gif}.$$.ppm
done

cat *.$$.ppm > tmp.$$.ppm
display tmp.$$.ppm

for F in *.gif
do
rm -f ${F%.gif}.$$.ppm
done
rm -f tmp.$$.ppm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!