mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-24 10:38:38 +00:00
(xterm-mouse-mode): Use delete-terminal-functions.
(xterm-mouse-handle-delete-frame): Delete.
This commit is contained in:
parent
b20ef5aa72
commit
146df84586
@ -1,5 +1,8 @@
|
||||
2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* xt-mouse.el (xterm-mouse-mode): Use delete-terminal-functions.
|
||||
(xterm-mouse-handle-delete-frame): Delete.
|
||||
|
||||
* term/xterm.el (terminal-init-xterm): Use delete-terminal-functions.
|
||||
(xterm-turn-on-modify-other-keys, xterm-turn-off-modify-other-keys)
|
||||
(xterm-remove-modify-other-keys): Lookup terminal rather than frame
|
||||
|
@ -205,34 +205,24 @@ single clicks are supported. When turned on, the normal xterm
|
||||
mouse functionality for such clicks is still available by holding
|
||||
down the SHIFT key while pressing the mouse button."
|
||||
:global t :group 'mouse
|
||||
(let ((do-hook (if xterm-mouse-mode 'add-hook 'remove-hook)))
|
||||
(funcall do-hook 'terminal-init-xterm-hook
|
||||
'turn-on-xterm-mouse-tracking-on-terminal)
|
||||
(funcall do-hook 'delete-terminal-functions
|
||||
'turn-off-xterm-mouse-tracking-on-terminal)
|
||||
(funcall do-hook 'suspend-tty-functions
|
||||
'turn-off-xterm-mouse-tracking-on-terminal)
|
||||
(funcall do-hook 'resume-tty-functions
|
||||
'turn-on-xterm-mouse-tracking-on-terminal)
|
||||
(funcall do-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
|
||||
(funcall do-hook 'suspend-resume-hook 'turn-on-xterm-mouse-tracking)
|
||||
(funcall do-hook 'kill-emacs-hook 'turn-off-xterm-mouse-tracking))
|
||||
(if xterm-mouse-mode
|
||||
;; Turn it on
|
||||
(progn
|
||||
;; Frame creation and deletion.
|
||||
(add-hook 'terminal-init-xterm-hook
|
||||
'turn-on-xterm-mouse-tracking-on-terminal)
|
||||
|
||||
(add-hook 'delete-frame-functions 'xterm-mouse-handle-delete-frame)
|
||||
|
||||
;; Restore normal mouse behaviour outside Emacs.
|
||||
(add-hook 'suspend-tty-functions
|
||||
'turn-off-xterm-mouse-tracking-on-terminal)
|
||||
(add-hook 'resume-tty-functions
|
||||
'turn-on-xterm-mouse-tracking-on-terminal)
|
||||
(add-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
|
||||
(add-hook 'suspend-resume-hook 'turn-on-xterm-mouse-tracking)
|
||||
(add-hook 'kill-emacs-hook 'turn-off-xterm-mouse-tracking)
|
||||
(setq mouse-position-function #'xterm-mouse-position-function)
|
||||
(turn-on-xterm-mouse-tracking))
|
||||
;; Turn it off
|
||||
(remove-hook 'delete-frame-functions 'xterm-mouse-handle-delete-frame)
|
||||
(remove-hook 'suspend-tty-functions
|
||||
'turn-off-xterm-mouse-tracking-on-terminal)
|
||||
(remove-hook 'resume-tty-functions
|
||||
'turn-on-xterm-mouse-tracking-on-terminal)
|
||||
(remove-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
|
||||
(remove-hook 'suspend-resume-hook 'turn-on-xterm-mouse-tracking)
|
||||
(remove-hook 'kill-emacs-hook 'turn-off-xterm-mouse-tracking)
|
||||
(turn-off-xterm-mouse-tracking 'force)
|
||||
(setq mouse-position-function nil)))
|
||||
|
||||
@ -269,12 +259,6 @@ down the SHIFT key while pressing the mouse button."
|
||||
;; pass by untranslated).
|
||||
(send-string-to-terminal "\e[?1000l" terminal)))
|
||||
|
||||
(defun xterm-mouse-handle-delete-frame (frame)
|
||||
"Turn off xterm mouse tracking if FRAME is the last frame on its device."
|
||||
(when (and (eq t (frame-live-p frame))
|
||||
(<= 1 (length (frames-on-display-list (frame-terminal frame)))))
|
||||
(turn-off-xterm-mouse-tracking-on-terminal frame)))
|
||||
|
||||
(provide 'xt-mouse)
|
||||
|
||||
;; arch-tag: 84962d4e-fae9-4c13-a9d7-ef4925a4ac03
|
||||
|
Loading…
Reference in New Issue
Block a user