Mercurial > emacs
comparison lisp/mouse.el @ 59470:f009f3970cd9
(mouse-drag-mode-line-1, mouse-drag-vertical-line, mouse-drag-region)
(mouse-drag-region-1, mouse-drag-secondary): Ignore select-window events
rather than fiddle with mouse-autoselect-window.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 11 Jan 2005 15:36:57 +0000 |
parents | e070d86ca060 |
children | e13b943b7f9a |
comparison
equal
deleted
inserted
replaced
59469:8507e984115b | 59470:f009f3970cd9 |
---|---|
1 ;;; mouse.el --- window system-independent mouse support | 1 ;;; mouse.el --- window system-independent mouse support |
2 | 2 |
3 ;; Copyright (C) 1993, 94, 95, 1999, 2000, 2001, 2002, 2003, 2004 | 3 ;; Copyright (C) 1993, 94, 95, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
4 ;; Free Software Foundation, Inc. | 4 ;; Free Software Foundation, Inc. |
5 | 5 |
6 ;; Maintainer: FSF | 6 ;; Maintainer: FSF |
7 ;; Keywords: hardware, mouse | 7 ;; Keywords: hardware, mouse |
8 | 8 |
395 (start-event-window (posn-window start)) | 395 (start-event-window (posn-window start)) |
396 (start-event-frame (window-frame start-event-window)) | 396 (start-event-frame (window-frame start-event-window)) |
397 (start-nwindows (count-windows t)) | 397 (start-nwindows (count-windows t)) |
398 (old-selected-window (selected-window)) | 398 (old-selected-window (selected-window)) |
399 (minibuffer (frame-parameter nil 'minibuffer)) | 399 (minibuffer (frame-parameter nil 'minibuffer)) |
400 (mouse-autoselect-window nil) | |
401 should-enlarge-minibuffer event mouse y top bot edges wconfig growth) | 400 should-enlarge-minibuffer event mouse y top bot edges wconfig growth) |
402 (track-mouse | 401 (track-mouse |
403 (progn | 402 (progn |
404 ;; enlarge-window only works on the selected window, so | 403 ;; enlarge-window only works on the selected window, so |
405 ;; we must select the window where the start event originated. | 404 ;; we must select the window where the start event originated. |
433 ;; - there is a keyboard event or some other unknown event | 432 ;; - there is a keyboard event or some other unknown event |
434 ;; unknown event. | 433 ;; unknown event. |
435 (cond ((integerp event) | 434 (cond ((integerp event) |
436 (setq done t)) | 435 (setq done t)) |
437 | 436 |
438 ((eq (car event) 'switch-frame) | 437 ((memq (car event) '(switch-frame select-window)) |
439 nil) | 438 nil) |
440 | 439 |
441 ((not (memq (car event) '(mouse-movement scroll-bar-movement))) | 440 ((not (memq (car event) '(mouse-movement scroll-bar-movement))) |
442 (when (consp event) | 441 (when (consp event) |
443 (push event unread-command-events)) | 442 (push event unread-command-events)) |
580 ;; quit if | 579 ;; quit if |
581 ;; - there is a keyboard event or some other unknown event | 580 ;; - there is a keyboard event or some other unknown event |
582 ;; unknown event. | 581 ;; unknown event. |
583 (cond ((integerp event) | 582 (cond ((integerp event) |
584 (setq done t)) | 583 (setq done t)) |
585 ((eq (car event) 'switch-frame) | 584 ((memq (car event) '(switch-frame select-window)) |
586 nil) | 585 nil) |
587 ((not (memq (car event) | 586 ((not (memq (car event) |
588 '(mouse-movement scroll-bar-movement))) | 587 '(mouse-movement scroll-bar-movement))) |
589 (if (consp event) | 588 (if (consp event) |
590 (setq unread-command-events | 589 (setq unread-command-events |
752 In Transient Mark mode, the highlighting remains as long as the mark | 751 In Transient Mark mode, the highlighting remains as long as the mark |
753 remains active. Otherwise, it remains until the next input event. | 752 remains active. Otherwise, it remains until the next input event. |
754 | 753 |
755 If the click is in the echo area, display the `*Messages*' buffer." | 754 If the click is in the echo area, display the `*Messages*' buffer." |
756 (interactive "e") | 755 (interactive "e") |
757 (let ((w (posn-window (event-start start-event))) | 756 (let ((w (posn-window (event-start start-event)))) |
758 (mouse-autoselect-window nil)) | 757 (if (and (window-minibuffer-p w) |
759 (if (not (or (not (window-minibuffer-p w)) | 758 (not (minibuffer-window-active-p w))) |
760 (minibuffer-window-active-p w))) | |
761 (save-excursion | 759 (save-excursion |
762 (read-event) | 760 (read-event) |
763 (set-buffer "*Messages*") | 761 (set-buffer "*Messages*") |
764 (goto-char (point-max)) | 762 (goto-char (point-max)) |
765 (display-buffer (current-buffer))) | 763 (display-buffer (current-buffer))) |
856 (let (event end end-point last-end-point (end-of-range (point))) | 854 (let (event end end-point last-end-point (end-of-range (point))) |
857 (track-mouse | 855 (track-mouse |
858 (while (progn | 856 (while (progn |
859 (setq event (read-event)) | 857 (setq event (read-event)) |
860 (or (mouse-movement-p event) | 858 (or (mouse-movement-p event) |
861 (eq (car-safe event) 'switch-frame))) | 859 (memq (car-safe event) '(switch-frame select-window)))) |
862 (if (eq (car-safe event) 'switch-frame) | 860 (if (memq (car-safe event) '(switch-frame select-window)) |
863 nil | 861 nil |
864 (setq end (event-end event) | 862 (setq end (event-end event) |
865 end-point (posn-point end)) | 863 end-point (posn-point end)) |
866 (if (numberp end-point) | 864 (if (numberp end-point) |
867 (setq last-end-point end-point)) | 865 (setq last-end-point end-point)) |
1151 (if transient-mark-mode | 1149 (if transient-mark-mode |
1152 (delete-overlay mouse-drag-overlay) | 1150 (delete-overlay mouse-drag-overlay) |
1153 (move-overlay mouse-drag-overlay (point) (mark t))) | 1151 (move-overlay mouse-drag-overlay (point) (mark t))) |
1154 (catch 'mouse-show-mark | 1152 (catch 'mouse-show-mark |
1155 ;; In this loop, execute scroll bar and switch-frame events. | 1153 ;; In this loop, execute scroll bar and switch-frame events. |
1154 ;; Should we similarly handle `select-window' events? --Stef | |
1156 ;; Also ignore down-events that are undefined. | 1155 ;; Also ignore down-events that are undefined. |
1157 (while (progn (setq event (read-event)) | 1156 (while (progn (setq event (read-event)) |
1158 (setq events (append events (list event))) | 1157 (setq events (append events (list event))) |
1159 (setq key (apply 'vector events)) | 1158 (setq key (apply 'vector events)) |
1160 (or (and (consp event) | 1159 (or (and (consp event) |
1474 (let (event end end-point) | 1473 (let (event end end-point) |
1475 (track-mouse | 1474 (track-mouse |
1476 (while (progn | 1475 (while (progn |
1477 (setq event (read-event)) | 1476 (setq event (read-event)) |
1478 (or (mouse-movement-p event) | 1477 (or (mouse-movement-p event) |
1479 (eq (car-safe event) 'switch-frame))) | 1478 (memq (car-safe event) '(switch-frame select-window)))) |
1480 | 1479 |
1481 (if (eq (car-safe event) 'switch-frame) | 1480 (if (memq (car-safe event) '(switch-frame select-window)) |
1482 nil | 1481 nil |
1483 (setq end (event-end event) | 1482 (setq end (event-end event) |
1484 end-point (posn-point end)) | 1483 end-point (posn-point end)) |
1485 (cond | 1484 (cond |
1486 ;; Are we moving within the original window? | 1485 ;; Are we moving within the original window? |