Mercurial > emacs
comparison lisp/bindings.el @ 33261:a3294ec7a032
(mode-line-toggle-read-only)
(mode-line-toggle-modified, mode-line-widen)
(mode-line-abbrev-mode, mode-line-auto-fill-mode): New functions.
(make-mode-line-mouse2-map): Rewritten.
(mode-line-modified, mode-line-format, minor-mode-alist): Use new
functions so that C-h k can show something with a doc string.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 06 Nov 2000 16:43:42 +0000 |
parents | 0cc084d7b4a7 |
children | f8f722137584 |
comparison
equal
deleted
inserted
replaced
33260:7ea177b4933a | 33261:a3294ec7a032 |
---|---|
50 (defun make-mode-line-mouse2-map (f) "\ | 50 (defun make-mode-line-mouse2-map (f) "\ |
51 Return a keymap with single entry for mouse-2 on mode line. | 51 Return a keymap with single entry for mouse-2 on mode line. |
52 This is defined to run function F with no args in the buffer | 52 This is defined to run function F with no args in the buffer |
53 corresponding to the mode line clicked." | 53 corresponding to the mode line clicked." |
54 (let ((map (make-sparse-keymap))) | 54 (let ((map (make-sparse-keymap))) |
55 (define-key map [mode-line mouse-2] | 55 (define-key map [mode-line mouse-2] f) |
56 `(lambda (e) | |
57 (interactive "e") | |
58 (save-selected-window | |
59 (select-window | |
60 (posn-window (event-start e))) | |
61 (,f) | |
62 (force-mode-line-update)))) | |
63 map)) | 56 map)) |
57 | |
58 | |
59 (defun mode-line-toggle-read-only (event) | |
60 "Like `toggle-read-only', for the mode-line." | |
61 (interactive "e") | |
62 (save-selected-window | |
63 (select-window (posn-window (event-start event))) | |
64 (toggle-read-only) | |
65 (force-mode-line-update))) | |
66 | |
67 | |
68 (defun mode-line-toggle-modified (event) | |
69 "Toggle the buffer-modified flag from the mode-line." | |
70 (interacive "e") | |
71 (save-selected-window | |
72 (select-window (posn-window (event-start event))) | |
73 (set-buffer-modified-p (not (buffer-modified-p))) | |
74 (force-mode-line-update))) | |
75 | |
76 | |
77 (defun mode-line-widen (event) | |
78 "Widen a buffer from the mode-line." | |
79 (interacive "e") | |
80 (save-selected-window | |
81 (select-window (posn-window (event-start event))) | |
82 (widen) | |
83 (force-mode-line-update))) | |
84 | |
85 | |
86 (defun mode-line-abbrev-mode (event) | |
87 "Turn off `abbrev-mode' from the mode-line." | |
88 (interacive "e") | |
89 (save-selected-window | |
90 (select-window (posn-window (event-start event))) | |
91 (abbrev-mode) | |
92 (force-mode-line-update))) | |
93 | |
94 | |
95 (defun mode-line-auto-fill-mode (event) | |
96 "Turn off `auto-fill-mode' from the mode-line." | |
97 (interacive "e") | |
98 (save-selected-window | |
99 (select-window (posn-window (event-start event))) | |
100 (auto-fill-mode) | |
101 (force-mode-line-update))) | |
102 | |
64 | 103 |
65 (defvar mode-line-input-method-map | 104 (defvar mode-line-input-method-map |
66 (let ((map (make-sparse-keymap))) | 105 (let ((map (make-sparse-keymap))) |
67 (define-key map [mode-line mouse-2] | 106 (define-key map [mode-line mouse-2] |
68 (lambda (e) | 107 (lambda (e) |
141 (save-selected-window | 180 (save-selected-window |
142 (select-window window) | 181 (select-window window) |
143 (if buffer-read-only | 182 (if buffer-read-only |
144 "R" | 183 "R" |
145 "Not r"))))) | 184 "Not r"))))) |
146 'local-map (purecopy (make-mode-line-mouse2-map #'toggle-read-only))) | 185 'local-map (purecopy (make-mode-line-mouse2-map |
186 #'mode-linetoggle-read-only))) | |
147 (propertize | 187 (propertize |
148 "%1+" | 188 "%1+" |
149 'help-echo (purecopy (lambda (window object point) | 189 'help-echo (purecopy (lambda (window object point) |
150 (format "%sodified: mouse-2 toggles flag" | 190 (format "%sodified: mouse-2 toggles flag" |
151 (save-selected-window | 191 (save-selected-window |
152 (select-window window) | 192 (select-window window) |
153 (if (buffer-modified-p) | 193 (if (buffer-modified-p) |
154 "M" | 194 "M" |
155 "Not m"))))) | 195 "Not m"))))) |
156 'local-map (purecopy (make-mode-line-mouse2-map | 196 'local-map (purecopy (make-mode-line-mouse2-map |
157 (lambda () | 197 #'mode-line-toggle-modified)))) |
158 (interactive) | |
159 (set-buffer-modified-p | |
160 (not (buffer-modified-p)))))))) | |
161 "Mode-line control for displaying whether current buffer is modified.") | 198 "Mode-line control for displaying whether current buffer is modified.") |
162 | 199 |
163 (make-variable-buffer-local 'mode-line-modified) | 200 (make-variable-buffer-local 'mode-line-modified) |
164 | 201 |
165 (setq-default mode-line-format | 202 (setq-default mode-line-format |
180 (propertize " " 'help-echo help-echo) | 217 (propertize " " 'help-echo help-echo) |
181 'global-mode-string | 218 'global-mode-string |
182 (propertize " %[(" 'help-echo help-echo) | 219 (propertize " %[(" 'help-echo help-echo) |
183 '(:eval (mode-line-mode-name)) 'mode-line-process 'minor-mode-alist | 220 '(:eval (mode-line-mode-name)) 'mode-line-process 'minor-mode-alist |
184 (propertize "%n" 'help-echo "mouse-2: widen" | 221 (propertize "%n" 'help-echo "mouse-2: widen" |
185 'local-map (make-mode-line-mouse2-map #'widen)) | 222 'local-map (make-mode-line-mouse2-map #'mode-line-widen)) |
186 (propertize ")%]--" 'help-echo help-echo) | 223 (propertize ")%]--" 'help-echo help-echo) |
187 `(which-func-mode ("" which-func-format ,dashes)) | 224 `(which-func-mode ("" which-func-format ,dashes)) |
188 `(line-number-mode ("L%l" ,dashes)) | 225 `(line-number-mode ("L%l" ,dashes)) |
189 `(column-number-mode ("C%c" ,dashes)) | 226 `(column-number-mode ("C%c" ,dashes)) |
190 (purecopy '(-3 . "%p")) | 227 (purecopy '(-3 . "%p")) |
203 (list 'abbrev-mode | 240 (list 'abbrev-mode |
204 (propertize " Abbrev" | 241 (propertize " Abbrev" |
205 'help-echo (purecopy | 242 'help-echo (purecopy |
206 "mouse-2: turn off Abbrev mode") | 243 "mouse-2: turn off Abbrev mode") |
207 'local-map (purecopy (make-mode-line-mouse2-map | 244 'local-map (purecopy (make-mode-line-mouse2-map |
208 #'abbrev-mode)))) | 245 #'mode-line-abbrev-mode)))) |
209 '(overwrite-mode overwrite-mode) | 246 '(overwrite-mode overwrite-mode) |
210 (list 'auto-fill-function | 247 (list 'auto-fill-function |
211 (propertize " Fill" | 248 (propertize " Fill" |
212 'help-echo (purecopy | 249 'help-echo (purecopy |
213 "mouse-2: turn off Autofill mode") | 250 "mouse-2: turn off Autofill mode") |
214 'local-map (purecopy (make-mode-line-mouse2-map | 251 'local-map (purecopy (make-mode-line-mouse2-map |
215 #'auto-fill-mode)))) | 252 #'mode-line-auto-fill-mode)))) |
216 ;; not really a minor mode... | 253 ;; not really a minor mode... |
217 '(defining-kbd-macro " Def"))) | 254 '(defining-kbd-macro " Def"))) |
218 | 255 |
219 (defvar mode-line-buffer-identification-keymap nil "\ | 256 (defvar mode-line-buffer-identification-keymap nil "\ |
220 Keymap for what is displayed by `mode-line-buffer-identification'.") | 257 Keymap for what is displayed by `mode-line-buffer-identification'.") |