aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2006-02-20 22:15:13 +0000
committerKim F. Storm2006-02-20 22:15:13 +0000
commit01bc0451f8c0b006af14823ab5c2cc2d3f84a5f4 (patch)
treeff564fcd9ee00de43303259d3492058a4d240467
parente541cbfcaee8e16ddf89f9a2cbf7205171a801fe (diff)
downloademacs-01bc0451f8c0b006af14823ab5c2cc2d3f84a5f4.tar.gz
emacs-01bc0451f8c0b006af14823ab5c2cc2d3f84a5f4.zip
(Fringe Indicators): New section.
Move indicate-empty-lines, indicate-buffer-boundaries, and default-indicate-buffer-boundaries here. Add fringe-indicator-alist and default-fringes-indicator-alist. Add list of logical fringe indicator symbols. Update list of standard bitmap names. (Fringe Cursors): New section. Move overflow-newline-into-fringe here. Add fringe-cursor-alist and default-fringes-cursor-alist. Add list of fringe cursor symbols.
-rw-r--r--lispref/display.texi259
1 files changed, 181 insertions, 78 deletions
diff --git a/lispref/display.texi b/lispref/display.texi
index 20b8df8d466..8b27e1c29c3 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -2722,7 +2722,9 @@ continuation, horizontal scrolling, and the overlay arrow.
2722 2722
2723@menu 2723@menu
2724* Fringe Size/Pos:: Specifying where to put the window fringes. 2724* Fringe Size/Pos:: Specifying where to put the window fringes.
2725* Fringe Bitmaps:: Displaying bitmaps in the window fringes. 2725* Fringe Indicators:: Displaying indicator icons in the window fringes.
2726* Fringe Cursors:: Displaying cursors in the right fringe.
2727* Fringe Bitmaps:: Specifying bitmaps for fringe indicators.
2726* Customizing Bitmaps:: Specifying your own bitmaps to use in the fringes. 2728* Customizing Bitmaps:: Specifying your own bitmaps to use in the fringes.
2727* Overlay Arrow:: Display of an arrow to indicate position. 2729* Overlay Arrow:: Display of an arrow to indicate position.
2728@end menu 2730@end menu
@@ -2774,6 +2776,151 @@ window is used. The value has the form @code{(@var{left-width}
2774@var{right-width} @var{outside-margins})}. 2776@var{right-width} @var{outside-margins})}.
2775@end defun 2777@end defun
2776 2778
2779
2780@node Fringe Indicators
2781@subsection Fringe Indicators
2782@cindex fringe indicators
2783@cindex indicators, fringe
2784
2785 The @dfn{fringe indicators} are tiny icons Emacs displays in the
2786window fringe (on a graphic display) to indicate truncated or
2787continued lines, buffer boundaries, overlay arrow, etc.
2788
2789@defopt indicate-empty-lines
2790@tindex indicate-empty-lines
2791@cindex fringes, and empty line indication
2792When this is non-@code{nil}, Emacs displays a special glyph in the
2793fringe of each empty line at the end of the buffer, on graphical
2794displays. @xref{Fringes}. This variable is automatically
2795buffer-local in every buffer.
2796@end defopt
2797
2798@defvar indicate-buffer-boundaries
2799This buffer-local variable controls how the buffer boundaries and
2800window scrolling are indicated in the window fringes.
2801
2802Emacs can indicate the buffer boundaries---that is, the first and last
2803line in the buffer---with angle icons when they appear on the screen.
2804In addition, Emacs can display an up-arrow in the fringe to show
2805that there is text above the screen, and a down-arrow to show
2806there is text below the screen.
2807
2808There are four kinds of basic values:
2809
2810@table @asis
2811@item @code{nil}
2812Don't display the icons.
2813@item @code{left}
2814Display them in the left fringe.
2815@item @code{right}
2816Display them in the right fringe.
2817@item @var{anything-else}
2818Display the icon at the top of the window top in the left fringe, and other
2819in the right fringe.
2820@end table
2821
2822If value is a cons @code{(@var{angles} . @var{arrows})}, @var{angles}
2823controls the angle icons, and @var{arrows} controls the arrows. Both
2824@var{angles} and @var{arrows} work according to the table above.
2825Thus, @code{(t . right)} places the top angle icon in the left
2826fringe, the bottom angle icon in the right fringe, and both arrows in
2827the right fringe.
2828@end defvar
2829
2830@defvar default-indicate-buffer-boundaries
2831The value of this variable is the default value for
2832@code{indicate-buffer-boundaries} in buffers that do not override it.
2833@end defvar
2834
2835@defvar fringe-indicator-alist
2836This buffer-local variable specifies the mapping from logical fringe
2837indicators to the actual bitmaps displayed in the window fringes.
2838
2839These symbols identify the logical fringe indicators:
2840
2841@table @asis
2842@item Truncation and continuation line indicators:
2843@code{truncation}, @code{continuation}.
2844
2845@item Buffer position indicators:
2846@code{up}, @code{down},
2847@code{top}, @code{bottom},
2848@code{top-bottom}.
2849
2850@item Empty line indicator:
2851@code{empty-line}.
2852
2853@item Overlay arrow indicator:
2854@code{overlay-arrow}.
2855
2856@item Unknown bitmap indicator:
2857@code{unknown}.
2858@end table
2859
2860 The value is an alist where each element @code{(@var{indicator} . @var{bitmaps})}
2861specifies the fringe bitmaps used to display a specific logical
2862fringe indicator.
2863
2864Here, @var{indicator} specifies the logical indicator type, and
2865@var{bitmaps} is list of symbols @code{(@var{left} @var{right}
2866[@var{left1} @var{right1}])} which specifies the actual bitmap shown
2867in the left or right fringe for the logical indicator.
2868
2869The @var{left} and @var{right} symbols specify the bitmaps shown in
2870the left and/or right fringe for the specific indicator. The
2871@var{left1} or @var{right1} bitmaps are used only for the `bottom' and
2872`top-bottom indicators when the last (only) line in has no final
2873newline. Alternatively, @var{bitmaps} may be a single symbol which is
2874used in both left and right fringes.
2875
2876When @code{fringe-indicator-alist} has a buffer-local value, and there
2877is no bitmap defined for a logical indicator, or the bitmap is
2878@code{t}, the corresponding value from the (non-local)
2879@code{default-fringes-indicator-alist} is used.
2880
2881To completely hide a specific indicator, set the bitmap to @code{nil}.
2882@end defvar
2883
2884@defvar default-fringes-indicator-alist
2885The value of this variable is the default value for
2886@code{fringe-indicator-alist} in buffers that do not override it.
2887@end defvar
2888
2889@table @asis
2890@item Standard fringe bitmaps for indicators:
2891@code{left-arrow}, @code{right-arrow}, @code{up-arrow}, @code{down-arrow},
2892@code{left-curly-arrow}, @code{right-curly-arrow},
2893@code{left-triangle}, @code{right-triangle},
2894@code{top-left-angle}, @code{ top-right-angle},
2895@code{bottom-left-angle}, @code{bottom-right-angle},
2896@code{left-bracket}, @code{right-bracket},
2897@code{filled-rectangle}, @code{hollow-rectangle},
2898@code{filled-square}, @code{hollow-square},
2899@code{vertical-bar}, @code{horisontal-bar},
2900@code{empty-line},
2901@code{question-mark}.
2902@end table
2903
2904@node Fringe Cursors
2905@subsection Fringe Cursors
2906@cindex fringe cursors
2907@cindex cursor, fringe
2908
2909 When a line is exactly as wide as the window, Emacs displays the
2910cursor in the right fringe instead of using two lines. Different
2911bitmaps are used to represent the cursor in the fringe depending on
2912the current buffer's cursor type.
2913
2914@table @asis
2915@item Logical cursor types:
2916@code{box} , @code{hollow}, @code{bar},
2917@code{hbar}, @code{hollow-small}.
2918@end table
2919
2920The @code{hollow-small} type is used instead of @code{hollow} when the
2921normal @code{hollow-rectangle} bitmap is too tall to fit on a specific
2922display line.
2923
2777@defvar overflow-newline-into-fringe 2924@defvar overflow-newline-into-fringe
2778If this is non-@code{nil}, lines exactly as wide as the window (not 2925If this is non-@code{nil}, lines exactly as wide as the window (not
2779counting the final newline character) are not continued. Instead, 2926counting the final newline character) are not continued. Instead,
@@ -2781,16 +2928,44 @@ when point is at the end of the line, the cursor appears in the right
2781fringe. 2928fringe.
2782@end defvar 2929@end defvar
2783 2930
2931@defvar fringe-cursor-alist
2932This variable specifies the mapping from logical cursor type to the
2933actual fringe bitmaps displayed in the right fringe. The value is an
2934alist where each element @code{(@var{cursor}. @var{bitmap})} specifies
2935the fringe bitmaps used to display a specific logical cursor type in
2936the fringe. Here, @var{cursor} specifies the logical cursor type and
2937@var{bitmap} is a symbol specifying the fringe bitmap to be displayed
2938for that logical cursor type.
2939
2940When @code{fringe-cursor-alist} has a buffer-local value, and there is
2941no bitmap defined for a cursor type, the corresponding value from the
2942(non-local) @code{default-fringes-indicator-alist} is used.
2943@end defvar
2944
2945@defvar default-fringes-cursor-alist
2946The value of this variable is the default value for
2947@code{fringe-cursor-alist} in buffers that do not override it.
2948@end defvar
2949
2950@table @asis
2951@item Standard bitmaps for displaying the cursor in right fringe:
2952@code{filled-rectangle}, @code{hollow-rectangle},
2953@code{filled-square}, @code{hollow-square},
2954@code{vertical-bar}, @code{horisontal-bar}.
2955@end table
2956
2957
2784@node Fringe Bitmaps 2958@node Fringe Bitmaps
2785@subsection Fringe Bitmaps 2959@subsection Fringe Bitmaps
2786@cindex fringe bitmaps 2960@cindex fringe bitmaps
2787@cindex bitmaps, fringe 2961@cindex bitmaps, fringe
2788 2962
2789 The @dfn{fringe bitmaps} are tiny icons Emacs displays in the window 2963 The @dfn{fringe bitmaps} are the actual bitmaps which represent the
2790fringe (on a graphic display) to indicate truncated or continued 2964logical fringe indicators for truncated or continued lines, buffer
2791lines, buffer boundaries, overlay arrow, etc. The fringe bitmaps are 2965boundaries, overlay arrow, etc. Fringe bitmap symbols have their own
2792shared by all frames and windows. You can redefine the built-in 2966name space. The fringe bitmaps are shared by all frames and windows.
2793fringe bitmaps, and you can define new fringe bitmaps. 2967You can redefine the built-in fringe bitmaps, and you can define new
2968fringe bitmaps.
2794 2969
2795 The way to display a bitmap in the left or right fringes for a given 2970 The way to display a bitmap in the left or right fringes for a given
2796line in a window is by specifying the @code{display} property for one 2971line in a window is by specifying the @code{display} property for one
@@ -2804,32 +2979,6 @@ default @code{fringe} face. @var{face} is automatically merged with
2804the @code{fringe} face, so normally @var{face} need only specify the 2979the @code{fringe} face, so normally @var{face} need only specify the
2805foreground color for the bitmap. 2980foreground color for the bitmap.
2806 2981
2807 These symbols identify the standard fringe bitmaps. Evaluate
2808@code{(require 'fringe)} to define them. Fringe bitmap symbols have
2809their own name space.
2810
2811@table @asis
2812@item Truncation and continuation line bitmaps:
2813@code{left-truncation}, @code{right-truncation},
2814@code{continued-line}, @code{continuation-line}.
2815
2816@item Buffer indication bitmaps:
2817@code{up-arrow}, @code{down-arrow},
2818@code{top-left-angle}, @code{top-right-angle},
2819@code{bottom-left-angle}, @code{bottom-right-angle},
2820@code{left-bracket}, @code{right-bracket}.
2821
2822@item Empty line indication bitmap:
2823@code{empty-line}.
2824
2825@item Overlay arrow bitmap:
2826@code{overlay-arrow}.
2827
2828@item Bitmaps for displaying the cursor in right fringe:
2829@code{filled-box-cursor}, @code{hollow-box-cursor}, @code{hollow-square},
2830@code{bar-cursor}, @code{hbar-cursor}.
2831@end table
2832
2833@defun fringe-bitmaps-at-pos &optional pos window 2982@defun fringe-bitmaps-at-pos &optional pos window
2834This function returns the fringe bitmaps of the display line 2983This function returns the fringe bitmaps of the display line
2835containing position @var{pos} in window @var{window}. The return 2984containing position @var{pos} in window @var{window}. The return
@@ -4598,52 +4747,6 @@ is completely independent of the user-settable tab stops used by the
4598command @code{tab-to-tab-stop}. @xref{Indent Tabs}. 4747command @code{tab-to-tab-stop}. @xref{Indent Tabs}.
4599@end defopt 4748@end defopt
4600 4749
4601@defopt indicate-empty-lines
4602@tindex indicate-empty-lines
4603@cindex fringes, and empty line indication
4604When this is non-@code{nil}, Emacs displays a special glyph in the
4605fringe of each empty line at the end of the buffer, on graphical
4606displays. @xref{Fringes}. This variable is automatically
4607buffer-local in every buffer.
4608@end defopt
4609
4610@defvar indicate-buffer-boundaries
4611This buffer-local variable controls how the buffer boundaries and
4612window scrolling are indicated in the window fringes.
4613
4614Emacs can indicate the buffer boundaries---that is, the first and last
4615line in the buffer---with angle icons when they appear on the screen.
4616In addition, Emacs can display an up-arrow in the fringe to show
4617that there is text above the screen, and a down-arrow to show
4618there is text below the screen.
4619
4620There are four kinds of basic values:
4621
4622@table @asis
4623@item @code{nil}
4624Don't display the icons.
4625@item @code{left}
4626Display them in the left fringe.
4627@item @code{right}
4628Display them in the right fringe.
4629@item @var{anything-else}
4630Display the icon at the top of the window top in the left fringe, and other
4631in the right fringe.
4632@end table
4633
4634If value is a cons @code{(@var{angles} . @var{arrows})}, @var{angles}
4635controls the angle icons, and @var{arrows} controls the arrows. Both
4636@var{angles} and @var{arrows} work according to the table above.
4637Thus, @code{(t . right)} places the top angle icon in the left
4638fringe, the bottom angle icon in the right fringe, and both arrows in
4639the right fringe.
4640@end defvar
4641
4642@defvar default-indicate-buffer-boundaries
4643The value of this variable is the default value for
4644@code{indicate-buffer-boundaries} in buffers that do not override it.
4645@end defvar
4646
4647@node Display Tables 4750@node Display Tables
4648@section Display Tables 4751@section Display Tables
4649 4752