Mercurial > emacs
annotate lisp/fringe.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | 42d133e002e5 |
children | cd8d9630f156 |
rev | line source |
---|---|
103479
a441edf4d939
Add coding: utf-8 cookie.
Kenichi Handa <handa@m17n.org>
parents:
100908
diff
changeset
|
1 ;;; fringe.el --- fringe setup and control -*- coding: utf-8 -*- |
45493 | 2 |
100908 | 3 ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
106815 | 4 ;; 2009, 2010 Free Software Foundation, Inc. |
45493 | 5 |
6 ;; Author: Simon Josefsson <simon@josefsson.org> | |
7 ;; Maintainer: FSF | |
8 ;; Keywords: frames | |
110015
280c8ae2476d
Add "Package:" file headers to denote built-in packages.
Chong Yidong <cyd@stupidchicken.com>
parents:
106815
diff
changeset
|
9 ;; Package: emacs |
45493 | 10 |
11 ;; This file is part of GNU Emacs. | |
12 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
13 ;; GNU Emacs is free software: you can redistribute it and/or modify |
45493 | 14 ;; it under the terms of the GNU General Public License as published by |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
15 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
16 ;; (at your option) any later version. |
45493 | 17 |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93975
diff
changeset
|
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
45493 | 25 |
26 ;;; Commentary: | |
27 | |
69070 | 28 ;; This file contains code to initialize the built-in fringe bitmaps |
29 ;; as well as helpful functions for customizing the appearance of the | |
30 ;; fringe. | |
45493 | 31 |
32 ;; The code is influenced by scroll-bar.el and avoid.el. The author | |
33 ;; gratefully acknowledge comments and suggestions made by Miles | |
34 ;; Bader, Eli Zaretski, Richard Stallman, Pavel JanÃk and others which | |
35 ;; improved this package. | |
36 | |
37 ;;; Code: | |
38 | |
58597 | 39 (defgroup fringe nil |
40 "Window fringes." | |
59996
aac0a33f5772
Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents:
58599
diff
changeset
|
41 :version "22.1" |
58597 | 42 :group 'frames) |
43 | |
69070 | 44 ;; Define the built-in fringe bitmaps and setup default mappings |
57261
075de3b1e798
(fringe-bitmap-p): New macro.
Kim F. Storm <storm@cua.dk>
parents:
54399
diff
changeset
|
45 |
69072 | 46 (when (boundp 'fringe-bitmaps) |
47 (let ((bitmaps '(question-mark | |
48 left-arrow right-arrow up-arrow down-arrow | |
49 left-curly-arrow right-curly-arrow | |
50 left-triangle right-triangle | |
51 top-left-angle top-right-angle | |
52 bottom-left-angle bottom-right-angle | |
53 left-bracket right-bracket | |
54 filled-rectangle hollow-rectangle | |
55 filled-square hollow-square | |
56 vertical-bar horizontal-bar | |
57 empty-line)) | |
58 (bn 1)) | |
59 (while bitmaps | |
60 (push (car bitmaps) fringe-bitmaps) | |
61 (put (car bitmaps) 'fringe bn) | |
62 (setq bitmaps (cdr bitmaps) | |
63 bn (1+ bn)))) | |
53890
5588b6cc6fba
(no-fringe-bitmap, undef-fringe-bitmap)
Kim F. Storm <storm@cua.dk>
parents:
53257
diff
changeset
|
64 |
69072 | 65 (setq-default fringe-indicator-alist |
66 '((truncation . (left-arrow right-arrow)) | |
67 (continuation . (left-curly-arrow right-curly-arrow)) | |
68 (overlay-arrow . right-triangle) | |
69 (up . up-arrow) | |
70 (down . down-arrow) | |
71 (top . (top-left-angle top-right-angle)) | |
72 (bottom . (bottom-left-angle bottom-right-angle | |
73 top-right-angle top-left-angle)) | |
74 (top-bottom . (left-bracket right-bracket | |
75 top-right-angle top-left-angle)) | |
76 (empty-line . empty-line) | |
77 (unknown . question-mark))) | |
69050
c0e9f855475e
(fringe-bitmaps): Update to new bitmap names.
Kim F. Storm <storm@cua.dk>
parents:
68651
diff
changeset
|
78 |
69072 | 79 (setq-default fringe-cursor-alist |
80 '((box . filled-rectangle) | |
81 (hollow . hollow-rectangle) | |
82 (bar . vertical-bar) | |
83 (hbar . horizontal-bar) | |
84 (hollow-small . hollow-square)))) | |
53890
5588b6cc6fba
(no-fringe-bitmap, undef-fringe-bitmap)
Kim F. Storm <storm@cua.dk>
parents:
53257
diff
changeset
|
85 |
69070 | 86 |
87 (defmacro fringe-bitmap-p (symbol) | |
88 "Return non-nil if SYMBOL is a fringe bitmap." | |
89 `(get ,symbol 'fringe)) | |
90 | |
91 | |
53890
5588b6cc6fba
(no-fringe-bitmap, undef-fringe-bitmap)
Kim F. Storm <storm@cua.dk>
parents:
53257
diff
changeset
|
92 ;; Control presence of fringes |
5588b6cc6fba
(no-fringe-bitmap, undef-fringe-bitmap)
Kim F. Storm <storm@cua.dk>
parents:
53257
diff
changeset
|
93 |
45493 | 94 (defvar fringe-mode) |
95 | |
87702
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
96 (defvar fringe-mode-explicit nil |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
97 "Non-nil means `set-fringe-mode' should really do something. |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
98 This is nil while loading `fringe.el', and t afterward.") |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
99 |
45493 | 100 (defun set-fringe-mode-1 (ignore value) |
101 "Call `set-fringe-mode' with VALUE. | |
102 See `fringe-mode' for valid values and their effect. | |
103 This is usually invoked when setting `fringe-mode' via customize." | |
104 (set-fringe-mode value)) | |
105 | |
106 (defun set-fringe-mode (value) | |
107 "Set `fringe-mode' to VALUE and put the new value into effect. | |
108 See `fringe-mode' for possible values and their effect." | |
109 (setq fringe-mode value) | |
110 | |
87702
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
111 (when fringe-mode-explicit |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
112 (modify-all-frames-parameters |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
113 (list (cons 'left-fringe (if (consp fringe-mode) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
114 (car fringe-mode) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
115 fringe-mode)) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
116 (cons 'right-fringe (if (consp fringe-mode) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
117 (cdr fringe-mode) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
118 fringe-mode)))))) |
45493 | 119 |
57538
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
120 ;; For initialization of fringe-mode, take account of changes |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
121 ;; made explicitly to default-frame-alist. |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
122 (defun fringe-mode-initialize (symbol value) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
123 (let* ((left-pair (assq 'left-fringe default-frame-alist)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
124 (right-pair (assq 'right-fringe default-frame-alist)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
125 (left (cdr left-pair)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
126 (right (cdr right-pair))) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
127 (if (or left-pair right-pair) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
128 ;; If there's something in default-frame-alist for fringes, |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
129 ;; don't change it, but reflect that into the value of fringe-mode. |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
130 (progn |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
131 (setq fringe-mode (cons left right)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
132 (if (equal fringe-mode '(nil . nil)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
133 (setq fringe-mode nil)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
134 (if (equal fringe-mode '(0 . 0)) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
135 (setq fringe-mode 0))) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
136 ;; Otherwise impose the user-specified value of fringe-mode. |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
137 (custom-initialize-reset symbol value)))) |
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
138 |
45493 | 139 (defcustom fringe-mode nil |
100171 | 140 "Specify appearance of fringes on all frames. |
45493 | 141 This variable can be nil (the default) meaning the fringes should have |
142 the default width (8 pixels), it can be an integer value specifying | |
143 the width of both left and right fringe (where 0 means no fringe), or | |
144 a cons cell where car indicates width of left fringe and cdr indicates | |
145 width of right fringe (where again 0 can be used to indicate no | |
146 fringe). | |
110409
42d133e002e5
Mention rounding of fringe width in the doc string of fringe-mode.
Eli Zaretskii <eliz@gnu.org>
parents:
110399
diff
changeset
|
147 Note that the actual width may be rounded up to ensure that the sum of |
42d133e002e5
Mention rounding of fringe width in the doc string of fringe-mode.
Eli Zaretskii <eliz@gnu.org>
parents:
110399
diff
changeset
|
148 the width of the left and right fringes is a multiple of the frame's |
42d133e002e5
Mention rounding of fringe width in the doc string of fringe-mode.
Eli Zaretskii <eliz@gnu.org>
parents:
110399
diff
changeset
|
149 character width. However, a fringe width of 0 is never rounded. |
45493 | 150 To set this variable in a Lisp program, use `set-fringe-mode' to make |
151 it take real effect. | |
152 Setting the variable with a customization buffer also takes effect. | |
153 If you only want to modify the appearance of the fringe in one frame, | |
64192
258eefd93f5c
(fringe-mode): Add period in docstring.
Juri Linkov <juri@jurta.org>
parents:
64180
diff
changeset
|
154 you can use the interactive function `set-fringe-style'." |
45493 | 155 :type '(choice (const :tag "Default width" nil) |
156 (const :tag "No fringes" 0) | |
157 (const :tag "Only right" (0 . nil)) | |
158 (const :tag "Only left" (nil . 0)) | |
110399
e4c19190baef
Fix bug #6933 regarding `half' width fringes.
Eli Zaretskii <eliz@gnu.org>
parents:
110015
diff
changeset
|
159 (const :tag "Half width" (4 . 4)) |
45518
182c7dd36ef1
Fix :type of `fringe-mode' for last modification.
Simon Josefsson <jas@extundo.com>
parents:
45516
diff
changeset
|
160 (const :tag "Minimal" (1 . 1)) |
45493 | 161 (integer :tag "Specific width") |
162 (cons :tag "Different left/right sizes" | |
163 (integer :tag "Left width") | |
164 (integer :tag "Right width"))) | |
58597 | 165 :group 'fringe |
45493 | 166 :require 'fringe |
57538
6f85a547ab10
(fringe-mode-initialize): New function.
Richard M. Stallman <rms@gnu.org>
parents:
57507
diff
changeset
|
167 :initialize 'fringe-mode-initialize |
45493 | 168 :set 'set-fringe-mode-1) |
169 | |
87702
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
170 ;; We just set fringe-mode, but that was the default. |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
171 ;; If it is set again, that is for real. |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
172 (setq fringe-mode-explicit t) |
7ebe288dfbd0
(fringe-mode-explicit): New variable.
Martin Rudalics <rudalics@gmx.at>
parents:
87649
diff
changeset
|
173 |
45493 | 174 (defun fringe-query-style (&optional all-frames) |
175 "Query user for fringe style. | |
176 Returns values suitable for left-fringe and right-fringe frame parameters. | |
177 If ALL-FRAMES, the negation of the fringe values in | |
178 `default-frame-alist' is used when user enters the empty string. | |
179 Otherwise the negation of the fringe value in the currently selected | |
180 frame parameter is used." | |
181 (let ((mode (intern (completing-read | |
64192
258eefd93f5c
(fringe-mode): Add period in docstring.
Juri Linkov <juri@jurta.org>
parents:
64180
diff
changeset
|
182 (concat |
258eefd93f5c
(fringe-mode): Add period in docstring.
Juri Linkov <juri@jurta.org>
parents:
64180
diff
changeset
|
183 "Select fringe mode for " |
258eefd93f5c
(fringe-mode): Add period in docstring.
Juri Linkov <juri@jurta.org>
parents:
64180
diff
changeset
|
184 (if all-frames "all frames" "selected frame") |
258eefd93f5c
(fringe-mode): Add period in docstring.
Juri Linkov <juri@jurta.org>
parents:
64180
diff
changeset
|
185 " (type ? for list): ") |
45493 | 186 '(("none") ("default") ("left-only") |
45516
6b848a738ec6
(fringe-query-style): New fringe style "minimal".
Simon Josefsson <jas@extundo.com>
parents:
45493
diff
changeset
|
187 ("right-only") ("half") ("minimal")) |
45493 | 188 nil t)))) |
189 (cond ((eq mode 'none) 0) | |
190 ((eq mode 'default) nil) | |
191 ((eq mode 'left-only) '(nil . 0)) | |
192 ((eq mode 'right-only) '(0 . nil)) | |
110399
e4c19190baef
Fix bug #6933 regarding `half' width fringes.
Eli Zaretskii <eliz@gnu.org>
parents:
110015
diff
changeset
|
193 ((eq mode 'half) '(4 . 4)) |
45516
6b848a738ec6
(fringe-query-style): New fringe style "minimal".
Simon Josefsson <jas@extundo.com>
parents:
45493
diff
changeset
|
194 ((eq mode 'minimal) '(1 . 1)) |
45493 | 195 ((eq mode (intern "")) |
196 (if (eq 0 (cdr (assq 'left-fringe | |
197 (if all-frames | |
198 default-frame-alist | |
199 (frame-parameters (selected-frame)))))) | |
200 nil | |
201 0))))) | |
202 | |
203 (defun fringe-mode (&optional mode) | |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
204 "Set the default appearance of fringes on all frames. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
205 |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
206 When called interactively, query the user for MODE. Valid values |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
207 for MODE include `none', `default', `left-only', `right-only', |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
208 `minimal' and `half'. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
209 |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
210 When used in a Lisp program, MODE can be a cons cell where the |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
211 integer in car specifies the left fringe width and the integer in |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
212 cdr specifies the right fringe width. MODE can also be a single |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
213 integer that specifies both the left and the right fringe width. |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
214 If a fringe width specification is nil, that means to use the |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
215 default width (8 pixels). This command may round up the left and |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
216 right width specifications to ensure that their sum is a multiple |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
217 of the character width of a frame. It never rounds up a fringe |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
218 width of 0. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
219 |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
220 Fringe widths set by `set-window-fringes' override the default |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
221 fringe widths set by this command. This command applies to all |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
222 frames that exist and frames to be created in the future. If you |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
223 want to set the default appearance of fringes on the selected |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
224 frame only, see the command `set-fringe-style'." |
45493 | 225 (interactive (list (fringe-query-style 'all-frames))) |
226 (set-fringe-mode mode)) | |
227 | |
228 (defun set-fringe-style (&optional mode) | |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
229 "Set the default appearance of fringes on the selected frame. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
230 |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
231 When called interactively, query the user for MODE. Valid values |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
232 for MODE include `none', `default', `left-only', `right-only', |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
233 `minimal' and `half'. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
234 |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
235 When used in a Lisp program, MODE can be a cons cell where the |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
236 integer in car specifies the left fringe width and the integer in |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
237 cdr specifies the right fringe width. MODE can also be a single |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
238 integer that specifies both the left and the right fringe width. |
52854
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
239 If a fringe width specification is nil, that means to use the |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
240 default width (8 pixels). This command may round up the left and |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
241 right width specifications to ensure that their sum is a multiple |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
242 of the character width of a frame. It never rounds up a fringe |
f6ac1fc587f8
(fringe-mode): Use active voice in docstring.
Lute Kamstra <lute@gnu.org>
parents:
52832
diff
changeset
|
243 width of 0. |
52832
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
244 |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
245 Fringe widths set by `set-window-fringes' override the default |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
246 fringe widths set by this command. If you want to set the |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
247 default appearance of fringes on all frames, see the command |
43bad0db6791
(fringe-mode): Fix docstring.
Lute Kamstra <lute@gnu.org>
parents:
52401
diff
changeset
|
248 `fringe-mode'." |
45493 | 249 (interactive (list (fringe-query-style))) |
250 (modify-frame-parameters | |
251 (selected-frame) | |
252 (list (cons 'left-fringe (if (consp mode) (car mode) mode)) | |
253 (cons 'right-fringe (if (consp mode) (cdr mode) mode))))) | |
254 | |
54399
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
255 (defsubst fringe-columns (side &optional real) |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
256 "Return the width, measured in columns, of the fringe area on SIDE. |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
257 If optional argument REAL is non-nil, return a real floating point |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
258 number instead of a rounded integer value. |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
259 SIDE must be the symbol `left' or `right'." |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
260 (funcall (if real '/ 'ceiling) |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
261 (or (funcall (if (eq side 'left) 'car 'cadr) |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
262 (window-fringes)) |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
263 0) |
ad02f6299e9a
2004-03-15 Masatake YAMATO <jet@gyve.org>
Masatake YAMATO <jet@gyve.org>
parents:
53890
diff
changeset
|
264 (float (frame-char-width)))) |
57261
075de3b1e798
(fringe-bitmap-p): New macro.
Kim F. Storm <storm@cua.dk>
parents:
54399
diff
changeset
|
265 |
45493 | 266 (provide 'fringe) |
267 | |
93975
1e3a407766b9
Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87702
diff
changeset
|
268 ;; arch-tag: 6611ef60-0869-47ed-8b93-587ee7d3ff5d |
45493 | 269 ;;; fringe.el ends here |