Comment rendre emacs vraiment plein écran au démarrage?

9

Je veux qu'emacs soit vraiment maximisé au démarrage.

Il existe des solutions au problème qui font simplement la largeur de la fenêtre emacs de l'écran. Ça ne me suffit pas. Je veux que la fenêtre emacs soit ancrée dans le coin supérieur droit de l'écran, de sorte que lorsque j'y appuie avec une souris, je ferme emacs, pas Firefox ou Krusader ou tout ce qui est maximisé en arrière-plan.

J'ai essayé de le faire avec Kwin - mais pas de chance.

PS J'utilise Kubuntu, et emacs est assez récent 23.2 ou quelque chose comme ça.

Adobe
la source
@user maximisé ou plein écran - que voulez-vous? Votre deuxième paragraphe est un peu vague.
David LeBauer
Il existe des solutions dépendantes du gestionnaire de fenêtres. Quelle WM utilisez-vous? Dans Fluxbox, j'utilise le ~/.fluxbox/appsfichier pour définir des préférences maximisées pour des applications spécifiques.
Daniel Andersson
J'utilise KWM (c'est celui par défaut de KDE). Il a l'option "maximisé" - mais la fenêtre emacs n'est pas vraiment maximisée: si vous appuyez sur "x" dans le coin supérieur droit avec une souris - vous fermerez autre chose - pas emacs.
Adobe

Réponses:

7

J'ai pris ça quelque part sur emacswiki, il y a quelque temps. Notez que je ne l'utilise plus, car je suis passé à dwm pour avoir tout en plein écran, mais cela fonctionnait auparavant.

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

Si vous voulez qu'il s'exécute au démarrage, vous devriez pouvoir ajouter

(fullscreen)

à ton .emacs

EDIT: En relisant votre question, je pense que ce n'est pas ce que vous voulez. Cela ira vraiment en plein écran, pas maximisé: vous n'aurez aucun bouton de fermeture.

Celui-ci devrait faire:

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

Maintenant, c'est directement depuis http://www.emacswiki.org/emacs/FullScreen

Tiago
la source
3

Voici deux façons non Lisp d'obtenir le même résultat:

  1. Alias ​​votre emacscommande emacs -fs. Ajoutez cette ligne de code à votre .bashrcfichier dans votre répertoire personnel:

    alias emacs='emacs -fs'
    

    Personnellement, je n'aime pas cette approche car je ne voudrais pas qu'Emacs démarre tout le temps en plein écran et je voudrais un certain contrôle.

  2. Ma solution: dans Ubuntu, vous pouvez attribuer un raccourci clavier à «plein écran» n'importe quelle fenêtre. Cela semble être l'option la plus pratique et la plus simple. En outre, il a l'avantage que le même raccourci s'applique également à toutes vos applications.

GénéralBecos
la source
+1 Il y a aussi -mm(abréviation de --maximized) qui "maximisera la première image". Les effets de l'utilisation de cette option sont un peu moins "drastiques" que l' -fsoption (la barre de titre Emacs et les panneaux OS restent visibles).
itsjeyd
3

Mettez (w32-send-sys-command ?\xf030) votre .emacsdossier. Je pense que cela résout votre problème.

(fonctionne sous Windows uniquement)

Paulo Tomé
la source
C'est cool, seulement si je travaille sous Linux. Mais encore - parfois, je dois aussi travailler sous Windows. Merci.
Adobe
J'ai oublié de mentionner. Cette solution est uniquement pour Windows.
Paulo Tomé
Oui, je vois la w32chose.
Adobe
1

Si vous souhaitez basculer en plein écran dans emacs avec la touche F11, ajoutez ce qui suit à .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))

Si vous souhaitez que les emacs en plein écran soient très minimes (pas de barre d'outils, de barre de défilement ou de barre de menus, ajoutez également:

(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
la source
0

Je pense qu'emacs respectera les paramètres gconf, vous pouvez donc définir / apps / emacs / maximiser, mais je ne sais pas si cela vous aidera sur Kubuntu - cela vaut la peine d'essayer.

Jaybee
la source
0

J'utilise ce qui suit sur Linux:

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

puis le lier à une clé:

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

Si vous souhaitez commencer au maximum, vous pouvez simplement ajouter un appel my-frame-toggleà la fin de votre fichier .emacs.

Joe Casadonte
la source
Lorsque j'écris votre code, sur mon fichier .emacs. Il montre une erreur d'analyse.
Pratik Singhal
0

J'ai trouvé une solution amusante:

emacs -nw

démarre emacs dans une console - et vous pouvez maximiser la console elle-même!

Adobe
la source