Тоесть мне нужно будет в приложениях писать дополнительный код для того что бы передать информацию приложению которое его запускает?! А без этого никак нельзя?
В принципе можно, но нежательно. Ты можешь модифицировать исходный код Qt и добавить передачу Wid в конструктор QWidget'а, но как сам понимаешь решение довольно кривое.
Так как мне получать Wid запускаемого приложения? Есть команда типа exec() которая бы возращала бы еще и Wid запущеного приложения. А как его получает xwininfo?
Во-первых, WId относится к окну, а не к процессу, процесс может иметь несколько окон, и у каждого будут свой уникальный WId. Во-вторых о такой команде типа ехес() я ничего не слышал, и сильно сомневаюсь в ее существовании. В третьих, в XLib должна быть какая-то ф-ция, к-ая возвращает окно, закрывающее данную точку экрана, ей и пользуется xwininfo.