Ins Root-Window zeichnen
-
Hallo alle
Weiss jemand wie man unter X mit Hilfe der Xlib ins root-window zeichnen kann? Da find ich zwar schon einige Anleitungen wie ich mir Fenster baue mit der Xlib, aber nicht ein einziges Beispiel wie man direkt etwas ins root-fenster schreiben/zeichnen kann.
Hab auch propiert root-tail auseinanderzunehmen, aber das macht irgendwie etwas ganz aussergewöhnliches mit den Fenstern.. (jedenfalls aussergewöhnlich genug dass ichs nicht einfach so kapiere..)Wär schön wenn ihr ein kleines Beispiel von mehreren Zeilen posten könntet (von mir aus auch pseudo-code) das ein "A" oder so aufs root-fenster zeichnet.
Danke schon mal
-elvis
-
Schau dir mal libxosd an.
-
ok, das tut's auch.
Danke!-elvis
-
mit XRootWindow erhälst du doch den Fenster-Handler des Root-Fensters. Darauf kannst du dann rummalen
hier mal nen älteres Beispielprogramm von mir, dass von stdin liest und auf das RootWindow schreibt
#include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/Xos.h> #include <stdio.h> int main(void) { Display *display=XOpenDisplay(NULL); if(display==NULL) return 1; int screen=DefaultScreen(display); Window root=RootWindow(display,screen); GC gc=XCreateGC(display,root,0,NULL); XFontStruct *font=XLoadQueryFont(display,"9x15"); if(font==NULL) return 1; XSetFont(display,gc,font->fid); XSetForeground(display,gc,WhitePixel(display,screen)); int x=20,y=20; for(;;) { char buffer[100]; fgets(buffer,100,stdin); if(feof(stdin)) break; XDrawString(display,root,gc,x,y,buffer,strlen(buffer)-1); y+=15; XFlush(display); } return 0; }
-
Ja, so was hab ich gesucht!
Hab bei meinen Versuchen das Flushen vergessen..