Как узнать pid активного (сфокусированного) окна?
Я хочу написать скрипт, в котором необходимо знать, активно ли пользователь использует программу [просматривает интернет с somthing say firefox ] или делать что-то еще [писать текст с чем-то сказать gedit]
В моем случае я хочу загрузить большие файлы, но не хочу вредить скорости просмотра. поэтому, когда я просматриваю активное окно с firefox, и я хочу прекратить загрузку. Когда я читаю pdf, активное окно имеет PDF-ридер, и я хочу возобновить загрузку. Вот и все.
xdpyinfo имеет, утопленный в его объемном выходе, идентификатор окна окна с фокусом (см .: какое окно имеет текущий фокус?). С этим вы можете использовать xprop, чтобы получить связанный PID.
xprop -id `xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2` | grep PID
Вы можете установить wmctrl, затем использовать его для отображения всех окон, wmctrl -l.