回答:
私xdotool getactivewindowはあなたが望むものだと思います-あなたはそれを試しましたか?
コマンドラインにxdotoolサブコマンドが他にない場合は、(ウィンドウスタックから)ウィンドウIDを出力します。
ではxdotool getactivewindow getwindowpid例えば、 getactivewindowウィンドウスタックにIDを入れ、getwindowpidPIDを照会し、このIDを使用しています。ターミナルでコマンドを実行すると、アクティブであるため、常にターミナルウィンドウのIDが返されることに注意してください。別のウィンドウからIDを取得するにsleep 2s && xdotool getactivewindowは、2秒のタイムスパンで対象のウィンドウを選択してください。
xdotoolウィンドウ処理のために他のツールを
使用すると、複雑になります。
一方でxdotool、出力用途はwindwo IDの番号を小数、他のほとんどのツールは使い進(彼らは通常、入力の両方をサポートする)出力用の番号を。
たとえば、でウィンドウを見つけた場合、すべてのウィンドウをリストxdotool getactivewindowするの出力では結果が見つかりませんxwininfo -root -tree。最初に16進数に変換する必要があります。
$ xdotool getactivewindow
69206716
$ printf 0x%x 69206716
0x42002bc
$ xwininfo -root -tree | grep 0x42002bc
0x42002bc (has no name): ("konsole" "Konsole") 1154x781+0+0 +1289+498
10進数から16進数への変換:
printf 0x%x 69206716
16進数を10進数に変換します。
printf %i 0x42002bc
xwininfo -root -treeこのコマンドはすべてのウィンドウを印刷し、ウィンドウには別のタイプの番号付けがあります。
xwininfoウィンドウIDを16進数として表示し、xdotoolは10進数を表示しますが、まったく同じです。
xwininfo -root -tree | grep 2200004 0x2200004 "user@host:~": ("gnome-terminal" "Gnome-terminal") 1680x974+0+26 +0+51
このコマンドは私のために働きます
xdotool key --window "$(xdotool getactivewindow)" F5
xdotoolバージョン3.20160805.1
xdotool getactivewindow key F5同じ結果になるはずです
xdotool getactivewindowコマンドを試してみましたが、ターミナルに結果が表示されないのが問題です。結果をウィンドウスタックに保存します。このコマンドはいくつかの番号を出力しますが、ウィンドウIDではありません(例:35651588)