2010-01-26 21:28:45
Clipboard sniffer
Yes clipboard, not keyboard. I've made a clipboard sniffer for X called ClipSniff.
It periodically saves whatever is in the clipboard (both the "PRIMARY" and the "CLIPBOARD") into a sqlite database.
git clone http://github.com/ThomasHabets/clipsniff.git
It wasn't that hard when you knew where to look. You just:
- Connect to the X server.
XOpenDisplay() - Create a window (you don't need to display it).
XCreateSimpleWindow() - Ask the X server who owns the PRIMARY and CLIPBOARD atoms, and ask that window to send you the data.
XInternAtom(),XConvertSelection() - Wait for the reply event. Loop of
NextEvent()
Helpful links when coding Xlib
- Minimal XGetWindowProperty Example
- Xlib Programming Manual (O'Reilly & Associates, Inc.)
- X Selections, Cut Buffers, and Kill Rings (jwz)
- X Windows Copy-Paste mini HOWTO (Stelios Xathakis)