Mercurial > emacs
annotate lisp/mouse.el @ 1728:2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 29 Dec 1992 21:06:51 +0000 |
parents | a8378792a31d |
children | 1cc3ee5afc82 |
rev | line source |
---|---|
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
1 ;;; mouse.el --- window system-independent mouse support. |
791
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
758
diff
changeset
|
2 |
840
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
791
diff
changeset
|
3 ;;; Copyright (C) 1988, 1992 Free Software Foundation, Inc. |
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
791
diff
changeset
|
4 |
791
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
758
diff
changeset
|
5 ;; Maintainer: FSF |
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
758
diff
changeset
|
6 ;; Keywords: hardware |
203c23c9f22c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
758
diff
changeset
|
7 |
465 | 8 ;;; This file is part of GNU Emacs. |
66 | 9 |
465 | 10 ;;; GNU Emacs is free software; you can redistribute it and/or modify |
11 ;;; it under the terms of the GNU General Public License as published by | |
705 | 12 ;;; the Free Software Foundation; either version 2, or (at your option) |
465 | 13 ;;; any later version. |
66 | 14 |
465 | 15 ;;; GNU Emacs is distributed in the hope that it will be useful, |
16 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;;; GNU General Public License for more details. | |
66 | 19 |
465 | 20 ;;; You should have received a copy of the GNU General Public License |
21 ;;; along with GNU Emacs; see the file COPYING. If not, write to | |
22 ;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
66 | 23 |
24 | |
465 | 25 ;;; Utility functions. |
26 | |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
27 (defsubst mouse-movement-p (object) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
28 "Return non-nil if OBJECT is a mouse movement event." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
29 (and (consp object) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
30 (eq (car object) 'mouse-movement))) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
31 |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
32 (defsubst event-start (event) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
33 "Return the starting position of EVENT. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
34 If EVENT is a mouse press or a mouse click, this returns the location |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
35 of the event. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
36 If EVENT is a drag, this returns the drag's starting position. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
37 The return value is of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
38 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
39 The `posn-' functions access elements of such lists." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
40 (nth 1 event)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
41 |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
42 (defsubst event-end (event) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
43 "Return the ending location of EVENT. EVENT should be a drag event. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
44 The return value is of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
45 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
46 The `posn-' functions access elements of such lists." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
47 (nth 2 event)) |
465 | 48 |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
49 (defsubst posn-window (position) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
50 "Return the window in POSITION. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
51 POSITION should be a list of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
52 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
53 as returned by the `event-start' and `event-end' functions." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
54 (nth 0 position)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
55 |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
56 (defsubst posn-point (position) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
57 "Return the buffer location in POSITION. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
58 POSITION should be a list of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
59 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
60 as returned by the `event-start' and `event-end' functions." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
61 (nth 1 position)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
62 |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
63 (defsubst posn-col-row (position) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
64 "Return the row and column in POSITION. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
65 POSITION should be a list of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
66 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
67 as returned by the `event-start' and `event-end' functions." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
68 (nth 2 position)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
69 |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
70 (defsubst posn-timestamp (position) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
71 "Return the timestamp of POSITION. |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
72 POSITION should be a list of the form |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
73 (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
74 nas returned by the `event-start' and `event-end' functions." |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
75 (nth 3 position)) |
66 | 76 |
465 | 77 ;;; Indent track-mouse like progn. |
78 (put 'track-mouse 'lisp-indent-function 0) | |
66 | 79 |
465 | 80 |
81 (defun mouse-delete-window (click) | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
82 "Delete the window you click on. |
465 | 83 This must be bound to a mouse click." |
1113 | 84 (interactive "e") |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
85 (delete-window (posn-window (event-start click)))) |
465 | 86 |
1421
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
87 (defun mouse-tear-off-window (click) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
88 "Delete the window clicked on, and create a new frame displaying its buffer." |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
89 (interactive "e") |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
90 (let* ((window (posn-window (event-start click))) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
91 (buf (window-buffer window)) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
92 (frame (new-frame))) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
93 (select-frame frame) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
94 (switch-to-buffer buf) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
95 (delete-window window))) |
a8378792a31d
* mouse.el (mouse-tear-off-window): New function.
Jim Blandy <jimb@redhat.com>
parents:
1420
diff
changeset
|
96 |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
97 (defun mouse-delete-other-windows () |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
98 "Delete all window except the one you click on." |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
99 (interactive "@") |
66 | 100 (delete-other-windows)) |
101 | |
465 | 102 (defun mouse-split-window-vertically (click) |
103 "Select Emacs window mouse is on, then split it vertically in half. | |
104 The window is split at the line clicked on. | |
105 This command must be bound to a mouse click." | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
106 (interactive "@e") |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
107 (let ((start (event-start click))) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
108 (select-window (posn-window start)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
109 (split-window-vertically (1+ (cdr (posn-col-row click)))))) |
66 | 110 |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
111 (defun mouse-split-window-horizontally (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
112 "Select Emacs window mouse is on, then split it horizontally in half. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
113 The window is split at the column clicked on. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
114 This command must be bound to a mouse click." |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
115 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
116 (split-window-horizontally (1+ (car (mouse-coords click))))) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
117 |
465 | 118 (defun mouse-set-point (click) |
119 "Move point to the position clicked on with the mouse. | |
120 This must be bound to a mouse click." | |
1113 | 121 (interactive "e") |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
122 (let ((posn (event-start click))) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
123 (select-window (posn-window posn)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
124 (if (numberp (posn-point posn)) |
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
125 (goto-char (posn-point posn))))) |
66 | 126 |
1420
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
127 (defun mouse-set-region (click) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
128 "Set the region to the text that the mouse is dragged over. |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
129 This must be bound to a mouse click." |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
130 (interactive "e") |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
131 (let ((posn (event-start click)) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
132 (end (event-end click))) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
133 (select-window (posn-window posn)) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
134 (if (numberp (posn-point posn)) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
135 (goto-char (posn-point posn))) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
136 (sit-for 1) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
137 (push-mark) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
138 (if (numberp (posn-point end)) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
139 (goto-char (posn-point end))))) |
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
140 |
465 | 141 (defun mouse-set-mark (click) |
142 "Set mark at the position clicked on with the mouse. | |
143 Display cursor at that position for a second. | |
144 This must be bound to a mouse click." | |
1113 | 145 (interactive "e") |
66 | 146 (let ((point-save (point))) |
147 (unwind-protect | |
465 | 148 (progn (mouse-set-point click) |
66 | 149 (push-mark nil t) |
191 | 150 (sit-for 1)) |
66 | 151 (goto-char point-save)))) |
152 | |
465 | 153 (defun mouse-kill (click) |
154 "Kill the region between point and the mouse click. | |
155 The text is saved in the kill ring, as with \\[kill-region]." | |
1113 | 156 (interactive "e") |
758 | 157 (let ((click-posn (event-point click))) |
1039 | 158 (if (numberp click-posn) |
159 (kill-region (min (point) click-posn) | |
160 (max (point) click-posn))))) | |
66 | 161 |
705 | 162 (defun mouse-yank-at-click (click arg) |
163 "Insert the last stretch of killed text at the position clicked on. | |
164 Prefix arguments are interpreted as with \\[yank]." | |
1113 | 165 (interactive "e\nP") |
705 | 166 (mouse-set-point click) |
167 (yank arg)) | |
168 | |
169 (defun mouse-kill-ring-save (click) | |
465 | 170 "Copy the region between point and the mouse click in the kill ring. |
171 This does not delete the region; it acts like \\[kill-ring-save]." | |
1113 | 172 (interactive "e") |
465 | 173 (mouse-set-mark click) |
705 | 174 (call-interactively 'kill-ring-save)) |
66 | 175 |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
176 (defun mouse-save-then-kill (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
177 "Copy the region between point and the mouse click in the kill ring. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
178 This does not delete the region; it acts like \\[kill-ring-save]." |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
179 (interactive "e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
180 (mouse-set-mark click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
181 (if (string= (buffer-substring (point) (mark)) (car kill-ring)) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
182 ;; If this text was already saved in kill ring, |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
183 ;; now delete it from the buffer. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
184 (progn |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
185 (let ((buffer-undo-list t)) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
186 (delete-region (point) (mark))) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
187 ;; Make the undo list by hand so it is shared. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
188 (setq buffer-undo-list |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
189 (cons (cons (car kill-ring) (point)) buffer-undo-list))) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
190 ;; Otherwise, save this region. |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
191 (call-interactively 'kill-ring-save))) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
192 |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
193 (defun mouse-buffer-menu (event) |
1728
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
194 "Pop up a menu of buffers for selection with the mouse. |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
195 This switches buffers in the window that you clicked on, |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
196 and selects that window." |
1113 | 197 (interactive "e") |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
198 (let ((menu |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
199 (list "Buffer Menu" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
200 (cons "Select Buffer" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
201 (let ((tail (buffer-list)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
202 head) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
203 (while tail |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
204 (let ((elt (car tail))) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
205 (if (not (string-match "^ " |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
206 (buffer-name elt))) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
207 (setq head (cons |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
208 (cons |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
209 (format |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
210 "%14s %s" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
211 (buffer-name elt) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
212 (or (buffer-file-name elt) "")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
213 elt) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
214 head)))) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
215 (setq tail (cdr tail))) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
216 (reverse head)))))) |
1728
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
217 (let ((buf (x-popup-menu event menu)) |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
218 (window (posn-window (event-start event)))) |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
219 (if buf |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
220 (progn |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
221 (select-window window) |
2a49d509b30d
(mouse-buffer-menu): Select the window clicked on.
Richard M. Stallman <rms@gnu.org>
parents:
1421
diff
changeset
|
222 (switch-to-buffer buf)))))) |
66 | 223 |
224 ;; Commands for the scroll bar. | |
225 | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
226 (defun mouse-scroll-down (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
227 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
228 (scroll-down (1+ (cdr (mouse-coords click))))) |
66 | 229 |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
230 (defun mouse-scroll-up (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
231 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
232 (scroll-up (1+ (cdr (mouse-coords click))))) |
66 | 233 |
234 (defun mouse-scroll-down-full () | |
235 (interactive "@") | |
236 (scroll-down nil)) | |
237 | |
238 (defun mouse-scroll-up-full () | |
239 (interactive "@") | |
240 (scroll-up nil)) | |
241 | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
242 (defun mouse-scroll-move-cursor (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
243 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
244 (move-to-window-line (1+ (cdr (mouse-coords click))))) |
66 | 245 |
246 (defun mouse-scroll-absolute (event) | |
247 (interactive "@e") | |
248 (let* ((pos (car event)) | |
249 (position (car pos)) | |
250 (length (car (cdr pos)))) | |
251 (if (<= length 0) (setq length 1)) | |
252 (let* ((scale-factor (max 1 (/ length (/ 8000000 (buffer-size))))) | |
253 (newpos (* (/ (* (/ (buffer-size) scale-factor) | |
254 position) | |
255 length) | |
256 scale-factor))) | |
257 (goto-char newpos) | |
258 (recenter '(4))))) | |
259 | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
260 (defun mouse-scroll-left (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
261 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
262 (scroll-left (1+ (car (mouse-coords click))))) |
66 | 263 |
1363
f34d8e4d1d7b
* mouse.el: Begin adapting this to the new event format.
Jim Blandy <jimb@redhat.com>
parents:
1214
diff
changeset
|
264 (defun mouse-scroll-right (click) |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
265 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
266 (scroll-right (1+ (car (mouse-coords click))))) |
66 | 267 |
268 (defun mouse-scroll-left-full () | |
269 (interactive "@") | |
270 (scroll-left nil)) | |
271 | |
272 (defun mouse-scroll-right-full () | |
273 (interactive "@") | |
274 (scroll-right nil)) | |
275 | |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
276 (defun mouse-scroll-move-cursor-horizontally (click) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
277 (interactive "@e") |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
278 (move-to-column (1+ (car (mouse-coords click))))) |
66 | 279 |
280 (defun mouse-scroll-absolute-horizontally (event) | |
281 (interactive "@e") | |
282 (let* ((pos (car event)) | |
283 (position (car pos)) | |
284 (length (car (cdr pos)))) | |
285 (set-window-hscroll (selected-window) 33))) | |
286 | |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
287 (global-set-key [scroll-bar mouse-1] 'mouse-scroll-up) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
288 (global-set-key [scroll-bar mouse-2] 'mouse-scroll-absolute) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
289 (global-set-key [scroll-bar mouse-3] 'mouse-scroll-down) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
290 |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
291 (global-set-key [vertical-slider mouse-1] 'mouse-scroll-move-cursor) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
292 (global-set-key [vertical-slider mouse-2] 'mouse-scroll-move-cursor) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
293 (global-set-key [vertical-slider mouse-3] 'mouse-scroll-move-cursor) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
294 |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
295 (global-set-key [thumbup mouse-1] 'mouse-scroll-up-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
296 (global-set-key [thumbup mouse-2] 'mouse-scroll-up-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
297 (global-set-key [thumbup mouse-3] 'mouse-scroll-up-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
298 |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
299 (global-set-key [thumbdown mouse-1] 'mouse-scroll-down-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
300 (global-set-key [thumbdown mouse-2] 'mouse-scroll-down-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
301 (global-set-key [thumbdown mouse-3] 'mouse-scroll-down-full) |
66 | 302 |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
303 (global-set-key [horizontal-scroll-bar mouse-1] 'mouse-scroll-left) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
304 (global-set-key [horizontal-scroll-bar mouse-2] |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
305 'mouse-scroll-absolute-horizontally) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
306 (global-set-key [horizontal-scroll-bar mouse-3] 'mouse-scroll-right) |
66 | 307 |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
308 (global-set-key [horizontal-slider mouse-1] |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
309 'mouse-scroll-move-cursor-horizontally) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
310 (global-set-key [horizontal-slider mouse-2] |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
311 'mouse-scroll-move-cursor-horizontally) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
312 (global-set-key [horizontal-slider mouse-3] |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
313 'mouse-scroll-move-cursor-horizontally) |
66 | 314 |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
315 (global-set-key [thumbleft mouse-1] 'mouse-scroll-left-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
316 (global-set-key [thumbleft mouse-2] 'mouse-scroll-left-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
317 (global-set-key [thumbleft mouse-3] 'mouse-scroll-left-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
318 |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
319 (global-set-key [thumbright mouse-1] 'mouse-scroll-right-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
320 (global-set-key [thumbright mouse-2] 'mouse-scroll-right-full) |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
321 (global-set-key [thumbright mouse-3] 'mouse-scroll-right-full) |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
322 |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
323 (global-set-key [horizontal-scroll-bar S-mouse-2] |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
324 'mouse-split-window-horizontally) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
325 (global-set-key [mode-line S-mouse-2] |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
326 'mouse-split-window-horizontally) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
327 (global-set-key [vertical-scroll-bar S-mouse-2] |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
328 'mouse-split-window) |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
329 |
303 | 330 ;;;; |
331 ;;;; Here are experimental things being tested. Mouse events | |
332 ;;;; are of the form: | |
333 ;;;; ((x y) window screen-part key-sequence timestamp) | |
66 | 334 ;; |
303 | 335 ;;;; |
336 ;;;; Dynamically track mouse coordinates | |
337 ;;;; | |
66 | 338 ;; |
303 | 339 ;;(defun track-mouse (event) |
340 ;; "Track the coordinates, absolute and relative, of the mouse." | |
341 ;; (interactive "@e") | |
342 ;; (while mouse-grabbed | |
343 ;; (let* ((pos (read-mouse-position (selected-screen))) | |
344 ;; (abs-x (car pos)) | |
345 ;; (abs-y (cdr pos)) | |
346 ;; (relative-coordinate (coordinates-in-window-p | |
347 ;; (list (car pos) (cdr pos)) | |
348 ;; (selected-window)))) | |
349 ;; (if (consp relative-coordinate) | |
350 ;; (message "mouse: [%d %d], (%d %d)" abs-x abs-y | |
351 ;; (car relative-coordinate) | |
352 ;; (car (cdr relative-coordinate))) | |
353 ;; (message "mouse: [%d %d]" abs-x abs-y))))) | |
66 | 354 |
355 ;; | |
356 ;; Dynamically put a box around the line indicated by point | |
357 ;; | |
758 | 358 ;; |
359 ;;(require 'backquote) | |
360 ;; | |
361 ;;(defun mouse-select-buffer-line (event) | |
362 ;; (interactive "@e") | |
363 ;; (let ((relative-coordinate | |
364 ;; (coordinates-in-window-p (car event) (selected-window))) | |
365 ;; (abs-y (car (cdr (car event))))) | |
366 ;; (if (consp relative-coordinate) | |
367 ;; (progn | |
368 ;; (save-excursion | |
369 ;; (move-to-window-line (car (cdr relative-coordinate))) | |
370 ;; (x-draw-rectangle | |
371 ;; (selected-screen) | |
372 ;; abs-y 0 | |
373 ;; (save-excursion | |
374 ;; (move-to-window-line (car (cdr relative-coordinate))) | |
375 ;; (end-of-line) | |
376 ;; (push-mark nil t) | |
377 ;; (beginning-of-line) | |
378 ;; (- (region-end) (region-beginning))) 1)) | |
379 ;; (sit-for 1) | |
380 ;; (x-erase-rectangle (selected-screen)))))) | |
381 ;; | |
382 ;;(defvar last-line-drawn nil) | |
383 ;;(defvar begin-delim "[^ \t]") | |
384 ;;(defvar end-delim "[^ \t]") | |
385 ;; | |
386 ;;(defun mouse-boxing (event) | |
387 ;; (interactive "@e") | |
388 ;; (save-excursion | |
389 ;; (let ((screen (selected-screen))) | |
390 ;; (while (= (x-mouse-events) 0) | |
391 ;; (let* ((pos (read-mouse-position screen)) | |
392 ;; (abs-x (car pos)) | |
393 ;; (abs-y (cdr pos)) | |
394 ;; (relative-coordinate | |
395 ;; (coordinates-in-window-p (` ((, abs-x) (, abs-y))) | |
396 ;; (selected-window))) | |
397 ;; (begin-reg nil) | |
398 ;; (end-reg nil) | |
399 ;; (end-column nil) | |
400 ;; (begin-column nil)) | |
401 ;; (if (and (consp relative-coordinate) | |
402 ;; (or (not last-line-drawn) | |
403 ;; (not (= last-line-drawn abs-y)))) | |
404 ;; (progn | |
405 ;; (move-to-window-line (car (cdr relative-coordinate))) | |
406 ;; (if (= (following-char) 10) | |
407 ;; () | |
408 ;; (progn | |
409 ;; (setq begin-reg (1- (re-search-forward end-delim))) | |
410 ;; (setq begin-column (1- (current-column))) | |
411 ;; (end-of-line) | |
412 ;; (setq end-reg (1+ (re-search-backward begin-delim))) | |
413 ;; (setq end-column (1+ (current-column))) | |
414 ;; (message "%s" (buffer-substring begin-reg end-reg)) | |
415 ;; (x-draw-rectangle screen | |
416 ;; (setq last-line-drawn abs-y) | |
417 ;; begin-column | |
418 ;; (- end-column begin-column) 1)))))))))) | |
419 ;; | |
420 ;;(defun mouse-erase-box () | |
421 ;; (interactive) | |
422 ;; (if last-line-drawn | |
423 ;; (progn | |
424 ;; (x-erase-rectangle (selected-screen)) | |
425 ;; (setq last-line-drawn nil)))) | |
66 | 426 |
465 | 427 ;;; (defun test-x-rectangle () |
428 ;;; (use-local-mouse-map (setq rectangle-test-map (make-sparse-keymap))) | |
429 ;;; (define-key rectangle-test-map mouse-motion-button-left 'mouse-boxing) | |
430 ;;; (define-key rectangle-test-map mouse-button-left-up 'mouse-erase-box)) | |
66 | 431 |
432 ;; | |
433 ;; Here is how to do double clicking in lisp. About to change. | |
434 ;; | |
435 | |
436 (defvar double-start nil) | |
437 (defconst double-click-interval 300 | |
438 "Max ticks between clicks") | |
439 | |
440 (defun double-down (event) | |
441 (interactive "@e") | |
442 (if double-start | |
443 (let ((interval (- (nth 4 event) double-start))) | |
444 (if (< interval double-click-interval) | |
445 (progn | |
446 (backward-up-list 1) | |
447 ;; (message "Interval %d" interval) | |
448 (sleep-for 1))) | |
449 (setq double-start nil)) | |
450 (setq double-start (nth 4 event)))) | |
451 | |
452 (defun double-up (event) | |
453 (interactive "@e") | |
454 (and double-start | |
455 (> (- (nth 4 event ) double-start) double-click-interval) | |
456 (setq double-start nil))) | |
457 | |
465 | 458 ;;; (defun x-test-doubleclick () |
459 ;;; (use-local-mouse-map (setq doubleclick-test-map (make-sparse-keymap))) | |
460 ;;; (define-key doubleclick-test-map mouse-button-left 'double-down) | |
461 ;;; (define-key doubleclick-test-map mouse-button-left-up 'double-up)) | |
66 | 462 |
463 ;; | |
464 ;; This scrolls while button is depressed. Use preferable in scrollbar. | |
465 ;; | |
466 | |
467 (defvar scrolled-lines 0) | |
468 (defconst scroll-speed 1) | |
469 | |
470 (defun incr-scroll-down (event) | |
471 (interactive "@e") | |
472 (setq scrolled-lines 0) | |
473 (incremental-scroll scroll-speed)) | |
474 | |
475 (defun incr-scroll-up (event) | |
476 (interactive "@e") | |
477 (setq scrolled-lines 0) | |
478 (incremental-scroll (- scroll-speed))) | |
479 | |
480 (defun incremental-scroll (n) | |
481 (while (= (x-mouse-events) 0) | |
482 (setq scrolled-lines (1+ (* scroll-speed scrolled-lines))) | |
483 (scroll-down n) | |
484 (sit-for 300 t))) | |
485 | |
486 (defun incr-scroll-stop (event) | |
487 (interactive "@e") | |
488 (message "Scrolled %d lines" scrolled-lines) | |
489 (setq scrolled-lines 0) | |
490 (sleep-for 1)) | |
491 | |
465 | 492 ;;; (defun x-testing-scroll () |
493 ;;; (let ((scrolling-map (function mouse-vertical-scroll-bar-prefix))) | |
494 ;;; (define-key scrolling-map mouse-button-left 'incr-scroll-down) | |
495 ;;; (define-key scrolling-map mouse-button-right 'incr-scroll-up) | |
496 ;;; (define-key scrolling-map mouse-button-left-up 'incr-scroll-stop) | |
497 ;;; (define-key scrolling-map mouse-button-right-up 'incr-scroll-stop))) | |
66 | 498 |
499 ;; | |
500 ;; Some playthings suitable for picture mode? They need work. | |
501 ;; | |
502 | |
503 (defun mouse-kill-rectangle (event) | |
504 "Kill the rectangle between point and the mouse cursor." | |
505 (interactive "@e") | |
506 (let ((point-save (point))) | |
507 (save-excursion | |
508 (mouse-set-point event) | |
509 (push-mark nil t) | |
510 (if (> point-save (point)) | |
511 (kill-rectangle (point) point-save) | |
512 (kill-rectangle point-save (point)))))) | |
513 | |
514 (defun mouse-open-rectangle (event) | |
515 "Kill the rectangle between point and the mouse cursor." | |
516 (interactive "@e") | |
517 (let ((point-save (point))) | |
518 (save-excursion | |
519 (mouse-set-point event) | |
520 (push-mark nil t) | |
521 (if (> point-save (point)) | |
522 (open-rectangle (point) point-save) | |
523 (open-rectangle point-save (point)))))) | |
524 | |
525 ;; Must be a better way to do this. | |
526 | |
527 (defun mouse-multiple-insert (n char) | |
528 (while (> n 0) | |
529 (insert char) | |
530 (setq n (1- n)))) | |
531 | |
532 ;; What this could do is not finalize until button was released. | |
533 | |
534 (defun mouse-move-text (event) | |
535 "Move text from point to cursor position, inserting spaces." | |
536 (interactive "@e") | |
537 (let* ((relative-coordinate | |
538 (coordinates-in-window-p (car event) (selected-window)))) | |
539 (if (consp relative-coordinate) | |
540 (cond ((> (current-column) (car relative-coordinate)) | |
541 (delete-char | |
542 (- (car relative-coordinate) (current-column)))) | |
543 ((< (current-column) (car relative-coordinate)) | |
544 (mouse-multiple-insert | |
545 (- (car relative-coordinate) (current-column)) " ")) | |
546 ((= (current-column) (car relative-coordinate)) (ding)))))) | |
1100
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
547 |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
548 ;; Font selection. |
465 | 549 |
1100
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
550 (defvar x-fixed-font-alist |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
551 '("Font menu" |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
552 ("Misc" |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
553 ("fixed" "fixed") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
554 ("6x10" "6x10") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
555 ("6x12" "6x12") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
556 ("6x13" "6x13") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
557 ("7x13" "7x13") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
558 ("7x14" "7x14") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
559 ("8x13" "8x13") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
560 ("8x13 bold" "8x13bold") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
561 ("8x16" "8x16") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
562 ("9x15" "9x15") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
563 ("9x15 bold" "9x15bold") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
564 ("10x20" "10x20") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
565 ("11x18" "11x18") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
566 ("12x24" "12x24")) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
567 ;;; We don't seem to have these; who knows what they are. |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
568 ;;; ("fg-18" "fg-18") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
569 ;;; ("fg-25" "fg-25") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
570 ;;; ("lucidasanstypewriter-12" "lucidasanstypewriter-12") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
571 ;;; ("lucidasanstypewriter-bold-14" "lucidasanstypewriter-bold-14") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
572 ;;; ("lucidasanstypewriter-bold-24" "lucidasanstypewriter-bold-24") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
573 ;;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
574 ;;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
575 ("Courier" |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
576 ("8" "-adobe-courier-medium-r-normal--8-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
577 ("10" "-adobe-courier-medium-r-normal--10-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
578 ("12" "-adobe-courier-medium-r-normal--12-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
579 ("14" "-adobe-courier-medium-r-normal--14-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
580 ("18" "-adobe-courier-medium-r-normal--18-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
581 ("24" "-adobe-courier-medium-r-normal--24-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
582 ("8 bold" "-adobe-courier-bold-r-normal--8-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
583 ("10 bold" "-adobe-courier-bold-r-normal--10-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
584 ("12 bold" "-adobe-courier-bold-r-normal--12-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
585 ("14 bold" "-adobe-courier-bold-r-normal--14-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
586 ("18 bold" "-adobe-courier-bold-r-normal--18-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
587 ("24 bold" "-adobe-courier-bold-r-normal--24-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
588 ("8 slant" "-adobe-courier-medium-o-normal--8-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
589 ("10 slant" "-adobe-courier-medium-o-normal--10-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
590 ("12 slant" "-adobe-courier-medium-o-normal--12-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
591 ("14 slant" "-adobe-courier-medium-o-normal--14-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
592 ("18 slant" "-adobe-courier-medium-o-normal--18-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
593 ("24 slant" "-adobe-courier-medium-o-normal--24-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
594 ("8 bold slant" "-adobe-courier-bold-o-normal--8-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
595 ("10 bold slant" "-adobe-courier-bold-o-normal--10-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
596 ("12 bold slant" "-adobe-courier-bold-o-normal--12-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
597 ("14 bold slant" "-adobe-courier-bold-o-normal--14-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
598 ("18 bold slant" "-adobe-courier-bold-o-normal--18-*-*-*-m-*-iso8859-1") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
599 ("24 bold slant" "-adobe-courier-bold-o-normal--24-*-*-*-m-*-iso8859-1")) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
600 ) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
601 "X fonts suitable for use in Emacs.") |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
602 |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
603 (defun mouse-set-font (font) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
604 "Select an emacs font from a list of known good fonts" |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
605 (interactive |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
606 (x-popup-menu last-nonmenu-event x-fixed-font-alist)) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
607 (modify-frame-parameters (selected-frame) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
608 (list (cons 'font font)))) |
465 | 609 |
610 ;;; Bindings for mouse commands. | |
611 | |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
612 ;; This won't be needed once the drag and down events |
1057
d9775f33488d
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1056
diff
changeset
|
613 ;; are properly implemented. |
d9775f33488d
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1056
diff
changeset
|
614 (global-set-key [mouse-1] 'mouse-set-point) |
d9775f33488d
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1056
diff
changeset
|
615 |
1420
4005f73e5712
(mouse-set-region): New command. Bind drag-mouse-1 to it.
Richard M. Stallman <rms@gnu.org>
parents:
1363
diff
changeset
|
616 (global-set-key [drag-mouse-1] 'mouse-set-region) |
705 | 617 (global-set-key [mouse-2] 'mouse-yank-at-click) |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
618 (global-set-key [mouse-3] 'mouse-save-then-kill) |
705 | 619 |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
620 (global-set-key [C-mouse-1] 'mouse-buffer-menu) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
621 |
1100
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
622 (global-set-key [C-mouse-3] 'mouse-set-font) |
5b3b202a84c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1064
diff
changeset
|
623 |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
624 ;; Replaced with dragging mouse-1 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
625 ;; (global-set-key [S-mouse-1] 'mouse-set-mark) |
1214
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
626 |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
627 (global-set-key [mode-line mouse-1] 'mouse-delete-other-windows) |
467833df795b
(mouse-split-window-vertically): Use @.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
628 (global-set-key [mode-line mouse-3] 'mouse-delete-window) |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
629 |
1060
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
630 ;; Define the mouse help menu tree. |
af78c65921c8
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1058
diff
changeset
|
631 |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
632 (defvar help-menu-map '(keymap "Help")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
633 (global-set-key [C-mouse-2] help-menu-map) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
634 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
635 (defvar help-apropos-map '(keymap "Is there a command that...")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
636 (defvar help-keys-map '(keymap "Key Commands <==> Functions")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
637 (defvar help-manual-map '(keymap "Manual and tutorial")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
638 (defvar help-misc-map '(keymap "Odds and ends")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
639 (defvar help-modes-map '(keymap "Modes")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
640 (defvar help-admin-map '(keymap "Administrivia")) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
641 |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
642 (define-key help-menu-map [apropos] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
643 (cons "@Is there a command that..." help-apropos-map)) |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
644 (define-key help-menu-map [keys] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
645 (cons "@Key Commands <==> Functions" help-keys-map)) |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
646 (define-key help-menu-map [manuals] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
647 (cons "@Manual and tutorial" help-manual-map)) |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
648 (define-key help-menu-map [misc] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
649 (cons "@Odds and ends" help-misc-map)) |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
650 (define-key help-menu-map [modes] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
651 (cons "@Modes" help-modes-map)) |
1058
19c6978ab218
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1057
diff
changeset
|
652 (define-key help-menu-map [admin] |
1064
e699ce19609f
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1060
diff
changeset
|
653 (cons "@Administrivia" help-admin-map)) |
1056
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
654 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
655 (define-key help-apropos-map "c" '("Command Apropos" . command-apropos)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
656 (define-key help-apropos-map "a" '("Apropos" . apropos)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
657 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
658 (define-key help-keys-map "b" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
659 '("List all keystroke commands" . describe-bindings)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
660 (define-key help-keys-map "c" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
661 '("Describe key briefly" . describe-key-briefly)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
662 (define-key help-keys-map "k" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
663 '("Describe key verbose" . describe-key)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
664 (define-key help-keys-map "f" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
665 '("Describe Lisp function" . describe-function)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
666 (define-key help-keys-map "w" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
667 '("Where is this command" . where-is)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
668 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
669 (define-key help-manual-map "i" '("Info system" . info)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
670 (define-key help-manual-map "t" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
671 '("Invoke Emacs tutorial" . help-with-tutorial)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
672 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
673 (define-key help-misc-map "l" '("Last 100 Keystrokes" . view-lossage)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
674 (define-key help-misc-map "s" '("Describe syntax table" . describe-syntax)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
675 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
676 (define-key help-modes-map "m" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
677 '("Describe current major mode" . describe-mode)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
678 (define-key help-modes-map "b" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
679 '("List all keystroke commands" . describe-bindings)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
680 |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
681 (define-key help-admin-map "n" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
682 '("view Emacs news" . view-emacs-news)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
683 (define-key help-admin-map "l" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
684 '("View the GNU Emacs license" . describe-copying)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
685 (define-key help-admin-map "d" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
686 '("Describe distribution" . describe-distribution)) |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
687 (define-key help-admin-map "w" |
a7fc54083464
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
1039
diff
changeset
|
688 '("Describe (non)warranty" . describe-no-warranty)) |
584 | 689 |
690 (provide 'mouse) | |
691 | |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
692 ;;; mouse.el ends here |