これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド xdotool です。
プログラム:
NAME
xdotool - コマンドライン X11 自動化ツール
SYNOPSIS
xdotool CMD 引数..。
注記: 一部のドキュメントでは次のように使用されています。 [窓] オプションのウィンドウ引数を示します。 これ
case は、引数が存在しない場合、デフォルトで "%1" になることを意味します。 詳細については、「ウィンドウスタック」を参照してください。
「%1」の意味。
DESCRIPTION
xdotool プログラム的に (または手動で) キーボード入力とマウスのアクティビティをシミュレートできます。
ウィンドウの移動やサイズ変更など。これは、X11 の XTEST 拡張機能とその他の Xlib を使用して行われます。
機能します。
拡張ウィンドウ マネージャー ヒント (別名 EWMH または NetWM) がある程度サポートされています。 を参照してください。
詳細については、「拡張ウィンドウ マネージャーのヒント」セクションを参照してください。
キーボード コマンド
キー [オプション] キーストローク [キーストローク ...]
オプション:
- 窓 ウィンドウを使用して入力ファイルを追加します。
キーストロークを特定のウィンドウ ID に送信します。 「WINDOW STACK」参照を使用できます
ここでは「%1」と「%@」のように。 ウィンドウ スタックがある場合は、「%1」がデフォルトです。
それ以外の場合は、現在のウィンドウが使用されます。
参照: 「SENDEVENT NOTES」および「WINDOW STACK」
--clearmodifiers
キーストロークを送信する前に修飾子をクリアします。 以下の「CLEARMODIFIERS」を参照してください。
- 遅れ ミリ秒
キーストローク間の遅延。 デフォルトは 12ms です。
指定されたキーストロークを入力します。 例としては、「alt+r」、「Control_L+J」、「ctrl+alt+n」、
「バックスペース」。
通常、有効な X Keysym 文字列はすべて機能します。 複数のキーは「+」で区切られます。
「alt」、「ctrl」、「shift」、「super」、および「meta」のエイリアスが存在し、すべて Foo_L にマップされます。
Alt_L や Control_L など。
キーボードに入力したいキーが実際にない場合は、xdotool
未使用のキーコードを自動的に見つけて、それを使用してキーを入力します。
「COMMAND CHAINING」に関しては、このコマンドは残りのコマンドを消費します。
引数、または xdotool コマンドが存在しないため、新しい xdotool コマンドが表示されるまで
有効なキーストローク。
例: キーストローク「F2」を送信します。
xdotool キー F2
例: アクセントを付けて「a」を送信します (英語キーボードではありませんが、それでも機能します)
xdotoolを使用)
xdotool キー Aacute
例: Ctrl+L を送信してから BackSpace を別のキーストロークとして送信します。
xdotool キー ctrl+l BackSpace
例: タイトル「gdb」に一致するすべてのウィンドウに ctrl+c を送信します (「コマンド チェーン」を参照)
xdotool search --name gdb key ctrl+c
キーダウン [オプション] キーストローク
キーダウン (押す) イベントのみが送信される点を除いて、上記と同じです。
キーアップ キーストローク
keyup (リリース) イベントのみが送信される点を除いて、上記と同じです。
type [オプション] 何か 〜へ type
オプション:
- 窓 ウィンドウID
キーストロークを特定のウィンドウ ID に送信します。 以下の「送信メモ」を参照してください。 デフォルト、
ウィンドウが指定されていない場合は、ウィンドウ スタックに依存します。 ウィンドウスタックが空の場合
現在のウィンドウは XTEST を使用して入力されます。 それ以外の場合、デフォルトは「%1」です (「%XNUMX」を参照)。
「ウィンドウスタック」)。
- 遅れ ミリ秒
キーストローク間の遅延。 デフォルトは 12ms です。
--clearmodifiers
キーストロークを送信する前に修飾子をクリアします。 以下の「CLEARMODIFIERS」を参照してください。
自分で入力したかのように入力します。 改行とタブ (ASCII の改行とタブ) をサポートします。 各
キーストロークは、 - 遅れ オプションを選択します。
「COMMAND CHAINING」に関しては、このコマンドは残りのコマンドを消費します。
引数と型を指定します。 つまり、「type」の後にコマンドを連鎖させることはできません。
例: 「Hello world!」と入力します。 あなたならこうします:
xdotool タイプ「Hello world!」
MOUSE コマンド
マウス移動 [オプション] x y OR '戻す'
マウスを画面上の特定の X 座標と Y 座標に移動します。
代わりに「restore」を指定すると、マウスを前の位置に移動できます。
X と Y の座標。 復元は、以前に同じ場所に移動したことがある場合にのみ機能します
コマンドの呼び出し。 さらに、--window オプションでは機能しません。
たとえば、画面の左上隅をクリックし、マウスを
移動する前の元の位置では、これを使用します。
xdotool マウスムーブ 0 0 クリック 1 マウスムーブ復元
- 窓 窓
相対的に移動するウィンドウを指定します。 座標 0,0 は左上にあります。
選択したウィンドウ。
ここでは、%1 や %@ などの「WINDOW STACK」参照が有効です。 ただし、%@ を使用すると、
おそらく意味がありません。
- 画面 SCREEN
指定した画面にマウスを移動すると移動します。 これは、次の場合にのみ役立ちます。
複数の画面があり、Xinerama は使用されていません。
デフォルトは現在の画面です。 --window を指定した場合、--screen フラグは
無視されます。
--極性
極座標を使用します。 これにより、「x」は角度 (度、0 ~ 360 など) になり、「y」は角度になります。
距離。
回転は「上」(0 度) から開始し、時計回りに回転します: 90 = 右、180 = 下、
270 = 左。
デフォルトでは、原点は現在の画面の中心になります。 を指定すると、
--window の場合、原点はそのウィンドウの中心になります。
--clearmodifiers
「CLEARMODIFIERS」を参照してください。
--同期
マウス移動リクエストを送信した後、実際にマウスが移動するまで待ちます。 もしも
移動する必要はありません。待ちません。 これは、依存するスクリプトに役立ちます。
次に進む前にアクションが完了していること。
注: マウスが動くまで待ちますが、実際に動くとは限りません。
目的地に到着します。 一部のアプリケーションではマウス カーソルがロックされます。
画面の特定の領域では、動きを待つ方が良いです。
特定のターゲットを待つよりも一般的なケースです。
マウス移動_相対 [オプション] x y
マウス カーソルの現在位置を基準にしてマウスの X、Y ピクセルを移動します。
--極性
極座標を使用します。 これにより、「x」は角度 (度、0 ~ 360 など) になり、「y」は角度になります。
距離。
回転は「上」(0 度) から開始し、時計回りに回転します: 90 = 右、180 = 下、
270 = 左。
--同期
マウス移動リクエストを送信した後、実際にマウスが移動するまで待ちます。 もしも
移動する必要はありません。待ちません。 これは、依存するスクリプトに役立ちます。
次に進む前にアクションが完了していること。
マウスが少しでも動くまで待機しますが、実際にマウスが動くとは限らないことに注意してください。
目的地に到着します。 一部のアプリケーションではマウス カーソルがロックされます。
画面の特定の領域では、動きを待つ方が良いです。
特定のターゲットを待つよりも一般的なケースです。
--clearmodifiers
「CLEARMODIFIERS」を参照してください。
クリック [オプション] (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。
クリックを送信します。つまり、指定されたボタンのマウスダウンに続いてマウスアップを送信します。
12 つの間の短い遅延 (現在 XNUMXms)。
通常、ボタンは次のようにマッピングされます。マウスの左が 1、中央が 2、右が 3、ホイールを上にすると
4、ホイールダウンは5です。
--clearmodifiers
クリックする前に修飾子をクリアします。 以下の「CLEARMODIFIERS」を参照してください。
- 繰り返す 繰り返す
クリックする回数を指定します。 デフォルトは 1 です。ダブルクリックの場合は、「--repeat」を使用します。
2'
- 遅れ ミリ秒
クリック間の遅延時間をミリ秒単位で指定します。 このオプションはそうではありません
の場合に使用される - 繰り返す フラグは 1 (デフォルト) に設定されます。
- 窓 窓
クリックを送信するウィンドウを指定します。 注意事項については、以下の「送信に関する注意事項」を参照してください。 用途
イベント生成時の現在のマウス位置。
ウィンドウが指定されていない場合のデフォルトは、ウィンドウ スタックによって異なります。 窓の場合
スタックが空です。現在のウィンドウは XTEST を使用して入力されています。 それ以外の場合は、デフォルト
は「%1」です (「ウィンドウスタック」を参照)。
マウスダウン [オプション] (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。
と同じ クリックただし、マウスダウンのみが送信される点が異なります。
マウスアップ [オプション] (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。
と同じ クリックただし、マウスアップのみが送信される点が異なります。
マウスの位置を取得する [ - シェル]
マウス カーソルの x、y、スクリーン、ウィンドウ ID を出力します。 画面番号は
複数のモニターがあり、Xinerama を使用していない場合はゼロ以外。
- シェル
これにより、getmouselocation が評価できる出力シェル データになります。 例:
% xdotool getmouselocation --shell
X = 880
Y = 443
スクリーン=0
ウィンドウ=16777250
% eval $(xdotool getmouselocation --shell)
% エコー $X,$Y
714,324
振る舞い_スクリーン_エッジ [オプション] コラボレー command ...
マウスが画面の端または隅に当たったときのイベントにアクションをバインドします。
オプションは次のとおりです。
- 遅れ ミリ秒
コマンドを実行するまでの遅延 (ミリ秒単位)。 これにより、
コマンドが実行される前に、指定されたエッジまたはコーナーを短時間保持する必要があります。
遅延時間が経過する前にエッジまたはコーナーを離れると、時間がリセットされます。
--静止 ミリ秒
次のコマンドが実行されるまでの遅延 (ミリ秒単位)。 これは防止に役立ちます
誤ってコマンドを余分に実行してしまいました。 特に便利なのは、
非常に短い --lay (デフォルトの 0 など)。
イベントのタイムライン
* マウスが端または角にぶつかる。
* 遅延がゼロ以外の場合、遅延時間が経過するまでマウスはこの端または隅に留まる必要があります。
* まだエッジ/コーナーにいる場合は、トリガーしてください。
* 静止がゼロ以外の場合、クールダウン期間があり、次の
トリガーが発生しない
有効な「where」値は次のとおりです。
左
左上
top
右上
右
左下
ボトム
右下
例:
# マウスを左下隅に移動すると、google-chrome がアクティブになります。
xdotool behave_screen_edge 左下 \
検索 --class google-chrome windowactivate
# 次のワークスペース (右) に移動します。 GNOME (metacity および compiz) で動作することが知られています
xdotool behave_screen_edge --lay 500 右下のキー XF86Forward
# Firefox をアクティブにし、新しいタブでクリップボード内のテキストを Web 検索します。
xdotool behave_screen_edge --lay 1000 左上 \
検索 --classname ナビゲータ \
windowactivate --sync key --lay 250 ctrl+t ctrl+k ctrl+v Return
窓 コマンド
サーチ [オプション] パターン
正規表現パターンを使用して、タイトル、名前、またはクラスを持つウィンドウを検索します。
出力は、X ウィンドウ識別子の行区切りのリストです。 「コマンド」を使用している場合
CHAINING" の場合、検索コマンドは、最後のウィンドウ ID のみを stdout に書き込みます。
チェーン内の(またはのみ)コマンド。 それ以外の場合は沈黙します。
結果は、今後の連鎖コマンドのためにウィンドウ スタックに保存されます。 「ウィンドウ」を参照
詳細については、「スタック」および「コマンドチェイン」を参照してください。
デフォルトのオプションは「--name --class --classname」です (いずれか XNUMX つを指定しない限り、または
--name --class または --classname の詳細)。
使用可能なオプションは次のとおりです。
- クラス
ウィンドウ クラスと照合します。
- クラス名
ウィンドウのクラス名と照合します。
--最大深度 N
再帰/子の検索深さを設定します。 デフォルトは -1 で、無限を意味します。 0はいいえを意味します
深さがある場合、ルート ウィンドウのみが検索されます。 トップレベルウィンドウのみが必要な場合は、次のように設定します
max Depth は 1 (または、ウィンドウ マネージャーが装飾を行う方法に応じて 2) です。
- 名前
ウィンドウ名と照合します。 これは、
ウィンドウのタイトルバー。
--のみ表示
結果に表示されているウィンドウのみを表示します。 これはマップ状態を持つものを意味します
閲覧可能です。
--pid PID
特定のプロセス ID に属するウィンドウを照合します。 これは一部の X では機能しない可能性があります
アプリケーションがそのウィンドウにこのメタデータを設定しない場合。
- 画面 N
特定の画面上でのみウィンドウを選択します。 デフォルトでは、すべての画面を検索します。 それだけ
複数のディスプレイがあり、Xinerama を使用していない場合に意味があります。
- デスクトップ N
特定のデスクトップ上のウィンドウのみに一致します。 「N」は数字です。 デフォルトでは検索します
すべてのデスクトップ。
-制限 N
N 個の一致するウィンドウが見つかったら検索を停止します。 制限を指定すると役に立ちます
少数の結果だけが必要な場合は、検索を高速化します。
デフォルトでは検索制限はありません (「--limit 0」と同等)。
- 題名
非推奨。 --name を参照してください。
- すべて
すべての条件が満たされることを要求します。 例えば:
xdotool search --all --pid 1424 --name "Hello World"
これは、名前に「Hello World」があり、所有者が所有するウィンドウのみに一致します。
ピド1424。
- どれでも
任意の条件 (論理的には「または」) に一致するウィンドウを照合します。 これはデフォルトでオンになっています。
具体的な例を挙げますと、以下の通りです。
xdotool search --any --pid 1424 --name "Hello World"
これは、pid 1424 が所有するウィンドウ、または「Hello World」という名前のウィンドウと一致します。
--同期
結果が出るまでブロックします。 これは、
アプリケーションは、アプリケーション ウィンドウが表示されるまで待ちたいと考えています。 ために
例:
グーグルクローム &
xdotool search --sync --onlyvisible --class "google-chrome"
ウィンドウを選択
クリックしてウィンドウ ID (クライアント用) を取得します。 スクリプトクエリを実行する場合に便利です
あなたたち人間は、どの窓口で行動するべきか。 たとえば、ウィンドウをクリックして強制終了します。
xdotool selectwindowwindowkill
振る舞う ウィンドウを使用して入力ファイルを追加します。 アクション command ...
アクションをウィンドウ上のイベントにバインドします。 これにより、追加の xdotool コマンドを実行できるようになります
一致したイベントが発生するたびに。
動作の結果として実行されるコマンドは、%1 が以前のウィンドウである状態で実行されます。
に基づいて行動しました。 イベントリストの後に例が続きます。
有効なイベントは次のとおりです。
マウス入力
マウスがウィンドウに入ると起動します。 これは、次の「マウスオーバー」イベントに似ています。
JavaScript が役立つ場合は。
マウスを離す
マウスがウィンドウから離れると発生します。 これは「マウス入力」の逆です
マウスクリック
マウスをクリックすると発生します。 具体的には、マウスボタンが放されたときです。
フォーカス
ウィンドウが入力フォーカスを取得したときに発生します。
ブラー
ウィンドウがフォーカスを失ったときに発生します。
例:
# マウスが現在表示されている領域に入るたびにカーソル位置を出力します。
# 窓:
xdotool 検索 --onlyvisible 。 動作 %@ マウス入力 getmouselocation
# xterm がフォーカスを取得するたびにウィンドウのタイトルと PID を出力します。
xdotool search --class xterm behave %@ focus getwindowname getwindowpid
# フォーカスフォローマウスをエミュレートする
xdotool 検索 。 動作 %@ マウス入力 windowfocus
ウィンドウピッドを取得する [窓]
指定されたウィンドウを所有する PID を出力します。 これにはアプリケーションを所有する側の努力が必要です
すべてのウィンドウで機能するとは限りません。 これは、
窓。 詳細については、以下の「拡張ウィンドウ マネージャーのヒント」を参照してください。
ウィンドウが指定されていない場合、デフォルトは '%1' です。 スタック上にウィンドウがない場合、これは
はエラーです。 詳細については、「ウィンドウ スタック」を参照してください。
例: すべての xterm の PID を検索します。
xdotool 検索 --class xterm getwindowpid %@
窓の名前を取得 [窓]
指定されたウィンドウの名前 (タイトルとも呼ばれます) を出力します。 これが表示されるテキストです
ウィンドウマネージャーによってウィンドウのタイトルバーに表示されます。
ウィンドウが指定されていない場合、デフォルトは '%1' です。 スタック上にウィンドウがない場合、これは
はエラーです。 詳細については、「ウィンドウ スタック」を参照してください。
ウィンドウジオメトリを取得する [オプション] [窓]
ウィンドウのジオメトリ (位置と位置) を出力します。 値には次のものが含まれます: x、y、
幅、高さ、画面番号。
- シェル
シェルの「eval」に適した値を出力します。
ウィンドウフォーカスの取得 [-NS]
現在フォーカスされているウィンドウのウィンドウ ID を出力します。 結果をウィンドウに保存します
スタック。 詳細については、「ウィンドウ スタック」を参照してください。
現在のウィンドウに WM_CLASS プロパティがない場合は、それが通常のトップレベルではないとみなします。
ウィンドウを開き、WM_CLASS が設定されたウィンドウが見つかるまで親を上にたどります。
そのウィンドウIDを返します。
現在フォーカスを持っているウィンドウが本当に必要で、フォーカスがあるかどうかは気にしない場合は、
WM_CLASS 設定、その後「getwindowfocus -f」を使用します
ウィンドウサイズ [オプション] [ウィンドウ] 幅 高さ
指定されたウィンドウのウィンドウ サイズを設定します。 ウィンドウが指定されていない場合は、%1 がデフォルトです。
詳細については、「ウィンドウ スタック」および「コマンド チェーン」を参照してください。
パーセンテージは幅と高さに対して有効です。 それらは、のジオメトリに対して相対的なものです。
ウィンドウがオンになっている画面。 たとえば、ウィンドウを画面の全幅にするには、次のようにします。
ただし半分の高さ:
xdotool ウィンドウサイズ I 100% 50%
パーセンテージは --usehints で有効ですが、それでも相対的なピクセル幅を意味します。
画面サイズ。
使用可能なオプションは次のとおりです。
--ヒントを使用する
ウィンドウ サイズ変更のヒント (利用可能な場合) を使用して、幅と高さを設定します。 これは便利です
端末では、ピクセルではなくテキストの行/列に基づいてサイズを設定します。
--同期
ウィンドウ サイズ要求を送信した後、ウィンドウが実際にサイズ変更されるまで待ちます。
変更の必要がない場合はお待ちいただくことはありません。 これは、次のようなスクリプトに役立ちます。
次に進む前にアクションが完了しているかどうかに依存します。
注: 多くのウィンドウ マネージャーは元のサイズ変更を無視または変更する可能性があるため、
リクエスト、サイズが元のサイズから変更されるまで待ちます、必要ありません
要求されたサイズに。
例: 端末を 80x24 文字に設定するには、次のように使用します。
xdotool windowsize --usehints 一部のウィンドウ 80 24
ウィンドウ移動 [オプション] [窓] x y
ウィンドウを指定された位置に移動します。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 見る
詳細については、「ウィンドウスタック」および「コマンドチェーン」を参照してください。
指定された x 座標が文字通り「x」の場合、ウィンドウの現在の x 位置は次のようになります。
変わらないこと。 「y」についても同様です。
例:
xdotool getactivewindow windowmove 100 100 # 100,100 に移動します
xdotool getactivewindow windowmove x 100 # x,100 に移動します
xdotool getactivewindow windowmove 100 y # 100,y に移動します
xdotool getactivewindow windowmove 100 y # 100,y に移動します
--同期
ウィンドウ移動リクエストを送信した後、実際にウィンドウが移動されるまで待ちます。 もしも
移動する必要はありません。待ちません。 これは、依存するスクリプトに役立ちます。
次に進む前にアクションが完了していること。
- 相対的
現在のウィンドウの位置を基準にして移動します。
ウィンドウフォーカス [オプション] [窓]
ウィンドウにフォーカスを合わせます。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウスタック」および「ウィンドウスタック」を参照してください。
詳細については、「コマンド チェーン」を参照してください。
XSetInputFocus を使用しますが、一部のウィンドウ マネージャーやプログラムでは無視される場合があります。
--同期
ウィンドウのフォーカス要求を送信した後、ウィンドウが実際にフォーカスされるまで待ちます。
これは、移動前に完了するアクションに依存するスクリプトに便利です。
に。
ウィンドウマップ [オプション] [窓]
ウィンドウをマップします。 X11 の用語では、ウィンドウをマッピングするとは、ウィンドウ上でウィンドウを表示できるようにすることを意味します。
画面。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウスタック」と「コマンド」を参照してください。
詳細については、「チェイニング」を参照してください。
--同期
ウィンドウ マップを要求した後、ウィンドウが実際にマップされるまで待ちます
(見える)。 これは、アクションの完了に依存するスクリプトに便利です。
先に進む前に。
ウィンドウ最小化 [オプション] [窓]
ウィンドウを最小化します。 X11 用語では、これを「アイコン化」と呼びます。 窓がない場合は、
与えられた場合、%1 がデフォルトです。 詳細については、「ウィンドウ スタック」および「コマンド チェーン」を参照してください。
--同期
ウィンドウの最小化を要求した後、ウィンドウが実際に最小化されるまで待ちます。
これは、移動前に完了するアクションに依存するスクリプトに便利です。
に。
窓を上げる [ウィンドウID=%1]
ウィンドウをスタックの一番上まで上げます。 これは、すべてのウィンドウ マネージャーで機能するとは限りません。 もしも
ウィンドウは指定されていません。%1 がデフォルトです。 詳細については、「ウィンドウ スタック」および「コマンド チェーン」を参照してください。
詳細はこちら
窓親 [ソースウィンドウ] 宛先ウィンドウ
ウィンドウの親を再設定します。 これにより、 ソースウィンドウ の子ウィンドウになる
宛先ウィンドウ。 ソースが指定されていない場合、%1 がデフォルトです。 「ウィンドウスタック」ウィンドウ
参照 (%1 など) は両方に有効です ソースウィンドウ 宛先ウィンドウ 詳細はこちら:
詳細については、「ウィンドウスタック」および「コマンドチェーン」を参照してください。
ウィンドウを閉じる [窓]
ウィンドウを閉じます。 このアクションはウィンドウを破壊しますが、ウィンドウを強制終了しようとはしません。
クライアントがそれを制御します。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウスタック」を参照してください。
詳細については、「コマンド チェーン」を参照してください。
ウィンドウキル [窓]
窓を殺します。 このアクションはウィンドウを破壊し、それを制御しているクライアントを強制終了します。
ウィンドウが指定されていない場合は、%1 がデフォルトです。 詳細については、「ウィンドウ スタック」および「コマンド チェーン」を参照してください。
詳細はこちら
ウィンドウアンマップ [オプション] [ウィンドウID=%1]
ウィンドウのマップを解除すると、ウィンドウが画面に表示されなくなります。 ウィンドウが指定されていない場合は、%1
がデフォルトです。 詳細については、「ウィンドウ スタック」および「コマンド チェーン」を参照してください。
--同期
ウィンドウのマップ解除を要求した後、ウィンドウが実際にマップ解除されるまで待ちます
(隠れた)。 これは、アクションが完了する前に完了することに依存するスクリプトに便利です。
先に進みます。
セットウィンドウ [オプション] [ウィンドウID=%1]
ウィンドウに関するプロパティを設定します。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウ」を参照
詳細については、「スタック」および「コマンド チェーン」を参照してください。
オプション:
- 名前 新しい名前
ウィンドウ WM_NAME を設定します (通常はウィンドウのタイトル)
--アイコン名 新しいアイコン名
ウィンドウ WM_ICON_NAME を設定します (通常、最小化されたときのウィンドウ タイトル)
- 役割 新しい役割
ウィンドウ WM_WINDOW_ROLE を設定します
- クラス名 新しいクラス名
ウィンドウ クラス名を設定します (ウィンドウ クラスと混同しないでください)
- クラス ニュークラス
ウィンドウ クラスを設定します (ウィンドウ クラス名と混同しないでください)
--overrideredirect 値
ウィンドウの override_redirect 値を設定します。 この値はウィンドウ マネージャーへのヒントです。
管理すべきか否かについて。 リダイレクト値が 0 の場合、
ウィンドウ マネージャーは境界線を描画し、このウィンドウを通常どおり処理します。 値が
1 の場合、ウィンドウ マネージャーはこのウィンドウを無視します。
この値を変更すると、ウィンドウ マネージャーは変更が完了するまで変更に気付かない可能性があります。
ウィンドウが再度マップされるため、「windowunmap」と「windowmap」を発行するとよいでしょう。
ウィンドウマネージャーにメモを取ってもらいます。
デスクトップ そして 窓 コマンド
これらのコマンドは EWMH 標準に従っています。 「拡張ウィンドウマネージャーのヒント」セクションを参照してください。
をご覧ください。
ウィンドウアクティブ化 [オプション] [窓]
ウィンドウをアクティブにします。 このコマンドは windowfocus とは異なります。ウィンドウがオンの場合
別のデスクトップがある場合は、そのデスクトップに切り替えます。 また、別の方法を使用します
ウィンドウを上げます。 windowfocus を使用する前にこのコマンドを試してみることをお勧めします。
より多くのウィンドウマネージャーで動作するようになります。
ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウスタック」と「コマンドチェーン」を参照してください。
のガイドをご参照ください。
--同期
ウィンドウのアクティブ化を送信した後、ウィンドウが実際にアクティブになるまで待ちます。
これは、移動前に完了するアクションに依存するスクリプトに便利です。
に。
取得アクティブウィンドウ
現在アクティブなウィンドウを出力します。 このコマンドは多くの場合、次のコマンドよりも信頼性が高くなります。
ウィンドウフォーカスを取得します。 結果はウィンドウ スタックに保存されます。 詳細については「ウィンドウスタック」を参照してください。
詳細。
set_num_desktops 数
デスクトップまたはワークスペースの数を変更します。
get_num_desktops
現在のデスクトップ数を出力します。
get_desktop_viewport [ - シェル]
現在のビューポートの位置を報告します。 --shell が指定されている場合、出力は次のようなものに適しています。
シェルの評価。
一部のウィンドウ マネージャーでは、「仮想デスクトップ」の代わりにビューポートが使用されることがあります。 あ
ビューポートは、単に非常に大きなデスクトップ領域上のビューです。
set_desktop_viewport x y
ビューポートを指定された位置に移動します。 すべての要求が従うわけではありません - いくつかの要求
ウィンドウマネージャーは、ワークスペースの境界に合わせたリクエストのみに従います。
画面サイズ。
たとえば、画面が 1280x800 の場合、次のようにして 2 番目のワークスペースに移動できます。
xdotool set_desktop_viewport 1280 0
セット_デスクトップ [オプション] デスクトップ番号
現在のビューを指定したデスクトップに変更します。
- 相対的
絶対的な動きではなく相対的な動きを使用します。 これにより、相対的に移動できるようになります。
現在のデスクトップ。
get_デスクトップ
現在のデスクトップをビューに出力します。
set_desktop_for_window [窓] デスクトップ番号
ウィンドウを別のデスクトップに移動します。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 見る
詳細については、「ウィンドウスタック」および「コマンドチェーン」を参照してください。
get_desktop_for_window [窓]
指定されたウィンドウが現在含まれているデスクトップを出力します。 ウィンドウを別のウィンドウに移動する
デスクトップ。 ウィンドウが指定されていない場合は、%1 がデフォルトです。 「ウィンドウスタック」と「コマンド」を参照してください。
詳細については、「チェイニング」を参照してください。
雑則 コマンド
exec [オプション] command [...]
プログラムを実行します。 これは、behave_screen_edge と組み合わせると便利です。
画面のロックなど。
オプション:
--同期
子プロセスが終了するまでブロックします。 子プロセスの終了ステータスが渡されます。
それを親プロセス (xdotool) にコピーします。
例:
# マウスが右上隅にあるときに画面をロックする
xdotool behave_screen_edge --lay 1000 右上 \
exec gnome-screensaver-command --lock
# そのプログラムを使用する場合は、「xscreensaver-command -lock」に置き換えてください。
# 次の例では、'--sync' を使用しているため、マウスを動かすことができません。
# /bin/false ゼロ以外で終了します:
xdotool exec --sync /bin/false マウスムーブ 0 0
# ただし、exec コマンドで --sync を使用していないため、これは成功します。
xdotool 実行 /bin/false マウスムーブ 0 0
眠る 秒
指定された時間だけ睡眠をとります。 ここでは、秒の小数部分 (1.3 や 0.4 など) が有効です。
スクリプト
xdotool は、必要に応じて、stdin またはファイルを介してコマンドのリストを読み取ることができます。 スクリプトは失敗します
何らかのコマンドが失敗したとき。
正直なところ、「スクリプト」モードは完全には具体化されていないため、期待を下回る可能性があります。 もしも
提案がある場合は、リストに電子メールを送信するか、バグを報告してください (「連絡先」を参照)。
スクリプトでは位置引数 ($1、$2、... で表される) と環境を使用できます。
変数 ($HOME や $WINDOWID など)。 引数の引用符は期待どおりに機能するはずです。
スクリプトはパラメータと環境変数の展開のために処理され、次のように実行されます。
スクリプト全体を XNUMX 行に記述して xdotool を呼び出しました (COMMAND CHAINING を使用)。
· ファイルからコマンドを読み取ります。
xdotool ファイル名
· 標準入力からコマンドを読み取ります。
xdotool -
· リダイレクトされたファイルからコマンドを読み取る
xdotool - < myfile
xdotool のみを実行するスクリプトを作成することもできます。 例:
#!/usr/local/bin/xdotool
検索 --onlyvisible --classname $1
ウィンドウサイズ %@ $2 $3
ウィンドウレイズ %@
ウィンドウ移動 %1 0 0
ウィンドウ移動 %2 $2 0
ウィンドウ移動 %3 0 $3
ウィンドウ移動 %4 $2 $3
このスクリプトは、arg1 ($1) で指定されたクラス名クエリに一致するすべてのウィンドウを取得します。
2 番目と 2 番目のパラメータでサイズ設定されたウィンドウを持つ 2x3 グリッドにそれらをサイズ変更/移動します。
使用例は次のとおりです。
% ./myscript xterm 600 400
このように実行すると、表示されている 4 つの xterm を取得し、それらを上げて 2x2 タイルに移動します。
各ウィンドウのサイズが 600x400 ピクセルのグリッド。
クリアモディファイア
を受け取るコマンドはすべて、 --clearmodifiers flag はアクティブな入力をクリアしようとします。
コマンド中に修飾子を使用し、後でそれらを復元します。
たとえば、次のコマンドを実行するとします。
xdotool キー a
Shift キーを押しているかどうかに応じて、結果は「a」または「A」になります。
キーボード上で。 多くの場合、修飾子をアクティブにすることは望ましくありません。
xdotool を使用してアクティブなモディファイアをクリアします。
Shift キーを押しながら「xdotool key --clearmodifiers a」を実行した場合の操作の順序
これは:
1. すべてのアクティブな修飾子をクエリします (この場合は、shift を検索します)。
2. シフトキーの「キーアップ」を送信してシフトをクリアしてみます。
3. 通常の「xdotool key a」を実行します。
4. シフトの「キーダウン」を送信してシフトキーを復元します。
当学校区の --clearmodifiers 現在、フラグは次のものをクリアできます。
· 修飾子が関連付けられているアクティブなキーマップ内のキー。 (見る
xmodmap(1) の「xmodmap -pm」出力)
· マウス ボタン (1、2、3、4、5)
・ キャップスロック
センデベント 注意事項
キー入力を特定のウィンドウに送信しようとしているが、送信されていないように見える場合は、
動作している場合は、アプリケーションが xdotool が生成するイベントを無視している可能性があります。
これはかなり一般的です。
特定のウィンドウにキーストロークを送信するには、単にウィンドウに入力する場合とは異なる API を使用します。
アクティブなウィンドウ。 「xdotool type --window 12345 hello」を指定すると、xdotool は生成します。
キー イベントを取得し、ウィンドウ 12345 に直接送信します。ただし、X11 サーバーは
この方法で生成されたすべてのイベントに特別なフラグを設定します (X11 の XEvent.xany.send_event を参照)
マニュアル)。 多くのプログラムはこのフラグを監視し、これらのイベントを拒否します。
キー イベントとマウス イベントの場合、XSendEvent は次の場合にのみ使用されることに注意することが重要です。
特定のウィンドウが対象となります。 それ以外の場合は、XTEST を使用します。
一部のプログラムは、イベントが xdotool によって生成された場合でもイベントを受け入れるように構成できます。
ヘルプが必要な場合は、アプリケーションのドキュメントを参照してください。
特定のアプリケーション ノート (作成者のテストによる): * Firefox 3 はすべてを無視するようです。
フォーカスがないときに入力します。 * xterm は実行中に設定できます
Ctrl+左クリック、「SendEvents を許可」 * gnome ターミナルは、によって生成された入力を受け入れるように見えます
デフォルト。
窓 スタック
特定のコマンド (search、getactivewindow、getwindowfocus) はウィンドウを検索します。
これらの結果は通常、stdout に出力されますが、将来のためにメモリにも保存されます。
xdotool プロセスの存続期間中は使用されません。 詳細については、「コマンド チェーン」を参照してください。
情報を表示します。
ウィンドウ スタックに対する変更サポートは、ウィンドウ スタックを置き換えることだけです。 つまり、XNUMX のうちの XNUMX
順次検索の場合、最後の検索結果のみがウィンドウ スタックになります。
COMMAND チェーン
xdotool は、XNUMX 回の呼び出しで複数のコマンドの実行をサポートします。 一般的には、開始します
検索コマンド (「WINDOW STACK」を参照) を使用して、それらに対して一連のアクションを実行します。
結果。
ウィンドウ スタックをクエリするには、特殊な表記法 "%N" を使用できます。N は数値、または
「@」記号。 %N を指定すると、ウィンドウ スタックから N 番目のウィンドウが選択されます。
通常は、最初のウィンドウのみ、またはすべてのウィンドウが必要になります。 の順序に注意してください。
ウィンドウ スタック内のウィンドウは、ウィンドウのスタック順序、つまり最下位に対応します。
ウィンドウが最初にレポートされます (「 XQueryツリー(3))。 したがって、ウィンドウの順序は、
ウィンドウ スタックは呼び出し間で一貫していない可能性があります。
上で説明した表記は、任意のコマンドの「ウィンドウ」引数として使用されます。
たとえば、すべての xterm のサイズを 80x24 に変更するには、次のようにします。
xdotool 検索 --class xterm -- windowsize --usehints %@ 80 24
現在のウィンドウのサイズを変更して移動します。
xdotool getactivewindow windowmove 0 0
どのような場合でも、デフォルトのウィンドウ引数が省略された場合、デフォルトは「%1」になります。 それは
window 引数を省略し、ウィンドウ スタックが空の場合は、明らかにエラーになります。 もし、あんたが
ウィンドウスタックを使用しようとしても空であり、これもエラーです。
最初に見つかった Firefox ウィンドウをアクティブにするには:
xdotool search --class Firefox windowactivate
これらはエラーになります:
xdotool ウィンドウアクティブ化
xdotool windowactivate %1
xdotool windowactivate %@
xdotool が終了すると、現在のウィンドウ スタックは失われます。
さらに、「WINDOW STACK」を変更するコマンドは、次の場合には結果を出力しません。
は最後のコマンドではありません。 例えば:
# アクティブなウィンドウを出力します。
% xdotool getactivewindow
20971533
# アクティブ ウィンドウの PID を出力しますが、アクティブ ウィンドウ ID は出力しません:
% xdotool getactivewindow getwindowpid
4686
拡張済み 窓 MANAGER ヒント
EWMH 標準の次の部分がサポートされています。
_NET_サポート
ウィンドウマネージャーに何がサポートされているかを尋ねます
_NET_CURRENT_DESKTOP
現在のデスクトップを照会して設定します。 これのサポートにより、次のコマンドが有効になります。
「set_desktop」、「get_desktop」。
_NET_WM_DESKTOP
ウィンドウがどのデスクトップに存在するかをクエリして設定します。これのサポートにより、次のことが可能になります。
コマンド: 「set_desktop_for_window」、「get_desktop_for_window」。
_NET_ACTIVE_WINDOW
ウィンドウ マネージャーにアクティブ ウィンドウを取得するように依頼することで、アクティブ ウィンドウをクエリおよび設定できるようになります。
前方。 これのサポートにより、「windowactivate」、「getactivewindow」コマンドが有効になります。
_NET_WM_PID
この機能はアプリケーションに依存しており、ウィンドウ マネージャーには依存しません。 PIDを問い合わせる
特定のウィンドウを所有しています。 これのサポートにより、「getwindowpid」コマンドが有効になります。
サポートされている 商品特徴
xdotool (および libxdo) は、あらゆる状況下で機能しようとします。 ただし、次の可能性があります。
場合によっては、X サーバーまたはウィンドウ マネージャーによって機能が提供されない場合があります。
このような場合、xdotool はアクションに機能が必要かどうかを検出して通知しようとします。
現在お使いのシステムではサポートされていません。
ウィンドウ マネージャー固有の機能については、「拡張ウィンドウ マネージャーのヒント」を参照してください。
XTEST
X サーバーが XTEST をサポートしていない場合は、一部の入力機能とマウス移動機能がサポートされません。
機能しない可能性があります。 具体的には、「現在のウィンドウ」に作用する入力操作とマウス操作です。
(libxdo のウィンドウ 0) は動作しない可能性があります。
ほとんどの場合、XTEST は、X サーバーで有効になっていない場合に有効にできる機能です。
デフォルトでは
サポートされている X 拡張機能のリストを確認するには、「xdpyinfo」と入力して、
テキスト「拡張子の数: ...」
onworks.net サービスを使用して xdotool オンラインを使用する