1 # README.definable-cursor: How to use definable-cursor patch for Window Maker
2 # created 1999-Apr-24 14:53 jmk
3 # autodate: 2001-Sep-05 22:40
5 +------------------------------------------+
6 | Definable Mouse Cursors for Window Maker |
7 +------------------------------------------+
9 The definable-cursor patch for Window Maker
10 <http://www.windowmaker.org/> allows user-definable mouse cursors; the
11 cursors can either be the built-in ones from the X11 cursor font, or
12 they can be bitmap (XBM) files. User-definable cursors can be useful
13 for theme-builders, lefthanders, and the visually impaired.
15 This README describes how to enable user-definable cursors in Window
16 Maker as well as how to use them.
18 +----------------------------+
19 | Enabling Definable Cursors |
20 +----------------------------+
22 If you want to enable definable mouse cursors in Window Maker, you must
23 do so before you configure and build Window Maker. Here's how:
25 (1) Edit src/wconfig.h.in and change the following line:
27 #undef DEFINABLE_CURSOR
31 #define DEFINABLE_CURSOR
33 (2) Configure and build Window Maker as you normally would:
38 +---------------------------+
39 | Defining Your Own Cursors |
40 +---------------------------+
42 A cursor specification takes one of the following forms in the
43 ~/GNUstep/Defaults/WindowMaker file:
46 (builtin, <cursor-name>)
47 (bitmap, <bitmap-filename>, <mask-filename>)
49 They have the following meanings:
51 none The cursor is inherited from the parent window (often,
52 this means the root window).
54 builtin Use the cursor named <cursor-name> from X11's set of
55 built-in cursors. The names are the same as you use
56 with 'xsetroot -cursor_name'. See the xsetroot(1) man
57 page for more information.
59 bitmap Use the bitmap in <bitmap-filename> as the foreground
60 cursor bitmap, and the one in <mask-filename> as the
61 background (mask) bitmap. This is pretty much the same
62 as 'xsetroot -cursor', except that Window Maker searches
63 for the bitmaps along its PixmapPath.
65 You can set the following cursor types (they're shown here with their
68 NormalCursor = (builtin, left_ptr);
69 ArrowCursor = (builtin, top_left_arrow);
70 MoveCursor = (builtin, fleur);
71 TopLeftResizeCursor = (builtin, top_left_corner);
72 TopRightResizeCursor = (builtin, top_right_corner);
73 BottomLeftResizeCursor = (builtin, bottom_left_corner);
74 BottomRightResizeCursor = (builtin, bottom_right_corner);
75 VerticalResizeCursor = (builtin, sb_v_double_arrow);
76 HorizontalResizeCursor = (builtin, sb_h_double_arrow);
77 WaitCursor = (builtin, watch);
78 QuestionCursor = (builtin, question_arrow);
79 TextCursor = (builtin, xterm);
80 SelectCursor = (builtin, cross);
82 The following cursor types are allowed, but they're deprecated (Window
83 Maker used them in the past, but doesn't use them anymore):
85 ResizeCursor = (builtin, sizing);
87 +----------------------------------------------+
88 | Using Cursors with 'getstyle' and 'setstyle' |
89 +----------------------------------------------+
91 The 'getstyle' and 'setstyle' style- and theme-management utilities
92 can handle user-definable cursors. By default, 'getstyle' ignores
93 cursor definitions; using 'getstyle -t' to get theme-related settings
94 will also include any cursors you've defined in the resulting
97 However, by default, 'setstyle' does *not* ignore cursor settings. If
98 you wish to set a style or theme without installing cursor settings,
99 you can use 'setstyle --no-cursors' to ignore the cursor definitions.
105 Most X11 cursors are 16x16 bitmaps. Many X servers can actually handle
106 larger cursors, though. To check, use:
110 and in the resulting output look for a line such as:
112 largest cursor: 64x64
114 The example above indicates that my X server can handle cursors up to
115 64 pixels wide by 64 pixels high.
117 You can create your own bitmap cursors using the 'bitmap' program that
118 accompanies most X11 distributions. For example bitmap cursors and
119 masks, see <http://www.pobox.com/~jmknoble/WindowMaker/cursors/>.