我可以在Emacs上创建一个浮动框吗?

时间:2013-06-27 21:58:00

标签: emacs

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

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

谢谢!

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:4)

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

同样yascroll.el是如何使用叠加将东西放在窗口右侧的一个很好的例子(这很难!)。