É possível fazer a área de eco ao lado do cursor?

12

O problema: achei cansativo mover meus olhos para cima e para baixo de onde meu cursor está para a área de eco inferior.

A questão: é possível fazer a área de eco alocada dinamicamente perto do meu cursor, como dicas de ferramentas? Eu procurei por pacotes, mas não consegui encontrar um. Não acredito que seja uma idéia nova e alguém deve ter feito isso.

Wangii
fonte
E se você repetir várias telas de texto?
wvxvw
@wvxvw, poderia haver um mecanismo de fallback. Eu implementei exatamente isso para casos específicos. Estou curioso para saber se já existe uma solução genérica.
abo-abo
2
É possível se você usar um quadro dedicado . É de um pacote chamado oneonone . Na seção de comentários, está escrito isso 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
Tu Do
1
Intimamente relacionado a esta questão . Essa é sobre a entrada do minibuffer , mas tem uma resposta positiva para que você possa adaptá-la.
Malabarba 16/05

Respostas:

3

A área de eco usa explicitamente a janela do minibuffer, portanto, a menos que isso mude, a resposta é "não, não é possível" (ou, no mínimo, não é muito prático).

Consulte /programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacs

phils
fonte
Mas se eu interceptasse messagepara exibi-lo em uma sobreposição em vez da área de eco?
abo-abo
Claro, se você só quer isso message. Existem muitas outras funções que saem para a área de eco; Não acredito que seja uma questão trivial. De acordo com as perguntas e respostas vinculadas, consulte o manual para ter uma idéia do escopo.
Phs #
1
Observe em particular que existem muitas funções C que ignoram messagee chamam diretamente uma das funções C que implementam mensagens abaixo.
Phd #
É triste. Eu estava pensando em usar uma sobreposição + alguns códigos para redirecionar o messagebuffer.
Wangii
Você pode ter um quadro pequeno que contém apenas uma janela do minibuffer. A única dificuldade é aparecer sempre que a área de eco estiver exibindo alguma coisa.
Malabarba 16/05
5

Como o comentário do @ TuDo indica (e ele pode alterá-lo para uma resposta, se ele quiser, caso em que removerei essa resposta), você pode pelo menos usar um quadro de mini-buffer autônomo e pode posicioná-lo onde quiser.

Uma vantagem sobre a configuração padrão é que você tem apenas um único local para procurar, sempre, as mensagens de saída (área de eco) e a edição de entrada (minibuffer).

Você pode até fazer com que sua posição mude dinamicamente - por exemplo, fique perto de onde está o foco atual da entrada.

O One On One Emacs pode ajudar. Fora da caixa, ele permite que você decida onde colocar o quadro do minibuffer, mas para reposicioná-lo dinamicamente, você precisará fazer um pouco mais.

(O EmacsWiki está desativado no momento, mas você pode fazer o download oneonone.elno MELPA também.)

Desenhou
fonte
Presumivelmente você quer dizer esta página no wiki ? Não tenho certeza, mas seu link não funciona.
Wilfred Hughes
@ WilfredHughes: Obrigado, eu consertei o link.
Drew