Portál AbcLinuxu, 5. března 2026 00:04
#include <stdio.h>
#include <glib.h>
#include <gdk/gdkdisplay.h>
int
main(int argc, char *argv[])
{
gint x, y;
GdkDisplay *display;
gdk_init(&argc, &argv);
display = gdk_display_get_default();
gdk_display_get_pointer(display, NULL, &x, &y, NULL);
printf("x = %d, y = %d\n", x, y);
return 0;
}
kompilace:
gcc `pkg-config gdk-2.0 --cflags` `pkg-config gdk-2.0 --libs` xcursorpos.c -o xcursorpos
Ta správná funkce Xlib je XQueryPointer, vypadalo by to takhle:
#include#include int main(int argc, char **argv) { Display *dpy; Window root; Window ret_root; Window ret_child; int root_x; int root_y; int win_x; int win_y; unsigned int mask; dpy = XOpenDisplay(NULL); root = XDefaultRootWindow(dpy); if(XQueryPointer(dpy, root, &ret_root, &ret_child, &root_x, &root_y, &win_x, &win_y, &mask)) printf("%d,%d\n", root_x, root_y); return 0; }
Kompilace:
gcc -Wall -L/usr/X11R6/lib -lX11 xquerypointer.c -o \ xquerypointer
#include <stdio.h> #include <X11/Xlib.h>
, tak:
python -c 'import Xlib.display; \ v = Xlib.display.Display().screen().\ root.query_pointer(); \ print "%d,%d"%(v.win_x,v.win_x);'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.