elisp: Fringe Cursors
37.13.3 Fringe Cursors
----------------------
When a line is exactly as wide as the window, Emacs displays the cursor
in the right fringe instead of using two lines. Different bitmaps are
used to represent the cursor in the fringe depending on the current
buffer’s cursor type.
-- User Option: overflow-newline-into-fringe
If this is non-‘nil’, lines exactly as wide as the window (not
counting the final newline character) are not continued. Instead,
when point is at the end of the line, the cursor appears in the
right fringe.
-- Variable: fringe-cursor-alist
This variable specifies the mapping from logical cursor type to the
actual fringe bitmaps displayed in the right fringe. The value is
an alist where each element has the form ‘(CURSOR-TYPE . BITMAP)’,
which means to use the fringe bitmap BITMAP to display cursors of
type CURSOR-TYPE.
Each CURSOR-TYPE should be one of ‘box’, ‘hollow’, ‘bar’, ‘hbar’,
or ‘hollow-small’. The first four have the same meanings as in the
‘cursor-type’ frame parameter (Cursor Parameters). The
‘hollow-small’ type is used instead of ‘hollow’ when the normal
‘hollow-rectangle’ bitmap is too tall to fit on a specific display
line.
Each BITMAP should be a symbol specifying the fringe bitmap to be
displayed for that logical cursor type. Fringe Bitmaps.
When ‘fringe-cursor-alist’ has a buffer-local value, and there is
no bitmap defined for a cursor type, the corresponding value from
the default value of ‘fringes-indicator-alist’ is used.