回答:
次のコマンドを使用して、現在アクティブなウィンドウのすべての情報を取得できます。
xwininfo -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')
または
xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)
必要な座標の出力を解析するだけです。以下は、ウィンドウを操作するときに役立つコマンドです。
たとえば、アクティブなウィンドウのタイトルを「新しい名前」に変更するには:
wmctrl -r :ACTIVE: -N "New Name"
または、アクティブなウィンドウの位置を変更するには:
wmctrl -r :ACTIVE: -e 0,20,20,200,400
検討する wmctrl
ウィンドウのジオメトリなど、単純なものだけを変更する必要があるかどうかをてください。上記の他のスクリプトの使用は、他のより複雑なことをしたい場合にのみ検討してください。
xwininfo -id $(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | grep -Eo "0x[0-9a-f]{2,}")
xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)
は、ターミナルの子ウィンドウ(名前はありません)を表示します。私がちょうどxdpyinfo | grep focus
取得するfocus: window 0x435b877, revert to Parent
と、0x435b877は最初のコマンドで返されたウィンドウのIDです(これは私のために機能します)。これはTrusty 14.04.1 LTS
「xdotool」を使用すると、キーボードイベントまたはマウスイベントを使用してウィンドウを簡単に操作できます。
CtrlCアクティブなウィンドウにシーケンスを送信する例:
xdotool getwindowfocus key ctrl+c # Sends CTRL+C to the current window.
ウィンドウの位置が本当に必要な場合:
eval $(xdotool getmouselocation --shell); echo $X $Y
Error: Invalid key sequence 'ctrl-c'
。