All pastes #896628 Raw Edit

Something

public text v1 · immutable
·published 2008-02-08 20:45 UTC
rendered paste body
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <stdio.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main ( int argc, char **argv )
{
	Display *disp;
	Window win;
	char *data;
	int size, loop;
	XEvent ev;

	disp= XOpenDisplay(NULL);
	if (!disp) {
		perror("XOpenDisplay");
		exit(-1);
	}

	win= XCreateSimpleWindow(disp, DefaultRootWindow(disp), 10, 10,
				100, 100, 0, 0, 0);
	XSelectInput(disp, win, ButtonPressMask | KeyPressMask);
	XMapWindow(disp, win);

	for (loop= 1; loop;) {
		data= XFetchBuffer(disp, &size, XA_PRIMARY);
		if (!data)
			data= XFetchBuffer(disp, &size, 0);
		if (data) {
			printf("Data size: %d\n", size);
			printf("String: [%s]\n", data);
			XFree(data);
		}

		while(XPending(disp)) {
			XNextEvent(disp, &ev);
			if (ev.type==ButtonPress)
				loop= 0;
			else if (ev.type==KeyPress)
				loop= 0;
		}
	}

	XDestroyWindow(disp, win);
	XCloseDisplay(disp);
	return(0);
}