3

我的具体情况是我想做这样的事情:

http://www.chris-granger.com/images/lightable/inline-docs.png

谢谢!

4

2 回答 2

5

您可以使用叠加层。创建一个覆盖make-overlay

(make-overlay (point) (point))

然后用overlay-put.

(overlay-put the-ol 'before-string "Tooltip message")

为了以这种方式右对齐文本,您需要propertize在字符串之前使用空格来设置display属性:align-to,考虑到工具提示本身将占用的空间。

(concat (propertize " "
                    'display `(space :align-to (- right ,(length tooltip))))
        tooltip)
于 2013-06-27T23:45:01.510 回答
4

看看popup.elpos-tip.el。他们实现的是工具提示,而不是浮动框,但是如果您只想在光标周围显示一些信息就足够了。即使工具提示还不够,查看实现并使用它也可以让您对在 Emacs 中可以做什么有所了解。popup.el 按照@d11wtq 的建议使用覆盖。pos-tip.el 使用基于 X 的函数,例如x-show-tip.

yascroll.el也是一个很好的例子,说明了如何使用覆盖将东西放在窗口的正确部分(这很难!)。

于 2013-06-28T10:25:05.613 回答