xdotool을 사용하여 창에 저장된 pid를 다시 활성화하세요.

xdotool을 사용하여 창에 저장된 pid를 다시 활성화하세요.

pid먼저 , 나는긍정적인창문.

active_window_pid=$(xdotool getactivewindow getwindowpid)

두 번째로 클릭합니다.다른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

}

관련 정보