Как узнать pid активного окна

Как узнать pid активного (сфокусированного) окна?

Я хочу написать скрипт, в котором необходимо знать, активно ли пользователь использует программу [просматривая интернет с чем-то, скажем, firefox] или делать что-то еще [писать текст с чем-то, скажем, gedit]

В моем случае я хочу загружать большие файлы, но не хочу снижать скорость браузера. поэтому, когда я просматриваю активное окно Firefox, и я хочу остановить загрузку. Когда я читаю PDF активное окно имеет PDF Reader, и я хочу возобновить загрузку. Вот и все.

7
задан 30 January 2013 в 10:51

5 ответов

Наконец мне удалось получить PID активно сфокусированного окна с помощью xdotool

xprop -id `xdotool getwindowfocus` | grep '_NET_WM_PID' | grep -oE '[[:digit:]]*
0
ответ дан 30 January 2013 в 10:51

Вы можете установить wmctrl, а затем использовать его для отображения всех окон, wmctrl -l.

0
ответ дан 30 January 2013 в 10:51

xdpyinfo имеет скрытый в своем объемном выводе идентификатор окна с фокусом (см .: Какое окно имеет текущий фокус? ). При этом вы можете использовать xprop для получения соответствующего PID.

xprop -id `xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2` | grep PID
0
ответ дан 30 January 2013 в 10:51

удар

xdotool getwindowpid `xdotool getactivewindow`

рыба

xdotool getwindowpid (xdotool getactivewindow)
0
ответ дан 15 October 2019 в 18:48

Использование стека окон xdotool:

xdotool getactivewindow getwindowpid

Bash:

#!/bin/bash
set -e
WINDOW_PID=$(xdotool getactivewindow getwindowpid)
...
5
ответ дан 30 December 2019 в 03:54

Другие вопросы по тегам:

Похожие вопросы: