Comment maximiser mon cadre Emacs au démarrage?


66

Y a-t-il un moyen de maximiser ma fenêtre au démarrage?

Actuellement, je tape Control+ Windows Key+ Upsur mon clavier mais c'est très gênant de le faire à chaque fois.

J'utilise Emacs 24.4 sur Ubuntu 12.04.


1
Je ne connaissais pas la combinaison de touches pour optimiser emacs. Merci pour cela et aussi la réponse ci-dessous a fonctionné!
Prasanna

D'où avez-vous découvert la combinaison <kbd>![Windows Key][oldwinlogo]</kbd>Cela ne fonctionne pas pour moi :-(
Prasanna

Réponses:


71

J'ai une autre méthode, que j'ai testée avec Emacs 24.3 et 24.4, ainsi que sous Windows et GNU / Linux. J'ai placé ce qui suit dans mon fichier d'initialisation :

(add-to-list 'default-frame-alist '(fullscreen . maximized))

Je crois que cela a été légèrement modifié par une réponse StackOverflow que j'ai trouvée il y a quelque temps, mais je ne semble pas pouvoir le retrouver maintenant.

Edit: Un autre avantage de cette méthode est qu'elle s'applique également aux nouveaux clients qui se connectent à votre serveur Emacs (avec par exemple emacsclient -c).


3
+1 pour la réponse précise. Si je pouvais accepter cela comme réponse, je le ferais vraiment!
Prasanna

1
J'aime utiliser cette solution emacsclient, mais il y a des images que leur démarrage maximisé empêcherait de les utiliser correctement, comme le panneau de configuration ediff. Existe -t-il une solution de contournement?
marcanuy

@marcanuy: Je ne connais pas de solution, mais il vaudrait peut-être la peine de poser une nouvelle question à ce sujet.
Scott Weldon

31

Ajustez le ...-frame-alistdans votre fichier init pour dire à Emacs comment maximiser le cadre. Vous avez également plusieurs options pour savoir comment, exactement, le maximiser.

alist Les options

Vous avez deux ...-frame-alistoptions:

  1. default-frame-alist (comme dans la réponse de @Scott Weldon)
  2. initial-frame-alist

Si vous utilisez default-frame-alist, tous les cadres seront maximisés : le premier et tous les autres que vous créez. Ce n'est peut-être pas ce que vous voulez (ou peut-être est-ce que je dois juger?).

Si vous l'utilisez initial-frame-alist, cela maximisera uniquement le cadre créé par Emacs au démarrage, mais ne touchera aucun autre cadre que vous créerez.

options de maximisation

Pour vos options de maximisation, voir ce nœud du manuel pour plus de détails. La version courte est que vous pouvez définir le fullscreenparamètre sur:

  • fullwidth (élargissez le cadre au maximum, ne touchez pas la verticale)
  • fullheight (faites le cadre aussi grand que possible, ne touchez pas l'horizontale)
  • fullboth (régler la hauteur et la largeur à la taille de l'écran)
  • maximized (le faire, bien, maximisé)

La différence entre fullbothet maximizedest que vous pouvez redimensionner le premier avec la souris, alors que vous ne pouvez pas avec le second.

exemple

Ainsi, par exemple, ces lignes 1) créeront une image initiale maximisée et 2) créeront des images de hauteur maximale (mais pas de largeur totale) sur chaque image suivante:

(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(add-to-list 'default-frame-alist '(fullscreen . fullheight))

3
En effet, initial-frame-alistc'est beaucoup plus utile que default-frame-alistlorsque l'on utilise des outils comme ediff.
Giordano


9

@ La réponse de Constantine couvre déjà comment cela peut être réalisé en modifiant votre fichier init (si vous utilisez Emacs 24.4).

Si vous démarrez Emacs à partir de la ligne de commande, du tiret ou d'un programme de lancement tel que Synapse ou krunner , vous pouvez spécifier l' -mmoption (raccourci pour --maximized) pour obtenir le même résultat:

emacs -mm

Cette -mmoption a été introduite pour la première fois dans Emacs 23.2 . Cette solution ne se limite donc pas à la dernière version stable.


Ce qui distingue cette solution des autres suggestions publiées ici (qui sont toutes excellentes) est qu’elle vous permet de décider au cas par cas si vous souhaitez maximiser le cadre Emacs au démarrage ou non.

Si vous souhaitez une solution plus permanente, vous pouvez configurer une aliascommande pour la commande ci-dessus en ajoutant ce qui suit à votre .bashrc:

alias emacs='emacs -mm'

2
Un autre avantage de cette solution est que les démarrages emacs sont déjà maximisés. Les solutions de contournement du fichier Init le font passer au maximum lors du démarrage, ce qui est assez gênant.
et le

1
Pour ajouter à cette réponse: emacs -fsdémarre Emacs maximisé en plein écran, ou maximisé au maximum.
Teemu Leisti

6

Pour démarrer Emacs maximisé, ajoutez à votre fichier d'initialisation:

;; Start maximised (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-maximized t)

Si vous souhaitez passer en plein écran ou, comme on dit maintenant, en mode sans distraction :

;; Start fullscreen (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-fullscreen t)

REMARQUE : cela fonctionne aussi sous Windows.


1

J'utilise les éléments suivants:

(when (eq system-type 'gnu/linux)
  (defun x11-maximize-frame ()
    "Maximize the current frame (to full screen)"
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
  (run-with-idle-timer 0.01 nil 'x11-maximize-frame)
  )

(when (eq system-type 'windows-nt)
  (w32-send-sys-command 61488)
)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.