懒猫大大,我的使用场景是在服务器上安装emacs,然后在本地pc机上起个X server,设置服务器的DISPLAY将emacs画面显示到本地PC机。 如此方法使用holo-layer时,本地pc机上一片黑,但是能看到光标动画,但是光标动画非常缓慢,能大概给个如何排查该问题的思路嘛?
holo-layer 的技术依赖本地GUI窗口, 不支持 X11 Server 远程绘制。
更新到最新版,设置如下:
(setq holo-layer-enable-type-animation t)
(setq holo-layer-enable-indent-rainbow t)
(setq holo-layer-sort-tab-ui t)
(holo-layer-enable)
可以看到效果,但出现如下问题:
1.spacemacs启动界面的tab错位
2.多次切换buffer后,tab越来越高
3.indent-rainbow效果在c-v翻页后消失,需要移动一下光标后才会再刷新显示
4.log疯狂刷信息
5.重新启动emacs后,tab和indent都错位显示了
indent先不要开启,这个功能没做完
好吧;其实我主要就是奔着indent来的;关掉indent之后,tab也还是上面的问题;暂时看来用不起来了;
标签问题可以 emacs -Q 排查一下
猫大,我看您博客上有一篇多线程 Emacs 构想的文章
如果那个架构可以实现的话,是不是就能解决我上述的问题了?
远程服务器linux:启动emacs Daemon
本地windows电脑使用PyQt Emacs Client 进行远程连接使用
有可能
再加个 elisp to python transpiler 或者用 python 实现个 elisp interpreter 是不是就可以去掉 Emacs 了。。。
用 C 实现的 elisp 函数得用 python 重写下。
我的setup之前用 holo-layer 一直有点问题,主frame主显示器可以使用,make-frame 新的frame,或者换到旁边的显示器就都不工作了。
这几周看见坛子里mac上的光标动画这些帖子,心里痒得不行,我又不用mac。
遂花了几天时间重新把holo-layer翻出来debug一下子,终于发现问题出在哪里了,修复后一高兴给光标旁边又加了个 QMovie 让我家鸽鸽天天陪我一起写代码。

发一下我定位到的问题和解法,看看有没有别的小伙伴也遇到了同样的问题
环境:
- ArchLinux X11
- Emacs 30.1
- Spacemacs develop长期不更新
- 只有主frame才满足
get_active_window_id() == get_emacs_id(),改成了查询frame-focus-state后就能保证在任何frame返回True,不在emacs就返回False - 我的环境下,
display-monitor-attributes-list返回格式不太一样,所以cdar拿不到 screen idx,导致 screen idx 永远是0,在我的环境下只需要改成(Edit: PR里改成了 alist-get 'geometry 就通用了)cdadr就可以了 - 我的环境下,需要手动
(setq holo-layer-emacs-frame (window-frame)维护状态,否则下面的when条件不满足
所以,像gif里那样修改代码后,我的holo-layer基本上就完全表现正常了,哈皮~
@manateelazycat 也麻烦猫大抽空看看这个解法可以不,问题不大的话我就去PR
欢迎提交PR



