我的具体情况是我想做这样的事情:
谢谢!
您可以使用叠加层。创建一个覆盖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)
看看popup.el和pos-tip.el。他们实现的是工具提示,而不是浮动框,但是如果您只想在光标周围显示一些信息就足够了。即使工具提示还不够,查看实现并使用它也可以让您对在 Emacs 中可以做什么有所了解。popup.el 按照@d11wtq 的建议使用覆盖。pos-tip.el 使用基于 X 的函数,例如x-show-tip
.
yascroll.el也是一个很好的例子,说明了如何使用覆盖将东西放在窗口的正确部分(这很难!)。