#include #include #include #include #include Cursor mouse = { { 0, 0}, /* offset */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x0F, 0xC8, 0x7F, 0xFC, 0x8F, 0xFA, 0x87, 0xFF, 0x82, 0x20, 0x41, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x0F, 0xE8, 0x7F, 0xFc, 0x8F, 0xFA, 0x87, 0xFF, 0x82, 0x20, 0x41, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } }; Cursor deadmouse = { { 0, 0}, /* offset */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x82, 0x04, 0x41, 0xFF, 0xE1, 0x5F, 0xF1, 0x3F, 0xFE, 0x17, 0xF0, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x82, 0x04, 0x41, 0xFF, 0xE1, 0x5F, 0xF1, 0x3F, 0xFE, 0x17, 0xF0, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } }; Cursor blank; Point center; void eresized(int new) { if(new && getwindow(display, Refnone) < 0) fprint(2,"can't reattach to window"); center.x = screen->r.min.x + Dx(screen->r)/2; center.y = screen->r.min.y + Dy(screen->r)/2; } void main(int argc, char **argv) { Event e; ARGBEGIN { default: usage: fprint(2, "usage: %s\n", argv0); exits("usage"); } ARGEND if(argc > 0) goto usage; initdraw(0, 0, argv0); eresized(0); einit(Emouse|Ekeyboard); esetcursor(&mouse); emoveto(center); for(;;) { event(&e); emoveto(center); } }