more code for proplist handling (almost finished)
[wmaker-crm.git] / README.definable-cursor
blob14bd4745dd8652bbfc4793a5c07c7bc58f86e697
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:
26   
27         #undef DEFINABLE_CURSOR
29       to:
30       
31         #define DEFINABLE_CURSOR
33   (2) Configure and build Window Maker as you normally would:
34   
35         ./configure
36         make
38 +---------------------------+
39 | Defining Your Own Cursors |
40 +---------------------------+
42 A cursor specification takes one of the following forms in the
43 ~/GNUstep/Defaults/WindowMaker file:
45     (none)
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).
53             
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
66 defaults):
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
95 stylefile.
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.
101 +--------------+
102 | Random Notes |
103 +--------------+
105 Most X11 cursors are 16x16 bitmaps.  Many X servers can actually handle
106 larger cursors, though.  To check, use:
108     xdpyinfo
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/>.