Como maximizar meu quadro Emacs na inicialização?


66

Existe uma maneira de maximizar minha janela na inicialização?

Atualmente, eu pressionei Control+ Windows Key+ Upno meu teclado, mas é muito incômodo fazer isso o tempo todo.

Estou usando o Emacs 24.4 no Ubuntu 12.04.


11
Eu não conhecia a combinação de teclas para maximizar o emacs. Obrigado por isso e também a resposta abaixo deu certo!
Prasanna #

De onde foi que você descobriu a combinação <kbd>![Windows Key][oldwinlogo]</kbd>Isto não funciona para mim :-(
Prasanna

Respostas:


71

Eu tenho outro método, que testei com o Emacs 24.3 e 24.4, bem como no Windows e no GNU / Linux. Coloquei o seguinte no meu arquivo init :

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

Acredito que isso foi modificado levemente a partir de uma resposta do StackOverflow que encontrei há um tempo atrás, mas não consigo encontrá-la novamente agora.

Edit: Outro bônus deste método é que ele também se aplica a novos clientes que se conectam ao seu servidor Emacs (por exemplo emacsclient -c).


3
+1 para a resposta precisa. Se eu pudesse aceitar isso como resposta novamente - eu realmente aceitaria!
Prasanna #

11
Eu gosto dessa solução usando emacsclient, mas existem alguns quadros que, ao iniciá-los maximizados, impediriam usá-los corretamente, como o painel de controle ediff , existe uma solução alternativa para isso?
marcanuy

@ marcanuy: Não sei de uma solução, mas vale a pena postar uma nova pergunta para isso.
Scott Weldon

31

Ajuste o ...-frame-alistarquivo no seu init para informar ao Emacs como maximizar o quadro. Você também tem várias opções de como, exatamente, maximizá-lo.

alist opções

Você tem duas ...-frame-alistopções:

  1. default-frame-alist (como na resposta de @Scott Weldon)
  2. initial-frame-alist

Se você usar default-frame-alist, maximizará todos os quadros: o primeiro e os outros que você criar. Pode não ser o que você deseja (ou talvez seja: quem sou eu para julgar?).

Se você usar initial-frame-alist, ele maximizará apenas o quadro criado pelo Emacs na inicialização, mas não tocará nos quadros subsequentes criados por você.

opções de maximização

Para suas opções de maximização, consulte este nó do manual para obter detalhes. A versão curta é que você pode definir o fullscreenparâmetro para:

  • fullwidth (faça o quadro o mais largo possível, não toque na vertical)
  • fullheight (faça o quadro o mais alto possível, não toque na horizontal)
  • fullboth (defina altura e largura para o tamanho da tela)
  • maximized (faça isso, bem, maximizado)

A diferença entre fullbothe maximizedé que você pode redimensionar o primeiro com o mouse, enquanto que com o último não.

exemplo

Portanto, por exemplo, essas linhas 1) criarão um quadro inicial maximizado e 2) criarão quadros de altura total (mas não de largura total) em todos os quadros subsequentes:

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

3
De fato, initial-frame-alisté muito mais útil do que default-frame-alistquando se usa ferramentas como ediff.
Giordano


9

A resposta de @ Constantine já cobre como isso pode ser alcançado modificando seu arquivo init (se você usa o Emacs 24.4).

Se você iniciar o Emacs na linha de comando, no painel ou em um iniciador como o Synapse ou o krunner , poderá especificar a -mmopção (abreviação de --maximized) para obter o mesmo resultado:

emacs -mm

A -mmopção foi introduzida pela primeira vez no Emacs 23.2 , portanto, esta solução não se limita à versão estável mais recente.


O que distingue essa solução de outras sugestões postadas aqui (todas excelentes) é que ela permite que você decida caso a caso se deseja ou não maximizar o quadro do Emacs na inicialização.

Se você deseja uma solução mais permanente, pode configurar um aliaspara o comando mostrado acima adicionando o seguinte ao seu .bashrc:

alias emacs='emacs -mm'

2
Outro benefício desta solução é que o emacs começa já maximizado. As soluções alternativas do arquivo init fazem com que ele mude para maximizado durante a inicialização, o que é meio irritante.
e

11
Para adicionar a esta resposta: emacs -fsinicia o Emacs maximizado para a tela inteira ou maximizado ao máximo.
Teemu Leisti

6

Para iniciar o Emacs maximizado, adicione ao seu arquivo init:

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

Caso você queira ir para tela cheia ou, como dizem agora, modo livre de distração :

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

NOTA : Isso também funciona no Windows.


1

Estou usando o seguinte:

(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)
)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.