# #define MAXUSERS 4 #include #include #define TRUE 1 #define FALSE 0 main(argc,argv) int argc; char **argv; { int i; int j; Display *display[MAXUSERS]; Window root[MAXUSERS], window[MAXUSERS]; long fgcolor, bgcolor; int screen, pointx[MAXUSERS], pointy[MAXUSERS]; int eventmask = KeyPressMask|ExposureMask|ButtonPressMask; XEvent event; XGCValues gcval; GC draw[MAXUSERS]; int FirstPt[MAXUSERS]; int NC; if (argc == 1) NC = argc; else NC = argc-1; printf("NC %d\n", NC); for (i=0; i< NC; i++){ if (!(display[i] = XOpenDisplay(argv[i+1]))) { perror("XOpenDisplay"); exit(1); } FirstPt[i] = TRUE; root[i] = RootWindow(display[i],screen = DefaultScreen(display[i])); fgcolor = BlackPixel(display[i],screen); bgcolor = WhitePixel(display[i],screen); window[i] = XCreateSimpleWindow(display[i],root[i],0,0,200,200,2, fgcolor,bgcolor); gcval.foreground = fgcolor; gcval.background = bgcolor; draw[i] = XCreateGC(display[i],window[i],GCForeground|GCBackground,&gcval); XMapWindow(display[i],window[i]); XFlush(display[i]); XSelectInput(display[i],window[i],eventmask); } for (;;) { for (j=0; j