Emacs em tela cheia no OSX

12

Existe alguma maneira de usar o Emacs no modo de tela cheia no OSX.

Atualmente, estou usando o Emacs em http://emacsforosx.com/

Edit : Esta questão não é mais relevante desde o lançamento do Emacs versão 24.4. Por favor, veja a resposta aceita.

licorna
fonte
1
Bem, se você acabou de acessar o emacs no terminal, poderá fazer a janela do terminal em tela cheia.
Billjk

Respostas:

9

Esse recurso está presente no Emacs 24.4. No arquivo NEWS:

Alterações no Emacs 24.4 em sistemas operacionais não livres

...

Suporte aprimorado para tela cheia no Mac OS X.

Ambos são suportados em tela cheia nativa (> = OSX 10.7) e "estilo antigo". Personalize `ns-use-native-fullscreen 'para mudar de estilo. Para> = 10.7 nativo é o padrão.

E:

Novos comandos toggle-frame-fullscreene toggle-frame-maximized, vinculados a <f11>e M-<f10>, respectivamente.

legoscia
fonte
1
Como autor original do maxframe.el, apoio totalmente esta resposta.
Ryan McGeary
1
Obrigado. toggle-frame-fullscreenajudou a sair do estado de tela cheia em uma área de trabalho separada, onde nada mais óbvio seria - nenhum ícone de janela fechada na área de trabalho criada, por exemplo.
kjhughes
10

A compilação do Emacs distribuída via http://emacsforosx.com não inclui a opção de tela cheia.

Se você usar o gerenciador de pacotes Homebrew , poderá instalar o Emacs com suporte para tela cheia via

brew install emacs --cocoa

Você desejará vincular o Homebrew's Emacs.appa um no seu /Applicationsdiretório:

ln -s `brew --prefix`/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app

Agora você poderá usar o modo de tela cheia via ns-toggle-fullscreen.

andrewsardone
fonte
2
fwiw, esta resposta não é mais aplicável ao emacs 24+, consulte superuser.com/a/599029/78325 para obter uma resposta mais recente.
Aaron Jensen
4

Se você deseja manter sua versão do GNU Emacs, aqui estão duas possíveis abordagens testadas.

Dos pensamentos de Amit: Emacs: tela cheia no Mac OS X para GNU (Cocoa / Nextstep) Emacs 23:

Estou usando uma versão corrigida do maxframe.el e esta função da página do EmacsWiki:

(defvar maxframe-maximized-p nil "maxframe is in fullscreen mode")
(defun toggle-maxframe ()
  "Toggle maximized frame"
  (interactive)
  (setq maxframe-maximized-p (not maxframe-maximized-p))
  (cond (maxframe-maximized-p (maximize-frame))
        (t (restore-frame))))
(define-key global-map [(alt return)] 'toggle-maxframe)

Infelizmente, isso não oculta a barra de menus ou a barra de título.

Outro artigo recomenda:

Se você deseja tornar o GNU Emacs em tela cheia, há três coisas que você deve fazer:

  1. Desativar barra de ferramentas
    Isso pode ser realizado executando (dentro do Emacs)(tool-bar-mode -1)
  2. Desativar barra de menus
    Isso pode ser feito executando(menu-bar-mode -1)
  3. Ir para o modo de tela cheia
    Você deve executar(set-frame-parameter nil 'fullscreen 'fullboth)

Se você deseja desativar sempre a barra de ferramentas e a barra de menus, como eu, e deseja poder ir para a tela cheia com um pressionamento de tecla (F11, por exemplo), adicione-o ao seu .emacs:

;; F11 = Full Screen
(defun toggle-fullscreen (&optional f)
  (interactive)
  (let ((current-value (frame-parameter nil 'fullscreen)))
    (set-frame-parameter nil 'fullscreen
      (if (equal 'fullboth current-value)
        (if (boundp 'old-fullscreen) old-fullscreen nil)
        (progn (setq old-fullscreen current-value)
          'fullboth)))))
(global-set-key [f11] 'toggle-fullscreen)

;; Disable tool-bar
(tool-bar-mode -1)

;; Disable Menu Bar
(menu-bar-mode -1)
harrymc
fonte
3
Isso parece fornecer uma tela maximizada, não uma tela cheia, se você entende o que quero dizer.
precisa saber é
Seu segundo artigo não é específico para o Mac OS X e foi escrito por um desenvolvedor Debian, inclui um bug de foco.
Tamara Wijsman
@harrymc: Felizmente me deparei aqui, porque você cometeu um erro de digitação atrás do meu nome. O bug do foco está em uma função chamada pelo seu script e, portanto, não pode ser corrigida no próprio script.
Tamara Wijsman
2

Eu fiz isso com sucesso no passado usando este conjunto de comandos:

Tela cheia verdadeira para a construção de cacau no Emacs 23

Este garfo possui patches para uma tela cheia verdadeira e funciona maravilhosamente.

git clone git://github.com/typester/emacs.git
cd emacs
./configure --with-ns
make bootstrap
make install
mv nextstep/Emacs.app /Applications

Em seguida, você pode simplesmente definir uma chave global e usá-la:

(global-set-key (kbd "M-RET") 'ns-toggle-fullscreen)

M-RET traduz para Alt+ Return. Pode ser necessário instalar o git com antecedência ...

Como alternativa, você pode encontrar alguns binários antigos aqui, incluindo o patch, para que você só precise definir a chave global; embora eu realmente desaconselhasse baixar os binários de outra pessoa, eles são antigos e não podem ser confiáveis ​​...


Se você possui / instala o homebrew , é possível compilar uma versão de março de 2012 que permita o suporte em tela cheia:

brew install https://gist.github.com/raw/1946398/e7bbb52a4fe3ae0060e65df3d4a7462730ddc822/emacs.rb --force --HEAD --cocoa --use-git-head

Encontrei isso no EmacsWiki: Tela Cheia - Mac OS X - Fazendo o patch do binário .

Tamara Wijsman
fonte
1

Clique no verde maximizar / ampliar duas vezes. A primeira vez que maximiza a altura, o segundo clique maximiza a largura.

Doug Harris
fonte
1

Se você executar o emacs em um terminal, obtenha a nova versão do iTerm , ele possui o modo "Tela cheia".

Steve Lianoglou
fonte
0

Embora o suporte de tela cheia tenha sido adicionado à versão NextStep (Cocoa) do Emacs várias vezes, ele não é aceito upstream, portanto, as versões baunilha do Emacs não o possuem. Você pode encontrar o patch online e aplicá-lo você mesmo.

Na minha opinião, a opção mais viável é usar o iTerm (ou Apple Terminal no OS X 10.7) no modo de tela cheia com a versão do console do emacs. Você pode criar um alias para /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

marcha
fonte