- Fixed WMGetViewScreenPosition() to consider the window decorations.
[wmaker-crm.git] / README.definable-cursor
blob22a24482aa9cd9e56c4beff8f6eef5bda387a834
3 Definable Mouse Cursors for Window Maker
4 ----------------------------------------
6 The definable-cursor feature allows user-definable mouse cursors; the
7 cursors can either be the built-in ones from the X11 cursor font, or
8 they can be bitmap (XBM) files.  User-definable cursors can be useful
9 for theme-builders, lefthanders, and the visually impaired.
12 Defining Your Own Cursors
13 -------------------------
15 A cursor specification takes one of the following forms in the
16 ~/GNUstep/Defaults/WindowMaker file:
18     (none)
19     (builtin, <cursor-name>)
20     (bitmap, <bitmap-filename>, <mask-filename>)
22 They have the following meanings:
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.
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.
38 You can set the following cursor types (they're shown here with their
39 defaults):
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);
55 The following cursor types are allowed, but they're deprecated (Window
56 Maker used them in the past, but doesn't use them anymore):
58     ResizeCursor            = (builtin, sizing);
61 Using Cursors with 'getstyle' and 'setstyle'
62 --------------------------------------------
64 The 'getstyle' and 'setstyle' style/theme-management utilities can
65 handle user-definable cursors.  By default, 'getstyle' ignores cursor
66 definitions; using 'getstyle -t' to get theme-related settings will
67 also include any cursors you've defined in the resulting stylefile.
69 However, by default, 'setstyle' does NOT ignore cursor settings.  If
70 you wish to set a style or theme without installing cursor settings,
71 you can use 'setstyle --no-cursors' to ignore the cursor definitions.
74 Random Notes
75 ------------
77 Most X11 cursors are 16x16 bitmaps.  Many X servers can actually handle
78 larger cursors, though.  To check, use:
80     xdpyinfo
82 and in the resulting output look for a line such as:
84     largest cursor:    64x64
86 The example above indicates that my X server can handle cursors up to
87 64 pixels wide by 64 pixels high.
89 You can create your own bitmap cursors using the 'bitmap' program that
90 accompanies most X11 distributions.  For example bitmap cursors and
91 masks, see <http://www.pobox.com/~jmknoble/WindowMaker/cursors/>.