Como tornar o emacs verdadeiramente em tela cheia na inicialização?

9

Eu quero que o emacs seja realmente maximizado na inicialização.

Existem soluções para o problema que apenas fazem a largura da janela do emacs na tela. Isso não é suficiente para mim. Eu quero que a janela do emacs seja encaixada no canto superior direito da tela, de modo que quando eu pressionar lá com o mouse, eu feche o emacs, não o Firefox ou o Krusader ou o que estiver maximizado em segundo plano.

Eu tentei fazer isso com o Kwin - mas sem sorte.

P.S. Eu estou usando o Kubuntu, e o emacs é um novo 23.2 ou algo assim.

    
por Adobe 08.06.2011 / 09:00

7 respostas

7

Eu peguei isso de algum lugar no emacswiki, algum tempo atrás. Note que eu não uso mais, já mudei para o dwm para ter tudo em tela cheia, mas costumava funcionar.

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

Se você quer que ele seja executado na inicialização, você deve ser capaz de adicionar

(fullscreen)

para o seu .emacs

EDIT: Relendo sua pergunta, acho que não é isso que você quer. Isso vai realmente em tela cheia, não maximizado: você não terá nenhum botão próximo.

Este deve ser feito:

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

Agora, é diretamente do link

    
por 08.06.2011 / 16:25
3

Coloque (w32-send-sys-command ?\xf030) no seu arquivo .emacs . Eu acho que isso resolve o seu problema.

(funciona apenas no Windows)

    
por 24.05.2013 / 17:08
2

Aqui estão duas formas não-Lisp para alcançar o mesmo:

  1. Alias seu comando emacs para emacs -fs . Adicione esta linha de código ao seu arquivo .bashrc em seu diretório pessoal:

    alias emacs='emacs -fs'
    

    Pessoalmente, eu não gosto dessa abordagem porque eu não quero que o Emacs seja iniciado em tela cheia o tempo todo e gostaria de ter algum controle.

  2. Minha solução: no Ubuntu, você pode atribuir um atalho de teclado a uma tela inteira em qualquer janela. Esta parece ser a opção mais conveniente e simples. Além disso, tem a vantagem de o mesmo atalho também se aplicar a todas as suas aplicações.

por 09.06.2011 / 23:23
1

Se você quiser alternar a tela cheia no emacs com a tecla F11, adicione o seguinte a .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))

Se você quiser que o emacs em tela cheia seja mínimo (sem barra de ferramentas, barra de rolagem ou barra de menus, adicione também:

(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
  )
)
    
por 08.06.2011 / 22:06
0

Eu acho que o emacs irá respeitar as configurações do gconf, então você pode definir / apps / emacs / maximize, mas não sei se isso vai ajudar no Kubuntu - vale a pena tentar.

    
por 08.06.2011 / 17:46
0

Eu uso o seguinte no Linux:

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

e, em seguida, vinculá-lo a uma chave:

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

Se você quiser começar maximizado, basta adicionar uma chamada para my-frame-toggle ao final do arquivo .emacs.

    
por 12.06.2011 / 13:05
0

Encontrei uma solução engraçada:

emacs -nw

inicia o emacs em um console - e você pode maximizar o próprio console!

    
por 22.07.2011 / 13:20