web-dev-qa-db-ja.com

xdotoolは前面ではないウィンドウで使用できますか?

Ubuntuデスクトップで、xdotoolを使用してマウスクリック(リンクをクリックするなど)して、前面にないウィンドウ(Firefoxのウィンドウなど)でいくつかのキー(Ctrl + Sなど)を押して、別の別のウィンドウで作業できますか?他のウィンドウの上に置く必要があるウィンドウと同時に、xdotoolが非表示のウィンドウで機能するようにしますか?ありがとう。

5
Tim

以下を実行することにより、キーストロークを特定のウィンドウに直接送信できます。

xdotool type --window Firefox hello

Xdotoolは重要なイベントを生成し、それらをウィンドウFirefoxに直接送信します。ただし、特定のウィンドウにキーストロークを送信すると、アクティブなウィンドウに単に入力するのとは異なるAPIが使用され、多くのアプリケーションはそれらを無視します。 (出典:man xdotoolリンク

また、Firefox 3は、フォーカスがない場合はすべての入力を無視しているようで、最近のバージョンについてはよくわかりません。

5
kirill-a

はい

Xdotoolを使用して、前面にないウィンドウに入力を送信できます。ただし、すべてのウィンドウがそのような入力を受け入れるわけではありません。たとえば、[イベントの送信を許可する]オプションをオンにしない限り、xtermは有効になりません。 Chromiumもそうではありません。ただし、少なくとも2019年の時点では、Firefoxは機能します。

これは、すべてのFirefoxウィンドウで現在のタブを再読み込みする例です。

xdotool search --class firefox key --window %@ Ctrl+F5
1
hackerb9