Запускаю через скрипт приложение
(appname 2>&1 > /dev/null) & echo $!- Читаю результат
$!получивPIDотпочковавшейся дочки - Запускаю
wmctrl -lpищу в строкеPIDи забираю соответствующийWID - Всё, я довольный, могу через
WIDманипулировать окном и пришибать процесс черезPIDточно зная что есть активная параPID/WIDи я не пришибу случайно что-то иное.
Всё работает. Но с некоторыми приложениями например glxgears беда. PID я его получаю, а вот WID найти не могу, да я могу wmctrl без параметров запустить, мышкой кликнуть на окошечко и получить WID, но это не то, не получается зная лишь PID получить WID. С большинством приложений проблем нет, а тут уже не знаю где искать. Сейчас ситуация такая что я запускаю приложеньку, жду несколько секунд пытаясь получить WID окна, если не получилось, грохаю процесс, ну и типа фиг с ним, не судьба :(
Не сообщает _NET_WM_PID оно, жопка такая. Выхода нет? Ключ поверни и по-ле-те-ли И однозначно не определить?
Варианты поиска по заголовкам окон и по содержанию командной строки не прокатят, заголовка может не быть вовсе и могут быть много окон с пустыми заголовками. Блин :(
Решение:


