如何在启动时使emacs真正全屏显示?


9

我希望emacs在启动时能真正发挥最大作用。

有一些解决方案,仅使emacs窗口的宽度变为屏幕宽度即可。这对我来说还不够。我希望emacs窗口停靠在屏幕的右上角,以便当我用鼠标按下该窗口时,我将关闭emacs,而不是Firefox或Krusader或在后台最大化的东西。

我试图和Kwin一起做-但是没有运气。

PS我正在使用Kubuntu,而emacs则是23.2或类似版本。


@user最大化或全屏显示-您要哪个?您的第二段有点含糊。
David LeBauer 2011年

有一些依赖于窗口管理器的解决方案。您正在使用哪个WM?在Fluxbox中,我使用该~/.fluxbox/apps文件为特定应用程序设置最大化的首选项。
丹尼尔·安德森

我正在使用KWM(这是KDE的默认设置)。它具有“最大化”选项-但是emacs窗口并未真正最大化:如果您将使用鼠标在右上角按“ x”-您将关闭其他内容-而不是emacs。
Adobe

Answers:


7

前一段时间,我从emacswiki上的某个地方获取了此文件。请注意,我已不再使用它,因为我已切换到dwm以全屏显示所有内容,但是它曾经可以工作。

(defun fullscreen ()
       (interactive)
       (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

如果您希望它在启动时运行,则应该可以添加

(fullscreen)

给你 .emacs

编辑:重新阅读您的问题,我认为这不是您想要的。这将真正变为全屏显示,而不是最大化显示:您将没有任何关闭按钮。

这个应该做:

(defun fullscreen (&optional f)
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))

现在直接来自http://www.emacswiki.org/emacs/FullScreen


3

这是两种实现相同目的的非Lisp方法:

  1. 将您的emacs命令别名为emacs -fs。将以下代码行添加到.bashrc主目录中的文件中:

    alias emacs='emacs -fs'
    

    就我个人而言,我不喜欢这种方法,因为我不希望Emacs一直在全屏模式下启动,并且希望进行一些控制。

  2. 我的解决方案:在Ubuntu中,您可以将键盘快捷方式分配给“全屏”任何窗口。这似乎是最方便,最简单的选择。此外,它的优点是相同的快捷方式也适用于所有应用程序。


+1还有-mm(的简称--maximized),它将“最大化第一帧”。使用此选项的效果比该-fs选项的“戏剧性”少一些(Emacs标题栏和OS面板保持可见)。
itsjeyd 2014年

3

放入(w32-send-sys-command ?\xf030) 您的.emacs文件。我认为这可以解决您的问题。

(仅适用于Windows)


太酷了,尽管我在linux下工作。但仍然-有时我也必须在Windows中工作。谢谢。
Adobe

我忘了提。此解决方案仅适用于Windows。
PauloTomé

是的,我明白了w32
Adobe

1

如果您想使用F11键在emacs中切换全屏显示,请在.emacs中添加以下内容:

;; the following should give fullscreen mode when F11 is depressed
(defun fullscreen ()
 (interactive)
 (set-frame-parameter nil 'fullscreen
              (if (frame-parameter nil 'fullscreen) nil 'fullboth))

如果您希望全屏emacs很小(没有工具栏,滚动条或菜单栏,请添加:

(progn
  (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))  ;; no toolbar
  (menu-bar-mode -1) ;;no menubar
  (scroll-bar-mode -1) ;; no scroll bar
  )
)

0

我认为emacs将尊重gconf设置,因此您可以设置/ apps / emacs / maximize,但不知道这是否对Kubuntu有所帮助-值得一试。


0

我在Linux上使用以下命令:

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (interactive)
    (shell-command "wmctrl -r :ACTIVE: -btoggle,maximized_vert,maximized_horz"))

然后将其绑定到密钥:

(global-set-key [(control f4)] 'my-frame-toggle)

如果要开始最大化,您只需将调用添加到my-frame-toggle.emacs文件的末尾。


当我编写代码时,将其添加到我的.emacs文件中。它显示解析器错误。
Pratik Singhal 2014年

0

我找到了一个有趣的解决方案:

emacs -nw

在控制台中启动emacs-您可以最大化控制台本身!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.