Emacs最近实现了真·背景透明

我用的是 Mac,使用 Emacs Mac Port,请问该如何设置“仅仅背景透明呢”?

我使用(set-frame-parameter nil 'alpha-background 80)没有效果呀,必须要29版本的emacs吗?

1 个赞

试了下:(MacOS with Emacs-plus@29)

(set-frame-parameter nil 'alpha 0.9)

2 个赞

这个是窗口整体的透明,如果透明程度高的话,连文字内容都会看不清楚。

而我要的是类似 alpha-background 的功能,即本贴的主题 “真·背景透明”

我知道 emacs 29 加入了 alpha-background。

我想知道在 29 版本之前,Emacs Mac Port 有没有自己的实现?

已经升级到29了,不太清楚之前的版本。确实如你所说,这么设,透明度高的话,字体本身也受影响。

这么设:

(set-frame-parameter nil 'alpha-background 80)

Emacs-plus@29 也不起作用。

好的,感谢反馈~

macOS 的真透明有眉目了:

  1. 邮件组讨论:macOS (Cocoa) alpha-background
  2. 红迪讨论: https://www.reddit.com/r/emacs/comments/19ev3ur
  3. 作者的 ns-alpha-background 分支:GitHub - jonrubens/emacs at ns-alpha-background
  4. 我从 3 提取的 patch (对应分支里的 9b436cc): ns-alpha-background-2024-1-25-9b436cc .patch - Pastebin.com

作者的贴图:

可以配合jcs大佬的transwin 进行连续调整透明度:

(use-package transwin
  :config
  (setq transwin-delta-alpha 5)
  (setq transwin-parameter-alpha 'alpha-background)
  :bind
  ("C-M-=" . transwin-inc)
  ("C-M--" . transwin-dec)
  ("C-M-0" . transwin-toggle))
12 个赞

不错,已用上

1 个赞

这个合并到上游了吗?或者有没有合并的计划?

还没有。目前老风扇提了修改意见(签FSF + 代码风格),可以看上面邮件组链接。我觉得老风扇是欢迎这个贡献的。

看了下邮件细节,果然如此。可以好好修改下合入上游

建议看他的 repo (链接也在上边),比邮件里已经提到的三个版本 patch 都要更新。

已经用上了,非常感谢作者,作者是边学边做的。希望后面毛玻璃效果也加入

1 个赞

最新的 master 好像不能正确应用这个 patch 了

我修改了下,最新的 emacs 30 可以用 .emacs.d/patches/ns-alpha-background.patch at main · LuciusChen/.emacs.d · GitHub

2 个赞

想请教一下道友们,在透明后有没有什么办法让 Emacs 透出壁纸来,我目前使用 KDE ,只要 Emacs 下有其他窗口,就无法透过 Emacs 看壁纸了。

那是

那是“其他窗口”不透明导致看不到壁纸,这个问题跟emacs无关吧

我归因确实错了

emacs@31 最新代码变了,改了下 patch。

1 个赞

我用master分支的最新代码,没打你上面的patch,就可以设置背景透明。请问这个patch的作用是什么?

(set-frame-parameter nil 'alpha 0.90)

参考 Emacs最近实现了真·背景透明 - #67,来自 Deeson