emskin: 把 Emacs 放进一个 Wayland 合成器里,让任意程序(浏览器、终端、视频播放器等)都能像原生 buffer 一样嵌入 Emacs 窗口。

EXWM 那种设计根本就发挥不出来Emacs的威力

要像EAF和Emskin这种支持窗口镜像的才能发挥Emacs生态协同的威力

1 个赞

emskin 和 ewm 其实实现方式是一样的, 但是定位不同

ewm 的定位是一个窗口管理器,只能在 tty 环境启动 emskin 的定位是给emacs 提供更多扩展的可能性, 特别是图形显示这一块, 而且不挑桌面环境,特别要说的一点 ,emskin 后面也会支持 tty 环境

1 个赞

大佬牛逼!之前看懒猫大佬 EAF 的 wayland 支持 issue 想自己上来实现这个想法,然后既缺精力也缺桌面开发的基础。现在终于看到有大佬实现了,太强了

mac 的用户可以尝试下:GitHub - chaoswork/appine: Appine = App in Emacs, which allows you to open native macOS browser, PDF viewer and video player directly within Emacs. · GitHub

充分使用了 macos 的功能,比如:

目前还在改进中,不过已经基本上操作比较丝滑了,有如下支持:

  • 把它当作 Emacs 缓冲区来用: 当 Appine 启动的时候,嵌入的窗口会绑定在 Appine Window 这个 Buffer 上。可以用 C-x 1 最大化,用 C-x 0 关闭,用 C-x o 在不同的 buffer 中切换。也可以使用 C-n, C-p, C-v, M-v, M-<, and M-> 来对 Appine Window 进行滚屏操作。
  • 原生网页浏览:在 Emacs 窗口中嵌入一个功能齐全的类似 Safari 的 WebKit 视图,而且支持 cookies。
  • 原生 PDF 渲染:使用 macOS 内置的 PDFKit 查看 PDF,享受丝滑的滚动和缩放体验,而且可以方便地拷贝其中的内容到 Emacs 的其他 buffer。
  • 原生 Word/Excel 渲染:使用 macOS 内置的 Quartz 查看 Word/Excel 文件,同样支持丝滑的滚动和缩放。不过目前还不支持编辑。
  • 无缝集成:当你分割或调整 Emacs 窗口大小时,原生视图会自动调整大小和移动。
  • 标签页管理:支持多个嵌入的标签页,可以直接在 Emacs 中进行切换和关闭。
  • Org-mode集成:可以使用 Appine 打开 Org 文件中的链接和文件。
  • 插件支持: 现在可以给 Appine 的浏览器写一些简单的插件了。目前支持 link hints 快速导航选中小助手(可以选中网页上的内容进行 org-capture, 搜索,翻译,甚至可以根据选中内容和 ChatGPT 对话)。
7 个赞

看到出了 AUR 包,装上试用了一下,感觉挺神奇的 :grin:

有个小问题: 我使用的是 4K 显示器,emacs 字体大小应该是 没缩放,打开的其他程序字体显示正常。

这个是 单独打开emacs 字体是正常的

打开 idea,字体也是没有缩放(居然能打开idea,这真是大一统了!碉堡,哈哈哈 :heart_eyes:)

  1. emacs 没缩放可以安装 emacs-wayland 这个包
  2. idea 的问题 ,能去仓库提个 issue 么
  1. 安装 emacs-wayland 后,emskin 内的 emacs 字体缩放正常
  2. issue 已提

试试 emskin 里面, 打开一个 terminal, 然后

export _JAVA_AWT_WM_NONREPARENTING=1 再到 terminal 里面启动 idea

如果缩放正常, 就加到系统环境里面

没有bug生效。我感觉是不是 xwayland 的应用都有这个问题?我多试几个看看

export _JAVA_AWT_WM_NONREPARENTING=1 这个是java awt 特有的问题

撒桌面, 怪好看的

manjaro gnome pagewm :joy:

哈哈哈哈,用的我的主题呀

配置都是fork你的,紧跟大神脚步!!! :heart_eyes:

我觉得暂时还是替代不了eaf,emacser应该每个人都有自己的工作流和配置。使用eaf,我可以一个按键,从org里面直接跳转到某个pdf文件的某一页并同时启动搜索“ssss”,我也可以选择pdf某段文字,直接右键调用配置好的翻译工具。这些融合都依赖eaf每个app提供的接口,可以读取当前选中的内容,可以读取当前页码等等。emskin应该暂时还做不到,不过,相信大佬们的实力 :flexed_biceps:

哈哈, 这还是一个宝宝项目呢!

基础功能都还没完善, 怎么可能替代 eaf :joy:

1 个赞

大佬加油 :flexed_biceps:

emskin 已经发布到 aur 仓库, 可以通过

yay -S emskin-bin

安装

1 个赞

yay -S 好像有点问题? install: cannot stat ‘assets/emskin.desktop’: No such file or directory ==> ERROR: A failure occurred in package(). Aborting… → error making: emskin-bin-exit status 4 → Failed to install the following packages. Manual intervention is required: emskin-bin - exit status 4

还有就是发现minecraft可以进游戏,但是转不了视角,大佬知道可能是什么问题吗 :joy:

安装的时候要清理一下本地的缓存, 之前有个包没打对

yay -Scc              # 或:rm -rf ~/.cache/yay/emskin-bin
yay -S emskin-bin

你这是要干撒, emacs 里面跑游戏 :rofl:, 转不了视角,是还有部分wayland 协议没有实现, 去github 提个 issue?