非自由操作系统上 Emacs 24.4 的变化

非自由操作系统上 Emacs 24.4 的变化

有没有办法在 OSX 中以全屏模式使用 Emacs。

我目前正在使用 Emacshttp://emacsforosx.com/

编辑:自 Emacs 版本 24.4 发布以来,这个问题不再相关。请参阅接受的答案。

答案1

该功能已在 Emacs 24.4 中提供。来自 NEWS 文件:

非自由操作系统上 Emacs 24.4 的变化

...

改进了 Mac OS X 上的全屏支持。

支持原生(>= OSX 10.7)和“旧式”全屏。自定义“ns-use-native-fullscreen”以更改样式。对于 >= 10.7,原生是默认设置。

和:

新的命令toggle-frame-fullscreen和分别toggle-frame-maximized绑定到<f11>M-<f10>

答案2

Emacs 的构建通过以下方式分发http://emacsforosx.com不包括全屏选项。

如果你使用自制包管理器,你可以通过以下方式安装支持全屏的 Emacs

brew install emacs --cocoa

然后你需要将 Homebrew 链接到你的目录Emacs.app中的一个:/Applications

ln -s `brew --prefix`/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app

现在,您可以通过以下方式使用全屏模式ns-toggle-fullscreen.

答案3

如果您想保留您的 GNU Emacs 版本,这里有两种可行的经过测试的方法。

Amit 的想法:Emacs:在 Mac OS X 上全屏对于 GNU (Cocoa/Nextstep) Emacs 23:

我正在使用maxframe.el 的修补版本,以及来自 EmacsWiki 页面的以下函数:

(defvar maxframe-maximized-p nil "maxframe is in fullscreen mode")
(defun toggle-maxframe ()
  "Toggle maximized frame"
  (interactive)
  (setq maxframe-maximized-p (not maxframe-maximized-p))
  (cond (maxframe-maximized-p (maximize-frame))
        (t (restore-frame))))
(define-key global-map [(alt return)] 'toggle-maxframe)

不幸的是,这并不能隐藏菜单栏或标题栏。

其他文章建议:

如果您想让 GNU Emacs 全屏显示,您需要做三件事:

  1. 禁用工具栏
    这可以通过执行(在 Emacs 内部)来完成(tool-bar-mode -1)
  2. 禁用菜单栏
    可以通过执行以下命令完成(menu-bar-mode -1)
  3. 进入全屏模式
    你必须执行(set-frame-parameter nil 'fullscreen 'fullboth)

如果您像我一样想要禁用工具栏和菜单栏,并且希望能够通过按键(例如 F11)进入全屏,请将其添加到您的 .emacs 中:

;; F11 = Full Screen
(defun toggle-fullscreen (&optional f)
  (interactive)
  (let ((current-value (frame-parameter nil 'fullscreen)))
    (set-frame-parameter nil 'fullscreen
      (if (equal 'fullboth current-value)
        (if (boundp 'old-fullscreen) old-fullscreen nil)
        (progn (setq old-fullscreen current-value)
          'fullboth)))))
(global-set-key [f11] 'toggle-fullscreen)

;; Disable tool-bar
(tool-bar-mode -1)

;; Disable Menu Bar
(menu-bar-mode -1)

答案4

单击绿色最大化/缩放按钮两次。第一次最大化高度,第二次最大化宽度。

相关内容