1 |
;;; tooltip.el --- show tooltip windows |
;;; tooltip.el --- show tooltip windows |
2 |
|
|
3 |
;; Copyright (C) 1997, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. |
;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004 |
4 |
|
;; Free Software Foundation, Inc. |
5 |
|
|
6 |
;; Author: Gerd Moellmann <gerd@acm.org> |
;; Author: Gerd Moellmann <gerd@acm.org> |
7 |
;; Keywords: help c mouse tools |
;; Keywords: help c mouse tools |
477 |
(defun tooltip-show-help-function (msg) |
(defun tooltip-show-help-function (msg) |
478 |
"Function installed as `show-help-function'. |
"Function installed as `show-help-function'. |
479 |
MSG is either a help string to display, or nil to cancel the display." |
MSG is either a help string to display, or nil to cancel the display." |
480 |
(let ((previous-help tooltip-help-message)) |
(let ((previous-help tooltip-help-message) |
481 |
|
mp pos) |
482 |
|
(if (and mouse-1-click-follows-link |
483 |
|
(stringp msg) |
484 |
|
(save-match-data |
485 |
|
(string-match "^mouse-2" msg)) |
486 |
|
(setq mp (mouse-pixel-position)) |
487 |
|
(consp (setq pos (cdr mp))) |
488 |
|
(setq pos (posn-at-x-y (car pos) (cdr pos) (car mp))) |
489 |
|
(windowp (posn-window pos))) |
490 |
|
(with-current-buffer (window-buffer (posn-window pos)) |
491 |
|
(if (mouse-on-link-p (posn-point pos)) |
492 |
|
(setq msg (concat |
493 |
|
(cond |
494 |
|
((eq mouse-1-click-follows-link 'double) "double-") |
495 |
|
((and (integerp mouse-1-click-follows-link) |
496 |
|
(< mouse-1-click-follows-link 0)) "Long ") |
497 |
|
(t "")) |
498 |
|
"mouse-1" (substring msg 7)))))) |
499 |
(setq tooltip-help-message msg) |
(setq tooltip-help-message msg) |
500 |
(cond ((null msg) |
(cond ((null msg) |
501 |
;; Cancel display. This also cancels a delayed tip, if |
;; Cancel display. This also cancels a delayed tip, if |