macOS 下全屏状态有奇怪的黑色边框

image

白色主题下的截图看得更清楚一点。有没有类似的情况的

系统 10.11.6 Emacs 版本 25.2

(setq default-frame-alist '((tool-bar-lines . 0)
                         (vertical-scroll-bars . nil)
                         (width . 100)
                         (height . 40)
                         (internal-border-width . 0)))

emacs -Q / open -a Emacs --args -Q 下有同样的问题吗?

用命令 emacs-version 贴出完整的版本信息,Mac 下的 Emacs 不止一种。

emacs -Q 同样有问题。

复现:emacs -Q 后直接全屏。

emacs-version:

GNU Emacs 25.2.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version 10.11.6 (Build 15G1611)) of 2017-08-10

我用的是emacs-plus homebrew 打包版的

看起来官方的 Emacs 是有这个现象,Emacs Mac Port 没有:

~ $ open -n -a Emacs --args -Q -f version -f toggle-frame-fullscreen
~ $ open -n -a EmacsMac --args -Q -f version -f toggle-frame-fullscreen

自古以来就这样了。

Emacs 虽然有了 GUI,但是在调整窗口大小的时候,它还是表现得更终端一样,以字符为单位。不管怎么调整,都不会出现半行/列字的情况。

大多数时候,适应行列和适应屏幕是矛盾的,所以就有了黑边(也就是空隙 )。

Mac Port 版本能完全填充屏幕,是因为它把边框空隙"转嫁"到 GUI 内部了,用的是障眼法。iTerm2 也是这么做的:

tmux-inner-border

全屏之后,红线框(我画的)跟真实边框之间的距离会边进一步加大(或者减小,主要看行列数跟屏幕大小的相差多少)。

2 个赞