On Tue, Nov 28, 2000 at 12:33:44AM +0100, Reinhard Foerster wrote:
- die Sanduhr (z.B. beim Laden einer Seite im Netscape)
In irgendwelchen X-Ressourcen muss drinstehen, welcher Cursor wann gezeigt wird. Nur wo?
Ich würde gern die Sanduhr durch den normalen Pfeil ersetzen, da der "hot spot" bei der Sanduhr an einer Stelle ist, die ich nicht fuer intuitiv erkennbar halte.
Eine allgemeine Lösung habe ich noch nicht gefunden. Im Netscape wird man die blöde Uhr mit folgender X-Ressource los:
Netscape*busyCursor: top_left_arrow
Auf der rechten Seite können alle xxx stehen, die in /usr/include/X11/cursorfont.h als XC_xxx auftauchen.
Wer die Cursors mal ausprobieren will, kann mit folgendem Progrämmchen den Zeiger auf dem Root-Fenster ändern:
#include <stdio.h> #include <X11/Xlib.h> #include <X11/cursorfont.h>
int main(int argc, char **argv) { Display *display; Cursor cursor; Window window = 0x26; // ID des root windows laut xdpyinfo display = XOpenDisplay (NULL); if (!display) { fprintf(stderr,"can't open display\n"); exit(-1); } cursor = XCreateFontCursor(display, XC_top_left_arrow); XDefineCursor(display, window, cursor); XCloseDisplay(display); return 0; }
Kennst jemand mit sowas aus? Zwei Fragen sind aufgetaucht: 1. Was muss ich nach XDefineCursor aufrufen, damit der neue Cursor aktiv wird? Bei mir wird er erst bei XCloseDisplay aktiv. 2. Wie ermittelt man die ID des root windows (oder ist die immer gleich?)
Reinhard (sorry, null Ahnung von Xlib)