È possibile rendere l'area dell'eco accanto al cursore?


12

Il problema: ho scoperto che è stanco spostare i miei occhi su e giù da dove si trova il cursore nell'area dell'eco inferiore.

La domanda: è possibile rendere l'area dell'eco allocata in modo dinamico vicino al mio cursore, come una descrizione comandi? Ho cercato pacchetti ma non sono riuscito a trovarne uno. Non credo sia una nuova idea e qualcuno deve averlo fatto.


E se riecheggi diverse schermate di testo?
wvxvw,

@wvxvw, Potrebbe esserci un meccanismo di fallback. Ho implementato esattamente questo per casi specifici. Sono curioso di sapere se esiste già una soluzione generica.
abo-ABO

2
È possibile se si utilizza una cornice dedicata . Viene da un pacchetto chiamato oneonone . Nella sezione commenti, è scritto questo 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
Tu Do

1
Strettamente correlato a questa domanda . Quello riguarda l' input del minibuffer , ma ha una risposta positiva, quindi potresti essere in grado di adattarlo.
Malabarba,

Risposte:


3

L'area eco utilizza esplicitamente la finestra del minibuffer, quindi a meno che ciò non cambi la risposta è "no, non è possibile" (o almeno non molto pratico).

Fare riferimento a /programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacs


Ma se intercetto messageper visualizzarlo in una sovrapposizione anziché nell'area di eco?
abo-ABO

Certo, se lo vuoi solo per message. Vi sono tuttavia molte altre funzioni che vengono emesse nell'area dell'eco; Non credo che sia un problema banale. Come da Domande e risposte collegate, dai un'occhiata al manuale per avere un'idea dell'ambito.
phils,

1
Nota in particolare che ci sono molte funzioni C che bypassano messagee invece chiamano direttamente una delle funzioni C che implementano la messaggistica sottostante.
phils,

È triste. Stavo pensando di utilizzare un overlay + alcuni codici per reindirizzare il messagebuffer.
wangii,

Puoi avere un piccolo riquadro che contiene solo una finestra del minibuffer. L'unica difficoltà è farlo apparire ogni volta che l'area dell'eco mostra qualcosa.
Malabarba,

5

Come indica il commento di @ TuDo (e può cambiarlo in una risposta se gli piace, nel qual caso rimuoverò questa risposta), puoi almeno usare un telaio per minibuffer autonomo e posizionarlo dove preferisci.

Un vantaggio rispetto all'impostazione predefinita è che hai un solo posto dove cercare, sempre, i messaggi di output (area di eco) e la modifica di input (minibuffer).

È anche possibile che la sua posizione cambi in modo dinamico, ad esempio per essere vicino a dove si trova l'attuale focus di input.

Emacs One On One può aiutarti. Immediatamente, ti consente di decidere dove posizionare il telaio del minibuffer, ma per riposizionarlo in modo dinamico dovrai fare un piccolo extra.

(EmacsWiki è attualmente inattivo, ma è anche possibile scaricare oneonone.elda MELPA.)


Presumibilmente intendi questa pagina sul wiki ? Non ne sono sicuro, ma il tuo link non funziona.
Wilfred Hughes,

@WilfredHughes: grazie, ho corretto il link.
Disegnò
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.