回答:
wmctrlコマンドが仕事をしているようです。すでにインストールされていますが、必要に応じてリポジトリで利用できます。
wmctrl -l
現在開いているウィンドウ(gnomeパネルを含む)を一覧表示します。
wmctrl -a STRING
タイトルにSTRINGを含むウィンドウにフォーカスを与えます。複数のウィンドウがその条件を満たす場合、どうなるかわかりません。
私の場合、コマンドは次のとおりです。
wmctrl -a Firefox
shell wmctrl -a something
、何かがあなたのデバッガの端末タイトルで何かですが。
wmctrl
と組み合わせて使用すると、xdotool
Firefoxにフォーカスを切り替えて、キーボードまたはマウスのアクションを実行できます。
この例では:
wmctrl -R firefox && \
xdotool key --clearmodifiers ctrl+t ctrl+l && \
xdotool type --delay=250 google && \
xdotool key --clearmodifiers Tab Return
次の手順が実行されます。
私のubuntu pcで使用する以下のスクリプトはどうですか?ユースケースはこのようなものです。
$ ./focus_win.sh 1 # focus on a application window that executed at first
$ ./focus_win.sh 2 # second executed application window
キーボードのカスタムショートカットで割り当ててから使用しています。ctrl + 1、ctrl + 2、...
cat focus_win.sh
#! /bin/sh
if [ "" = "$1" ] ; then
echo "usage $0 <win index>"
exit 1;
fi
WIN_ID=`wmctrl -l | cut -d ' ' -f1 | head -n $1 | tail -n 1`
if [ "" = "$WIN_ID" ] ; then
echo "fail to get win id of index $1"
exit 1;
fi
wmctrl -i -a $WIN_ID