Como evitar que o emacsclient inicie um novo quadro sempre?

8

Eu tenho o Ubuntu 12.04 rodando com o Emacs 24.3. Na inicialização do computador, emacs --daemoné executado e eu modifiquei o parâmetro emacs24.desktoppara tomar emacsclient -c -a ""como exec. No entanto, sempre que tento abrir um arquivo, um novo quadro é aberto toda vez.
Existe uma maneira de fazer o arquivo aparecer em um quadro preexistente como um novo buffer?

Por "abrir um arquivo", quero dizer usando o gerenciador de arquivos da GUI ou o terminal com emacsclient -nc [filename]ou emacsclient -nc -a "" [file].

EDIT : O que parece estar acontecendo é que o emacs está abrindo uma nova "janela do SO" (como no quadro do Emacs) com todos os arquivos; no entanto, sou capaz de acessar todos os buffers no mesmo quadro do emacs. Ainda assim, ter vários quadros do emacs é irritante, mesmo que eu não precise trocá-los. Fechar o quadro manualmente também remove o buffer.

Existe uma maneira de suprimir o comportamento de abrir o novo quadro toda vez?

strNOcat
fonte
Qual é a opção "-nc" que você tem em sua linha de comando. Eu vejo as opções "-nw", "-c", "-n" mas não "-nc" quando o faço emacsclient -help.
Kaushal Modi
-npor no-waitenquanto -cera para criar um novo quadro (eu não percebi que ele criava um novo quadro toda vez ). Sem -c, emacsclientinicia o emacs no -nwmodo por algum motivo.
strNOcat
1
Sim, mas não tenho certeza se -n e -c podem ser mesclados em -nc.
Kaushal Modi 28/09
Dá o mesmo comportamento. Mas sim, isso foi descuidado da minha parte; obrigado.
strNOcat

Respostas:

7

Sua opção incluída -cestá causando isso. De acordo com a página de manual,

-c, --create-frame cria um novo quadro em vez de tentar usar o quadro atual do Emacs.

Remova esta opção do seu comando e o Emacs deve evitar criar um novo quadro (AKA Window).

Andy
fonte
Se eu não usar -c, emacsclientabre emacs no terminal, por algum motivo
strNOcat
Isso é verdade apenas com a opção '-nw, -t, --tty'. Que comando está usando sem '-c' que está abrindo o Emacs no terminal?
Andy
emacsclient path_to_file
strNOcat
2
No meu pc emacsclient filenamesó abre o emacs no terminal se não houver quadro já presente. Se um quadro estiver presente, o buffer será aberto no quadro.
Vamsi 28/09
@Vamsi Ah, você está certo, obrigado. Coisas simples!
strNOcat