macos - 如何在 OSX 上的 GNU Emacs 中获得透明窗口?

标签 macos emacs terminal org-mode aquamacs

我在 OSX Mavericks 中使用 GNU Emacs,我试图使背景透明,但文本不透明。

有一个简单的方法可以使整个框架透明:

(set-frame-parameter (selected-frame) 'alpha '(85 85))
(add-to-list 'default-frame-alist '(alpha 85 85))

但这使得整个框架透明/半透明,包括文本。我只希望框架背景是透明的,文本是纯黑色的。 Emacs Wiki 上的某人说这样的实现必须是特定于操作系统的。那么,有人知道如何在 OSX 上执行此操作吗?

根据所需的设置,Emacs 将如下所示:
truly transparent Emacs window .

同样,我希望窗口 100% 透明,前景文本 100% 不透明,并且它应该在 Emacs 的全屏模式下工作。

最佳答案

以下是一些屏幕截图和所使用的不同 .emacs 设置。我使用的是 2014 年 2 月 16 日构建的 Emacs Trunk --with-ns,操作系统是 OSX Snow Leopard 10.6.8。

<小时/>

设置#1:

(set-frame-parameter (selected-frame) 'alpha '(85 85))

(add-to-list 'default-frame-alist '(alpha 85 85))

(set-face-attribute 'default nil :background "black"
  :foreground "white" :font "Courier" :height 180)

Example

<小时/>

设置#2:

(set-frame-parameter (selected-frame) 'alpha '(85 85))

(add-to-list 'default-frame-alist '(alpha 85 85))

(set-face-attribute 'default nil :background "white"
  :foreground "black" :font "Courier" :height 180)

Example

<小时/>

设置#3:

(set-frame-parameter (selected-frame) 'alpha '(75 75))

(add-to-list 'default-frame-alist '(alpha 75 75))

(set-face-attribute 'default nil :background "white"
    :foreground "black" :font "Courier" :height 180)

Example

<小时/>

设置#4:

(set-frame-parameter (selected-frame) 'alpha '(0 0))

(add-to-list 'default-frame-alist '(alpha 0 0))

(set-face-attribute 'default nil :background "white"
    :foreground "black" :font "Courier" :height 180)

Example

<小时/>

编辑(2014 年 2 月 24 日):以下是相关主题的链接,其中 Aquamacs 的首席开发人员(即 David Reitter)建议修改 nsterm.m作为潜在的解决方案:http://comments.gmane.org/gmane.emacs.aquamacs.devel/836 -- “至少,更改将是 ns_clear_framens_clear_frame_area。您可以尝试 *,而不是用背景颜色填充背景> 设置 NSColor 对象的 alpha 分量,使其在窗口的实际背景中复制为透明的 * 。因此,您可以将框架背景设置为透明。这并不能解决框架 UI 元素,...” [换句话说,潜在的解决方案可能需要在构建自定义版本的 Emacs 之前修改源代码。]

关于macos - 如何在 OSX 上的 GNU Emacs 中获得透明窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946382/

相关文章:

python - 在 Windows 和 Mac OS 中使用 Python 中的默认 OS 应用程序打开文档

java - windows中的bat文件转换为osx中的自动化脚本

python - 为什么 Emacs 将我的文字 Unicode 字符串弄错了?

dynamic - 当 "parent"缓冲区具有我绑定(bind)的同名局部变量时,为什么 with-temp-buffer 中的代码会提示 void 变量?

javascript - 从紧缩输出中找到匹配序列并在终端中打印

powershell - Windows 相当于 efibootmgr?

终端 : how to signify end of for loop? 中的 Python

swift - 在 Swift 核心数据应用程序中的哪里添加 `addPersistentStoreWithType:configuration:URL:options:error:`?

macos - 随着时间的推移,我的 OS X 应用程序慢慢消耗越来越多的内存,我该如何调试并找到原因?

emacs - 80 列后 Emacs 中的背景颜色不同?