Как получить Windowid из PID из электронного приложения - PullRequest
0 голосов
/ 25 октября 2019

Я хочу получить WindowID из PID электронного процесса (например, riot-desktop)

Я пытался получить его с помощью xdotools следующим образом:

$ xdotool search --pid $(pgrep riot)
nothing is printed
$ pgrep riot
30461
$ xdotool search --pid 30461
nothing is printed again

1 Ответ

0 голосов
/ 25 октября 2019

Вы должны искать pid подпроцесса электрона. Вы можете получить pid подпроцесса с помощью:

PID=$(ps h -C electron | grep riot | cut -f1 -d"?")

, теперь вы можете искать pid

xdotool search --pid $PID

, вы можете объединить обе команды в одну команду

xdotool search --pid $(ps h -C electron | grep riot | grep witzerstorfer | cut -f1 -d"?")

если ваш ps возвращает несколько pid, вам нужно добавить больше команд grep, например, если вы работаете с профилями, команда может выглядеть так:

PID=$(ps h -C electron | grep riot | grep $PROFILENAME | cut -f1 -d"?")
...