Hallo,
Am Sun, 14 Dec 2003, Bernhard Walle schrieb:
weiß jemand zufällig wie man die Version des X-Servers (also bspw.
sowas wie die Ausgabe von "xdpyinfo | grep version") über eine XLib-API
herausbekommen kann?
Fast direkt aus xdpyinfo.c:
====
#include
#include
int main(void) {
Display* dpy = XOpenDisplay( NULL );
if( dpy != NULL ) {
printf("Protocol version:\t%i.%i\n",
ProtocolVersion (dpy), ProtocolRevision (dpy));
printf("Vendor release number:\t%d\n", VendorRelease (dpy));
XCloseDisplay(dpy);
}
return 0;
}
====
$ make CFLAGS="-O2 -Wall -W -I/usr/X11/include" \
LDFLAGS="-L/usr/X11/lib -lX11" test_x11ver
gcc -O2 -Wall -W -I/usr/X11/include -L/usr/X11/lib -lX11
test_x11ver.c -o test_x11ver
$ ./test_x11ver
Protocol version: 11.0
Vendor release number: 3360
Das VendorRelease musst du halt ggfs. noch auseinanderpfriemeln, z.B.:
====
int rel, maj, min, r, p;
rel = VendorRelease (dpy);
maj = rel / 1000;
min = (rel - (maj*1000)) / 100;
r = (rel - (maj*1000) - (min*100)) / 10;
p = rel - (maj*1000) - (min*100) - (r * 10);
printf("Xfree86 version: %i.%i.%i.%i\n", maj, min, r, p);
====
HTH,
-dnh
--
Time is an illusion; lunchtime, doubly so.
-- Ford Prefect