Skip to content

yuq/xtrace

Repository files navigation

		XTRACE 1.1
		----------

What strace is for system calls, xtrace is for X11 connections:
you hook it between one or more X11 clients and an X server and
it prints the requests going from client to server and the replies,
events and errors going the other way.

Short howto:
Run xtrace, which defaults to listening at :9 and forwarding to
your current $DISPLAY.

Then simply start other clients after setting DISPLAY=:9 or
giving them -display :9 and see all the data flowing in a far
to verbose form.

Things still to do (any volunteers?):
	- test, test, test
	  (currently only what I needed is tested, and as I calculated
	   offsets by hand and copy&pasted a lot, there might still be
	   some errors).
	- implement the common extensions.
	   (currently only implemented are the base protocol and
	    a limted number of extensions)
	- make it less verbose or even better allow to control
	  verbosity.
	- implement some filtering
	- implement life modification. (Currently only supported
	  by changing the source, look for requestButtonGrab in
	  parse.c for an example. Being able to do this via
	  command line would be nice.)
	- more checking of protocol specifications, there are many
	  easy to make errors that are still not tested for.
	- script to translate xorg's protocol xml files to .proto language
	- allow generic dictionaries (generalizing the hard-coded atom
	  support) and giving symbolic names to things (like GC1, GC2,...,
	  that would make some logs much easier to compare).

About

X11 protocol monitor with DRI3/Present/RandR 1.4 support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published