Wie mache ich Emacs beim Start wirklich im Vollbildmodus?

9

Ich möchte, dass Emacs beim Start wirklich maximiert werden.

Es gibt Lösungen für das Problem, bei denen nur die Breite des Emacs-Fensters auf dem Bildschirm angezeigt wird. Das reicht mir nicht. Ich möchte, dass das Emacs-Fenster in der rechten oberen Ecke des Bildschirms angedockt wird, damit ich beim Drücken mit der Maus Emacs schließe, nicht Firefox oder Krusader oder was auch immer im Hintergrund maximiert ist.

Ich habe es mit Kwin versucht - aber kein Glück.

PS Ich benutze Kubuntu und Emacs ist ziemlich frisch 23.2 oder so ähnlich.

Adobe
quelle
@user maximiert oder Vollbild - was willst du? Ihr zweiter Absatz ist etwas vage.
David LeBauer
Es gibt einige Fenstermanager-abhängige Lösungen. Welches WM benutzt du? In Fluxbox verwende ich die ~/.fluxbox/appsDatei, um die maximale Präferenz für bestimmte Anwendungen festzulegen.
Daniel Andersson
Ich verwende KWM (es ist die Standardversion von KDE). Es hat die Option "maximiert" - aber das Emacs-Fenster ist nicht wirklich maximiert: Wenn Sie mit der Maus in der oberen rechten Ecke "x" drücken, schließen Sie etwas anderes - nicht Emacs.
Adobe

Antworten:

7

Ich habe das vor einiger Zeit von irgendwo auf Emacswiki genommen. Beachten Sie, dass ich es nicht mehr benutze, da ich zu dwm gewechselt bin, um alles im Vollbildmodus zu haben, aber es hat früher funktioniert.

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

Wenn Sie möchten, dass es beim Start ausgeführt wird, sollten Sie hinzufügen können

(fullscreen)

zu deinem .emacs

EDIT: Wenn Sie Ihre Frage noch einmal lesen, denke ich, dass dies nicht das ist, was Sie wollen. Dies wird wirklich im Vollbildmodus angezeigt, nicht maximiert: Sie haben keine Schaltfläche zum Schließen.

Dieser sollte tun:

(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)))

Jetzt ist es direkt von http://www.emacswiki.org/emacs/FullScreen

Tiago
quelle
3

Hier sind zwei Nicht-Lisp-Möglichkeiten, um dasselbe zu erreichen:

  1. Alias ​​dein emacsBefehl an emacs -fs. Fügen Sie diese Codezeile zu Ihrer .bashrcDatei in Ihrem Home-Verzeichnis hinzu:

    alias emacs='emacs -fs'
    

    Persönlich mag ich diesen Ansatz nicht, weil ich nicht möchte, dass Emacs die ganze Zeit im Vollbildmodus startet und eine gewisse Kontrolle wünscht.

  2. Meine Lösung: In Ubuntu können Sie jedem Fenster im Vollbildmodus eine Tastenkombination zuweisen. Dies scheint die bequemste und einfachste Option zu sein. Außerdem hat es den Vorteil, dass dieselbe Verknüpfung auch für alle Ihre Anwendungen gilt.

GeneralBecos
quelle
+1 Es gibt auch -mm(kurz für --maximized), die "den ersten Frame maximieren". Die Auswirkungen dieser Option sind etwas weniger "drastisch" als bei der -fsOption (Emacs-Titelleiste und Betriebssystemfenster bleiben sichtbar).
Itsjeyd
3

Legen Sie (w32-send-sys-command ?\xf030) Ihre .emacsDatei auf. Ich denke, es löst Ihr Problem.

(funktioniert nur unter Windows)

Paulo Tomé
quelle
Das ist cool, nur obwohl ich unter Linux arbeite. Aber trotzdem - manchmal muss ich auch in Windows arbeiten. Vielen Dank.
Adobe
Ich vergaß zu erwähnen. Diese Lösung ist nur für Windows.
Paulo Tomé
Ja, ich sehe das w32Ding.
Adobe
1

Wenn Sie den Vollbildmodus in Emacs mit der Taste F11 umschalten möchten, fügen Sie .emacs Folgendes hinzu:

;; 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))

Wenn Sie möchten, dass die Vollbild-Emacs sehr minimal sind (keine Symbolleiste, Bildlaufleiste oder Menüleiste), fügen Sie außerdem Folgendes hinzu:

(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
  )
)
David LeBauer
quelle
0

Ich denke, Emacs werden die Gconf-Einstellungen respektieren, also könnten Sie / apps / emacs / maximieren, aber Sie wissen nicht, ob dies auf Kubuntu hilft - einen Versuch wert.

Jaybee
quelle
0

Ich benutze folgendes unter Linux:

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

und binden Sie es dann an einen Schlüssel:

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

Wenn Sie maximiert beginnen möchten, können Sie my-frame-toggleam Ende Ihrer .emacs-Datei einfach einen Aufruf hinzufügen .

Joe Casadonte
quelle
Wenn ich Ihren Code in meine .emacs-Datei schreibe. Es zeigt Parserfehler.
Pratik Singhal
0

Ich habe eine lustige Lösung gefunden:

emacs -nw

Startet Emacs in einer Konsole - und Sie können die Konsole selbst maximieren!

Adobe
quelle