xtrace, an X11 protocol tracing package that is already available in Debian is
now also available in updates-testing for F20 and Rawhide.
xtrace-1.3.1-5.fc20 newpackage testing 2014-03-30
This is used by running a program under xtrace, eg:
xtrace xterm
The xtrace program then acts as a dummy/proxy X server to the program it runs,
setting DISPLAY appropriately. It can also be run as a standalone proxy for
processes to connect to:
xtrace -D :9
The output appears on stderr or can be dumped into a file. It looks like:
000:<:01c7: 20: Request(77): ImageText16 drawable=0x07a0002d gc=0x07a0002c x=2 y=13 string=0x2000;
000:<:01c8: 32: Request(65): PolyLine coordinate-mode=Previous(0x01) drawable=0x07a0002d gc=0x07a00032 points={x=2 y=2},{x=5 y=0},{x=0 y=12},{x=-5 y=0},{x=0 y=-12};
000:>:01c8: Event PropertyNotify(28) window=0x07a00022 atom=0x14d(unrecognized atom) time=0x3dfa5e3f state=NewValue(0x00)
000:>:01c8: Event PropertyNotify(28) window=0x07a00022 atom=0x1c7(unrecognized atom) time=0x3dfa5e3f state=NewValue(0x00)
000:>:01c8: Event PropertyNotify(28) window=0x07a00022 atom=0x1cf(unrecognized atom) time=0x3dfa5e40 state=NewValue(0x00)
David