1
2
3Definable Mouse Cursors for Window Maker
4----------------------------------------
5
6The definable-cursor feature allows user-definable mouse cursors; the
7cursors can either be the built-in ones from the X11 cursor font, or
8they can be bitmap (XBM) files.  User-definable cursors can be useful
9for theme-builders, lefthanders, and the visually impaired.
10
11
12Defining Your Own Cursors
13-------------------------
14
15A cursor specification takes one of the following forms in the
16~/GNUstep/Defaults/WindowMaker file:
17
18    (none)
19    (builtin, <cursor-name>)
20    (bitmap, <bitmap-filename>, <mask-filename>)
21
22They have the following meanings:
23
24    none     The cursor is inherited from the parent window (often,
25             this means the root window).
26
27    builtin  Use the cursor named <cursor-name> from X11's set of
28             built-in cursors.  The names are the same as you use
29             with 'xsetroot -cursor_name'.  See the xsetroot(1) man
30             page for more information.
31
32    bitmap   Use the bitmap in <bitmap-filename> as the foreground
33             cursor bitmap, and the one in <mask-filename> as the
34             background (mask) bitmap.  This is pretty much the same
35             as 'xsetroot -cursor', except that Window Maker searches
36             for the bitmaps along its PixmapPath.
37
38You can set the following cursor types (they're shown here with their
39defaults):
40
41    NormalCursor            = (builtin, left_ptr);
42    ArrowCursor             = (builtin, top_left_arrow);
43    MoveCursor              = (builtin, fleur);
44    TopLeftResizeCursor     = (builtin, top_left_corner);
45    TopRightResizeCursor    = (builtin, top_right_corner);
46    BottomLeftResizeCursor  = (builtin, bottom_left_corner);
47    BottomRightResizeCursor = (builtin, bottom_right_corner);
48    VerticalResizeCursor    = (builtin, sb_v_double_arrow);
49    HorizontalResizeCursor  = (builtin, sb_h_double_arrow);
50    WaitCursor              = (builtin, watch);
51    QuestionCursor          = (builtin, question_arrow);
52    TextCursor              = (builtin, xterm);
53    SelectCursor            = (builtin, cross);
54
55The following cursor types are allowed, but they're deprecated (Window
56Maker used them in the past, but doesn't use them anymore):
57
58    ResizeCursor            = (builtin, sizing);
59
60
61Using Cursors with 'getstyle' and 'setstyle'
62--------------------------------------------
63
64The 'getstyle' and 'setstyle' style/theme-management utilities can
65handle user-definable cursors.  By default, 'getstyle' ignores cursor
66definitions; using 'getstyle -t' to get theme-related settings will
67also include any cursors you've defined in the resulting style file.
68
69However, by default, 'setstyle' does NOT ignore cursor settings.  If
70you wish to set a style or theme without installing cursor settings,
71you can use 'setstyle --no-cursors' to ignore the cursor definitions.
72
73
74Random Notes
75------------
76
77Most X11 cursors are 16x16 bitmaps.  Many X servers can actually handle
78larger cursors, though.  To check, use:
79
80    xdpyinfo
81
82and in the resulting output look for a line such as:
83
84    largest cursor:    64x64
85
86The example above indicates that my X server can handle cursors up to
8764 pixels wide by 64 pixels high.
88
89You can create your own bitmap cursors using the 'bitmap' program that
90accompanies most X11 distributions.  For example bitmap cursors and
91masks, see <http://www.pobox.com/~jmknoble/WindowMaker/cursors/>.
92
93