summaryrefslogtreecommitdiff
path: root/lisp/tooltip.el
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2008-04-09 09:34:16 +0000
committerJan Djärv <jan.h.d@swipnet.se>2008-04-09 09:34:16 +0000
commit14c0a34db0216423c493349efd9079e968586ef5 (patch)
tree70a89a5e4ee5f160eab11133ce0dbc4b217a0ad8 /lisp/tooltip.el
parent96bdb5cf192adcda434b2ca1d45abd18dd037137 (diff)
downloademacs-14c0a34db0216423c493349efd9079e968586ef5.tar.gz
(tooltip-mode): Set tooltip-show-help-non-mode as
show-help-function when turning tooltip off. (tooltip-show): Call tooltip-show-help-non-mode if use-echo-area. (tooltip-trunc-str, tooltip-show-help-non-mode): New.
Diffstat (limited to 'lisp/tooltip.el')
-rw-r--r--lisp/tooltip.el20
1 files changed, 18 insertions, 2 deletions
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 253ce48e8ec..bfbedcf0c13 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -67,7 +67,7 @@ the help text in the echo area, and does not make a pop-up window."
(remove-hook 'pre-command-hook 'tooltip-hide))
(remove-hook 'tooltip-hook 'tooltip-help-tips))
(setq show-help-function
- (if tooltip-mode 'tooltip-show-help nil)))
+ (if tooltip-mode 'tooltip-show-help 'tooltip-show-help-non-mode)))
;;; Customizable settings
@@ -228,7 +228,7 @@ position.
Optional second arg USE-ECHO-AREA non-nil means to show tooltip
in echo area."
(if use-echo-area
- (message "%s" text)
+ (tooltip-show-help-non-mode text)
(condition-case error
(let ((params (copy-sequence tooltip-frame-parameters))
(fg (face-attribute 'tooltip :foreground))
@@ -316,6 +316,22 @@ the buffer of PROCESS."
(defvar tooltip-help-message nil
"The last help message received via `tooltip-show-help'.")
+(defun tooltip-trunc-str (str maxlen pieces)
+ (let ((s (car pieces)))
+ (if (and pieces (< (+ (length str) (length s) 2) maxlen))
+ (tooltip-trunc-str (concat str
+ (if (> (length str) 0) ", " "")
+ s)
+ maxlen (cdr pieces))
+ (if (> (length str) 0) str s))))
+
+(defun tooltip-show-help-non-mode (msg)
+ "Function installed as `show-help-function' when tooltip is off."
+ (message "%s" (if msg
+ (tooltip-trunc-str "" (frame-parameter nil 'width)
+ (split-string msg "\n" t))
+ "")))
+
(defun tooltip-show-help (msg)
"Function installed as `show-help-function'.
MSG is either a help string to display, or nil to cancel the display."