
Ubuntuデスクトップでは、xdotool
マウスを使用して自分の前にないウィンドウ(Firefoxのウィンドウなど)をクリックし(リンクをクリックするなど)、いくつかのキー(+)を押すとCtrl他のウィンドウで作業できます。隠されたウィンドウで動作sしながら他のウィンドウの上に置く必要がある場合?xdotool
ありがとうございます。
答え1
ウィンドウIDを取得するには:
sleep 5; xdotool getactivewindow
5秒待ってからアクティブウィンドウIDを取得します。このコマンドを実行し、Firefoxをクリックして完了するまで待ちます。次の手順でこのIDを使用してください。
次のコマンドを実行して、特定のウィンドウに直接キーストロークを送信できます。
xdotool type --window [window ID] Hello World
man xdotool
コマンドと機能の完全なリストを取得するには、コマンドを使用してください。
Xdotoolはキーイベントを生成し、Firefoxウィンドウに直接送信します。ただし、特定のウィンドウにキーストロークを送信することは、単にアクティブウィンドウに入力するのとは異なるAPIを使用し、多くのアプリケーションはそれを無視します。
答え2
はい
Xdotoolを使用すると、前にないウィンドウに入力を送信できます。しかし、すべてのウィンドウがそのような入力を受け入れるわけではありません。たとえば、xterm
「イベント転送を許可」オプションを選択しない限り、そうではありません。Chromium
いいえ。しかし、少なくとも2019年現在、Firefoxは動作します。
以下は、すべてのFirefoxウィンドウで現在のタブを再ロードする例です。
xdotool search --class firefox key --window %@ Ctrl+F5
答え3
次のコマンドを使用して、このウィンドウを自動的にアクティブにし、以前にアクティブになったウィンドウに戻ることができます。
activewindow=$(xdotool getactivewindow)
xdotool windowactivate --sync $(xdotool search --name "Firefox") key space
xdotool windowactivate "$activewindow"
答え4
これは若干の変更で私に効果的です。インライン実行を使用して動作させることはできません。
activewindow=$(xdotool getactivewindow)
wantedwindow=$(xdotool search --name "Firefox")
xdotool windowactivate $wantedwindow
(xdotool commands here, starting with xdotool e.g. xdotool mousemove 0 0)
xdotool windowactivate $activewindow