有没有什么办法把任意的一个应用的窗口投影到 emacs 里面的一个 window

如题

  1. 不需要这个应用是 emacs 管理的
  2. 同时可以映射输入
  3. Wayland

Emacs的Windows是要支持Buffer内容可以镜像多个Windows的, 目前EAF的这种 XReparent 粘贴窗口, 由EAF自己处理Buffer到Windows的映射是可以的。

Wayland最恶心的是, 它自己开发 Gnome Player 可以让 mpv 的内容通过显存映射到 Gnome Player 窗口内,但是它不允许第三方应用干这种事情。

跨进程粘贴窗口(狗哥说的映射)本质是窗口管理器的事情, 但是 Wayland 开发者脑袋不知道灌了什么不开放这种接口, 美曰安全, 其实就是幼稚。

1 个赞

狗哥, 如果不考虑多个 Windows 对应一个 Buffer 这种 mirror 需求, 最简单的方法就是设置窗口属性, 让任意应用窗口置顶并管理它的坐标和大小, 盖在Emacs窗口上最简单。

不好搞的话就算了,我是想把一些特别的应用映射进来。不是什么特别重要的需求。哈哈哈哈。

好奇问下,它是怎么判断一个应用是不是第三方的呢?既然都是开源项目,Gnome Player 可以做到,那改下这部分检测第三方的代码能否绕过这个检测呢?

不是,gnome shell把跨进程混合只给了白名单应用,而不是开放成一个标准。

唉,内心鄙视gnome3开发者,用开源代码模仿苹果的封闭设计。

1 个赞

那理论上改了这个白名单然后重新编译就行了?

没那么简单,zsbd