holo-layer: 一种全新的Emacs增强图层插件

可以的,zsbd

去掉title bar,完美适配。后续希望能够解决 mac 全屏的问题。感谢大佬

因为 holo-layer 是用Qt技术绘制在最上层的, 所以遇到补全菜单的场景, 会出现 holo-layer 绘制的窗口边框会覆盖到补全菜单上。

今天写了个补丁, 利用Qt本身的蒙版功能, 在绘制窗口边框的时候排除了弹出菜单的区域。

目前 lsp-bridge 的acm菜单已经被支持了, 其他补全菜单的支持, 欢迎修改 holo-layer-get-menu-info 函数。

2 个赞

搞定了没?我也遇到这个问题了

那个问题呀?是不能运行还是红框错位? 不能运行的问题,根据@kongds大佬的说法,直接emacs-mac换emacsplus@29可以解决。

提了个 pull request,修复了在 windows 下非全屏显示位置不正常问题,windows 下窗口模式也能使用了

GIF 2023-9-16 18-06-17

4 个赞

补丁已经合并, 感谢。

holo-layer 对 sort-tab 提供了渲染支持, 以后可以利用Qt技术绘制现代标签栏, 比如 VSCode、 Chrome、 Firefox 具备的标签栏细节, Emacs都可以具备。

holo-layer 这个绘制技术具备以下几个细节:

  1. 直接绘制图标: 性能杠杠的
  2. 绘制任意曲线: Qt可以绘制的都可以绘制, Emacs要绘制异形图案, 要做很多 xpm 内存对象的hacking
  3. 绝对的像素对齐: 文字和图标的绘制可以做到像素严格对齐, 以前用的 all-the-icons 等方案, 实际绘制到Emacs时, 大的大, 小的小, 歪歪扭扭, 看着非常不舒服
  4. 兼容性好: 对Emacs版本不挑剔, 只要可以跑 holo-layer 的地方都可以直接渲染

直接更新 sort-tab 和 holo-layer 到最新版就, 打开选项 holo-layer-sort-tab-ui 就可以用了。

以后可能会有的增强功能:

  1. 标签形状: 可以绘制成 Chrome 那样的梯形样子
  2. 增加动画: 标签切换的时候, 可以增加横向滚动动画, 或者标签本身的果冻动画
  3. 彩色标签栏: 根据不同的文件, 标签显示不同的颜色
  4. 标签提醒: 比如后台终端命令运行完成后, 标签显示成黄色

现在标签栏的体验也终于不差VSCode了, 还剩一个开箱即用的调试器。

8 个赞

今天更新了标签栏滚动算法, 在左右滚动的时候更加顺滑, 同时也加了大量代码注释, 方便大家理解Qt版标签栏的代码逻辑, 200多行PyQt的图形化实现要清晰的很多, 同样功能用Elisp实现, 大部分都是 text hacking way.

6 个赞

@manateelazycat 提了一个pull request来修复mac下窗口偏移的问题

1 个赞

好的, 感谢补丁, 今天早上已经合并了。 :wink:

emacs -Q 试了一下, 在Manjaro 上非全屏可以正常使用, 但是全屏的话, Emacs 会显示在翻译内容和光标动画的上面, 当把Emacs 移到副屏幕时, 全屏后可以看到主屏幕有绘制的内容

还没有做多屏处理, 欢迎发补丁。

This process is not trusted! Input event monitoring will not be possible until it is added to accessibility clients.

*holo-layer* 中有这个提示,我把 Emacs 加入 Input Monitoring 中:

还是有这个提示。

请教下,这个是什么原因导致的?谢谢 ~

苹果的安全权限要打开,wiki写的有,我记得是要在辅助里面打开安全选项。

谢谢,大佬 ~

安全权限也给了 Emacs,还是有这个提示。新引入的进程 python3.10,会不会是这个?

应该是这个:

大佬,请问mac是怎么安装 whiteSur icon theme 的

其实现在预置图标足够多了,没啥图标可以网上下载放到icon cache目录下,我今天把图标依赖代码去掉

3 个赞

已经移除了对Linux图标主题的依赖, 少什么图标可以从 https://icons8.com/icons/set 下载。

2 个赞