emacs在i3wm下,会出现mini-buffer超出屏幕边界,并伴随窗口抖动的现象。可能的原因有什么呢?

我在i3wm下使用emacs。当mini-buffer中的内容更新时,emacs时不时发生抖动,并且mini-buffer会超出屏幕下边界。重启i3wm后可以恢复正常。但是随着lsp的使用,mini-buffer内容频繁更新,窗口的抖动也越来越频繁,重启i3wm已经不是一个可以接受的解决方案了。我目前发现全屏使用emacs可以避免这个问题。但是全屏切换窗口比较麻烦,大家有什么比较好的解决思路吗?

另外,一个奇怪的现象是,我使用clangd作为language server时,虽然mini-buffer一样频繁更新,但emacs可以非常正常地工作。但是切换到python的language server时,不管是pyright还是pylsp,都会频繁出现窗口抖动、mini-buffer超出屏幕边界的现象。

目前通过在i3wm中设置快捷键,一键切换到emacs中并打开/关闭全屏:

bindsym $mod+e [title="Emacs"] focus;fullscreen toggle

感觉算是一个可以接受的解决方案。

最后发现是i3bar与emacs一起使用导致了这个现象,原因未知。可以通过隐藏i3bar来暂时解决。

在dwm下用emacs搭配sort-tab也会出现这个问题

蹲一个解决办法

我将emacs更新到28.2之后,这个问题消失了。

1 个赞