Given an X11 window ID, is there a way to find the ID of the process that created it?
Of course this isn't always possible, for example if the window came over a TCP connection. For that case I'd like the IP and port associated with the remote end.
The question was asked before on Stack Overflow, and a proposed method was to use the _NET_WM_PID property. But that's set by the window manager. Is there a way to do it if your window manager doesn't play nice?