我将所有框架名称设置为(set-frame-name)
,后跟(toggle-frame-maximized)
[问题的根本原因],并且名称后面都有-- (171 x 55)
(看起来像根据框架大小而变化)。它不会影响我的任何函数通过短名称调用框架,但它减少了我使用特殊名称使框架看起来很好的努力。我尝试过frame-title-format
几种不同的方式,包括nil
,但似乎没有任何影响 - 来自wiki的页面对此问题的帮助不大:http://www.emacswiki.org/emacs/FrameTitle我几周前使用Emacs Trunk构建--with-ns
- 版本24.3.50(9.0)。框架标题中显示的变量为:(frame-height frame)
和(frame-width frame)
。以下是一个非常棒的诊断功能:http://blog.andy.glew.ca/2012_10_02_archive.html
(defun print-frame-info ()
(interactive)
(message "%s"
(mapcar
(lambda (frame) "print frame"
(reduce 'concat
(mapcar (lambda (s) (format "%s" s))
(list
"TITLE=" (frame-parameter frame 'title) "\n"
" NAME=" (frame-parameter frame 'name) "\n"
" explicit-name=" (frame-parameter frame 'explicit-name) "\n"
" display=" (frame-parameter frame 'display) "\n"
" frame-height X frame-width=" (frame-height frame) "x" (frame-width frame) "\n"
" frame-pixel-height X frame-pixel-width=" (frame-pixel-height frame) "x" (frame-pixel-width frame) "\n"
" visibility=" (frame-parameter frame 'visibility) "\n"
)
)
)
)
(frame-list)
)
)
)
有关如何解决此问题的任何想法,将不胜感激。
答案 0 :(得分:0)
编辑:我在2013年8月1日向Emacs小组提交的有关此问题的错误报告刚刚在主干中修复 - 错误#15005现已关闭 - {{1今天早上(2013年8月2日)我建立了一个新的Emacs Trunk --with-ns,我很高兴地确认这个问题确实已经解决了。我的答案中的解决方法不再需要了。
暂时使用的上述解决方法,等待上述错误修复:
这是一个被黑客攻击的解决方案 - 如果有人有更好的解决方案,请告诉我。使用非黑客攻击解决方案,在调用bug#15005: 24.3.50; toggle-frame-maximized -- frame-title "-- (frame-width x frame-height)"
之前调用toggle-frame-maximized
可以解决初始问题 - 但是,只要帧最小化和/或再次最大化,问题就会立即返回。这个hack解决了这个问题,但是仍然可以看到一瞬间帧在功能运行时被重置为默认状态。我不确定何时引入set-frame-name
,但它存在于Trunk的开发者版本中。我向Emacs团队提交了一份关于Emacs Trunk最新版本的错误报告。
toggle-frame-maximized