elisp: Fringe Bitmaps
37.13.4 Fringe Bitmaps
----------------------
The “fringe bitmaps” are the actual bitmaps which represent the logical
fringe indicators for truncated or continued lines, buffer boundaries,
overlay arrows, etc. Each bitmap is represented by a symbol. These
symbols are referred to by the variable ‘fringe-indicator-alist’, which
maps fringe indicators to bitmaps (Fringe Indicators), and the
variable ‘fringe-cursor-alist’, which maps fringe cursors to bitmaps
(Fringe Cursors).
Lisp programs can also directly display a bitmap in the left or right
fringe, by using a ‘display’ property for one of the characters
appearing in the line (Other Display Specs). Such a display
specification has the form
(FRINGE BITMAP [FACE])
FRINGE is either the symbol ‘left-fringe’ or ‘right-fringe’. BITMAP is
a symbol identifying the bitmap to display. The optional FACE names a
face whose foreground color is used to display the bitmap; this face is
automatically merged with the ‘fringe’ face.
Here is a list of the standard fringe bitmaps defined in Emacs, and
how they are currently used in Emacs (via ‘fringe-indicator-alist’ and
‘fringe-cursor-alist’):
‘left-arrow’, ‘right-arrow’
Used to indicate truncated lines.
‘left-curly-arrow’, ‘right-curly-arrow’
Used to indicate continued lines.
‘right-triangle’, ‘left-triangle’
The former is used by overlay arrows. The latter is unused.
‘up-arrow’, ‘down-arrow’, ‘top-left-angle’ ‘top-right-angle’
‘bottom-left-angle’, ‘bottom-right-angle’
‘top-right-angle’, ‘top-left-angle’
‘left-bracket’, ‘right-bracket’, ‘top-right-angle’, ‘top-left-angle’
Used to indicate buffer boundaries.
‘filled-rectangle’, ‘hollow-rectangle’
‘filled-square’, ‘hollow-square’
‘vertical-bar’, ‘horizontal-bar’
Used for different types of fringe cursors.
‘empty-line’, ‘exclamation-mark’, ‘question-mark’, ‘exclamation-mark’
Not used by core Emacs features.
The next subsection describes how to define your own fringe bitmaps.
-- Function: fringe-bitmaps-at-pos &optional pos window
This function returns the fringe bitmaps of the display line
containing position POS in window WINDOW. The return value has the
form ‘(LEFT RIGHT OV)’, where LEFT is the symbol for the fringe
bitmap in the left fringe (or ‘nil’ if no bitmap), RIGHT is similar
for the right fringe, and OV is non-‘nil’ if there is an overlay
arrow in the left fringe.
The value is ‘nil’ if POS is not visible in WINDOW. If WINDOW is
‘nil’, that stands for the selected window. If POS is ‘nil’, that
stands for the value of point in WINDOW.