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

我可以在Emacs上创建浮动框吗?,emacs,Emacs,我的具体案例是我想做这样的事情: 谢谢 您可以使用覆盖。使用创建覆盖: (make-overlay (point) (point)) 然后用overlay put将一些文本放入其中 (overlay-put the-ol 'before-string "Tooltip message") 为了以这种方式对文本进行右对齐,您需要对字符串前的空格进行属性化,以将显示属性设置为:对齐到,从而考虑工具提示本身将占用的空间 (concat (propertize " "

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


谢谢

您可以使用覆盖。使用
创建覆盖

(make-overlay (point) (point))
然后用
overlay put
将一些文本放入其中

(overlay-put the-ol 'before-string "Tooltip message")
为了以这种方式对文本进行右对齐,您需要对字符串前的空格进行
属性化,以将
显示属性设置为
:对齐到
,从而考虑工具提示本身将占用的空间

(concat (propertize " "
                    'display `(space :align-to (- right ,(length tooltip))))
        tooltip)
看一看,然后。他们实现的是工具提示,而不是浮动框,但如果您只想在光标周围显示一些信息,这就足够了。即使工具提示还不够,查看实现并使用它也可以让您了解在Emacs中可以做些什么。popup.el使用@d11wtq建议的覆盖。pos-tip.el使用基于X的功能,如
X-show-tip


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

+1 for popup.el;这是一个[相当]无痛的方式来获得好看的提示或完成菜单;但是,提示中的语法高亮显示(面)将要求您在此处和那里修改一些内容,并且可能会遇到冲突面的奇怪情况