On Tue, May 21, 2013 at 08:09:24AM -0700, First Last wrote:
> Hi,
> I try to get the position of my pointer, I tried whit this code :
> #include<X11/Xlib.h>
> #include<X11/cursorfont.h>
> #include<stdio.h>
> #include<stdlib.h>
> #include<string.h>
> 
> #define DPYW DisplayWidth(dpy,scr)
> #define DPYH DisplayHeight(dpy,scr)
> 
> 
> int main(int argc, char *argv[]){
>         Display *dpy;
>         int scr, stop=0;
>         Window rootwin;
>         Window wbg;
>         XEvent e;
>         Cursor theCursor;
> 
>         dpy = XOpenDisplay(NULL);
> 
>         scr=DefaultScreen(dpy);
>         rootwin=RootWindow(dpy, scr);
>         wbg=XCreateSimpleWindow(dpy,rootwin,0,0,
>                                 DPYW,DPYH,0,
>                                 BlackPixel(dpy, scr),
>                                 BlackPixel(dpy, scr) );
> 
> 
>         XStoreName(dpy, wbg, "background");
>         XSelectInput(dpy, wbg, 
> ExposureMask|KeyPressMask|KeyReleaseMask|ButtonPressMask|ButtonReleaseMask);
>         XMapWindow(dpy, wbg);
> 
> 
>         theCursor = XCreateFontCursor(dpy, XC_left_ptr);
> 
>         XDefineCursor(dpy,wbg,theCursor);
> 
> 
>         // where is my mouse ?
>         int mousex, mousey;
>         XQueryPointer(dpy,rootwin,None,None,&mousex,&mousey,None,None,None); 
> // problem...

none of these may be NULL (or None, which is just 0 anyway). you do need to
provide some valid pointers here.

> 
>         while(stop==0) {
>                 XNextEvent(dpy, &e);
>                 if(e.type==Expose && e.xexpose.count<1) {
>                 XFlush(dpy);
>                 }
> 
>                 switch(e.type){
>                         case KeyRelease         : stop=1;break;
>                 }
> 
>         }
>         XFreeCursor(dpy,theCursor);
>         XCloseDisplay(dpy);
> 
>         return 0;
> }
> 
> 
> 
> but, when I'm running it, X exits without complains.
> 
> also, there is a function like fprintf to write directly to xorg.log through 
> xlib ?

are you saying your X server crashes when you run this? that shouldn't
happen and would certainly be a bug.

The Xorg.log is only for the X server, you're writing a client application
and can't access it.

Cheers,
   Peter

_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to