xdotoolを使用してウィンドウに保存されているpidを再度有効にします。

xdotoolを使用してウィンドウに保存されているpidを再度有効にします。

pidまず、私はポジティブ窓。

active_window_pid=$(xdotool getactivewindow getwindowpid)

2番目にクリックします。その他Windowは実際に以下の機能です。

mouse_click     4000 1000

第三に、再起動したいです。以前に活動していた窓の外では残念ながら成功しませんでした。

xdotool search --pid $active_window_pid windowactivate

function mouse_click

    function mouse_click {

            # 1. activate window and wait for sync,
            #    we need to do this before each click,
            #    because the user may have clicked on some other window during the 2 second delay
            # 2. move the mouse cursor to the given position and wait for sync
            # 3. click the left mouse button
            # 4. restore the original mouse cursor position and wait for sync
            # 5. wait for 2 seconds

            xdotool         search --name "window name" windowactivate --sync

            xdotool         mousemove --sync $1 $2 \
                            click 1 \
                            mousemove --sync restore \
                            sleep 2

    }

今回は私が何を間違っているのだろうか?どんなアイデアがありますか?

ベストアンサー1

xdotool少なくとも一部のバージョンにはバグがあります。

エラー文字列:

1つのパラメータは使用できません。 0個のみ使用できます。これは間違いです。

バグトラッカー:
https://github.com/jordansisssel/xdotool/issues/14

エラー解決:
設定--name "whatever"

function activate_window_via_pid {

    # for the chrome browser there are multiple processes,
    # therefore we must pick one of them,
    # the last one seems to work

    window_id=$(xdotool search --pid $1 --name "bug workaround" | tail -1)

    xdotool windowactivate --sync $window_id

}

おすすめ記事