diff options
| author | Kim F. Storm | 2006-02-20 22:15:13 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-02-20 22:15:13 +0000 |
| commit | 01bc0451f8c0b006af14823ab5c2cc2d3f84a5f4 (patch) | |
| tree | ff564fcd9ee00de43303259d3492058a4d240467 | |
| parent | e541cbfcaee8e16ddf89f9a2cbf7205171a801fe (diff) | |
| download | emacs-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.texi | 259 |
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 | ||
| 2786 | window fringe (on a graphic display) to indicate truncated or | ||
| 2787 | continued lines, buffer boundaries, overlay arrow, etc. | ||
| 2788 | |||
| 2789 | @defopt indicate-empty-lines | ||
| 2790 | @tindex indicate-empty-lines | ||
| 2791 | @cindex fringes, and empty line indication | ||
| 2792 | When this is non-@code{nil}, Emacs displays a special glyph in the | ||
| 2793 | fringe of each empty line at the end of the buffer, on graphical | ||
| 2794 | displays. @xref{Fringes}. This variable is automatically | ||
| 2795 | buffer-local in every buffer. | ||
| 2796 | @end defopt | ||
| 2797 | |||
| 2798 | @defvar indicate-buffer-boundaries | ||
| 2799 | This buffer-local variable controls how the buffer boundaries and | ||
| 2800 | window scrolling are indicated in the window fringes. | ||
| 2801 | |||
| 2802 | Emacs can indicate the buffer boundaries---that is, the first and last | ||
| 2803 | line in the buffer---with angle icons when they appear on the screen. | ||
| 2804 | In addition, Emacs can display an up-arrow in the fringe to show | ||
| 2805 | that there is text above the screen, and a down-arrow to show | ||
| 2806 | there is text below the screen. | ||
| 2807 | |||
| 2808 | There are four kinds of basic values: | ||
| 2809 | |||
| 2810 | @table @asis | ||
| 2811 | @item @code{nil} | ||
| 2812 | Don't display the icons. | ||
| 2813 | @item @code{left} | ||
| 2814 | Display them in the left fringe. | ||
| 2815 | @item @code{right} | ||
| 2816 | Display them in the right fringe. | ||
| 2817 | @item @var{anything-else} | ||
| 2818 | Display the icon at the top of the window top in the left fringe, and other | ||
| 2819 | in the right fringe. | ||
| 2820 | @end table | ||
| 2821 | |||
| 2822 | If value is a cons @code{(@var{angles} . @var{arrows})}, @var{angles} | ||
| 2823 | controls the angle icons, and @var{arrows} controls the arrows. Both | ||
| 2824 | @var{angles} and @var{arrows} work according to the table above. | ||
| 2825 | Thus, @code{(t . right)} places the top angle icon in the left | ||
| 2826 | fringe, the bottom angle icon in the right fringe, and both arrows in | ||
| 2827 | the right fringe. | ||
| 2828 | @end defvar | ||
| 2829 | |||
| 2830 | @defvar default-indicate-buffer-boundaries | ||
| 2831 | The 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 | ||
| 2836 | This buffer-local variable specifies the mapping from logical fringe | ||
| 2837 | indicators to the actual bitmaps displayed in the window fringes. | ||
| 2838 | |||
| 2839 | These 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})} | ||
| 2861 | specifies the fringe bitmaps used to display a specific logical | ||
| 2862 | fringe indicator. | ||
| 2863 | |||
| 2864 | Here, @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 | ||
| 2867 | in the left or right fringe for the logical indicator. | ||
| 2868 | |||
| 2869 | The @var{left} and @var{right} symbols specify the bitmaps shown in | ||
| 2870 | the 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 | ||
| 2873 | newline. Alternatively, @var{bitmaps} may be a single symbol which is | ||
| 2874 | used in both left and right fringes. | ||
| 2875 | |||
| 2876 | When @code{fringe-indicator-alist} has a buffer-local value, and there | ||
| 2877 | is 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 | |||
| 2881 | To completely hide a specific indicator, set the bitmap to @code{nil}. | ||
| 2882 | @end defvar | ||
| 2883 | |||
| 2884 | @defvar default-fringes-indicator-alist | ||
| 2885 | The 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 | ||
| 2910 | cursor in the right fringe instead of using two lines. Different | ||
| 2911 | bitmaps are used to represent the cursor in the fringe depending on | ||
| 2912 | the 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 | |||
| 2920 | The @code{hollow-small} type is used instead of @code{hollow} when the | ||
| 2921 | normal @code{hollow-rectangle} bitmap is too tall to fit on a specific | ||
| 2922 | display line. | ||
| 2923 | |||
| 2777 | @defvar overflow-newline-into-fringe | 2924 | @defvar overflow-newline-into-fringe |
| 2778 | If this is non-@code{nil}, lines exactly as wide as the window (not | 2925 | If this is non-@code{nil}, lines exactly as wide as the window (not |
| 2779 | counting the final newline character) are not continued. Instead, | 2926 | counting 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 | |||
| 2781 | fringe. | 2928 | fringe. |
| 2782 | @end defvar | 2929 | @end defvar |
| 2783 | 2930 | ||
| 2931 | @defvar fringe-cursor-alist | ||
| 2932 | This variable specifies the mapping from logical cursor type to the | ||
| 2933 | actual fringe bitmaps displayed in the right fringe. The value is an | ||
| 2934 | alist where each element @code{(@var{cursor}. @var{bitmap})} specifies | ||
| 2935 | the fringe bitmaps used to display a specific logical cursor type in | ||
| 2936 | the fringe. Here, @var{cursor} specifies the logical cursor type and | ||
| 2937 | @var{bitmap} is a symbol specifying the fringe bitmap to be displayed | ||
| 2938 | for that logical cursor type. | ||
| 2939 | |||
| 2940 | When @code{fringe-cursor-alist} has a buffer-local value, and there is | ||
| 2941 | no 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 | ||
| 2946 | The 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 |
| 2790 | fringe (on a graphic display) to indicate truncated or continued | 2964 | logical fringe indicators for truncated or continued lines, buffer |
| 2791 | lines, buffer boundaries, overlay arrow, etc. The fringe bitmaps are | 2965 | boundaries, overlay arrow, etc. Fringe bitmap symbols have their own |
| 2792 | shared by all frames and windows. You can redefine the built-in | 2966 | name space. The fringe bitmaps are shared by all frames and windows. |
| 2793 | fringe bitmaps, and you can define new fringe bitmaps. | 2967 | You can redefine the built-in fringe bitmaps, and you can define new |
| 2968 | fringe 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 |
| 2796 | line in a window is by specifying the @code{display} property for one | 2971 | line 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 | |||
| 2804 | the @code{fringe} face, so normally @var{face} need only specify the | 2979 | the @code{fringe} face, so normally @var{face} need only specify the |
| 2805 | foreground color for the bitmap. | 2980 | foreground 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 | ||
| 2809 | their 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 |
| 2834 | This function returns the fringe bitmaps of the display line | 2983 | This function returns the fringe bitmaps of the display line |
| 2835 | containing position @var{pos} in window @var{window}. The return | 2984 | containing 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 | |||
| 4598 | command @code{tab-to-tab-stop}. @xref{Indent Tabs}. | 4747 | command @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 | ||
| 4604 | When this is non-@code{nil}, Emacs displays a special glyph in the | ||
| 4605 | fringe of each empty line at the end of the buffer, on graphical | ||
| 4606 | displays. @xref{Fringes}. This variable is automatically | ||
| 4607 | buffer-local in every buffer. | ||
| 4608 | @end defopt | ||
| 4609 | |||
| 4610 | @defvar indicate-buffer-boundaries | ||
| 4611 | This buffer-local variable controls how the buffer boundaries and | ||
| 4612 | window scrolling are indicated in the window fringes. | ||
| 4613 | |||
| 4614 | Emacs can indicate the buffer boundaries---that is, the first and last | ||
| 4615 | line in the buffer---with angle icons when they appear on the screen. | ||
| 4616 | In addition, Emacs can display an up-arrow in the fringe to show | ||
| 4617 | that there is text above the screen, and a down-arrow to show | ||
| 4618 | there is text below the screen. | ||
| 4619 | |||
| 4620 | There are four kinds of basic values: | ||
| 4621 | |||
| 4622 | @table @asis | ||
| 4623 | @item @code{nil} | ||
| 4624 | Don't display the icons. | ||
| 4625 | @item @code{left} | ||
| 4626 | Display them in the left fringe. | ||
| 4627 | @item @code{right} | ||
| 4628 | Display them in the right fringe. | ||
| 4629 | @item @var{anything-else} | ||
| 4630 | Display the icon at the top of the window top in the left fringe, and other | ||
| 4631 | in the right fringe. | ||
| 4632 | @end table | ||
| 4633 | |||
| 4634 | If value is a cons @code{(@var{angles} . @var{arrows})}, @var{angles} | ||
| 4635 | controls the angle icons, and @var{arrows} controls the arrows. Both | ||
| 4636 | @var{angles} and @var{arrows} work according to the table above. | ||
| 4637 | Thus, @code{(t . right)} places the top angle icon in the left | ||
| 4638 | fringe, the bottom angle icon in the right fringe, and both arrows in | ||
| 4639 | the right fringe. | ||
| 4640 | @end defvar | ||
| 4641 | |||
| 4642 | @defvar default-indicate-buffer-boundaries | ||
| 4643 | The 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 | ||