Linea in modalità singola per tutte le finestre


9

È possibile avere solo una linea di modalità (a volte denominata "barra di stato") per tutte le finestre?

Vorrei che questa riga in modalità singola mostrasse informazioni sul buffer attualmente selezionato.


2
Forse potresti prendere in prestito il concetto nel thread allegato e creare una finestra dedicata nella parte inferiore di ogni frame, che mostra solo una linea di modalità personalizzata? emacs.stackexchange.com/questions/7697/…
elenco delle leggi

Sicuramente intendi finestre, non cornici?
abo-ABO

Buona pesca. Sì, intendo windows.
RTK

Risposte:


8

Non ho una soluzione per una singola modeline, ma qui ci sono due possibili soluzioni alternative:

1. Esegui il rendering solo della riga della modalità nella finestra attiva:

Se si utilizza powerline, è possibile racchiudere il formato della modalità in:

((:eval (when (powerline-selected-window-active) ...)))

quindi cambia la mode-line-inactivefaccia in modo che si fonda con lo sfondo ma separa comunque i buffer con:

(set-face-attribute 'mode-line-inactive nil
                    :underline t
                    :background (face-background 'default))

Questo sarà simile al seguente:

inserisci qui la descrizione dell'immagine

2. Utilizzare il frame-title-format

I suoi frame-title-formatdetermina ciò che viene mostrano sulla parte superiore del telaio durante l'esecuzione in una GUI.

Imposta il frame-title-format' like you would yourmode-line-format` e imposta il tuo mode-line-format su qualcosa di vuoto.


4

Alla fine l'ho raggiunto hackerando emacs. dimostrazione

Puoi ottenere il codice sorgente da https://github.com/amosbird/emacs/tree/onemodeline . Fondamentalmente usa l'intestazione della mini-finestra per rendere la modeline del buffer corrente.


Funziona ancora / funziona con emacs 26.1?
rien333,

@ rien333 Dovrebbe. Ma questo metodo è davvero molto fragile. Esistono ancora logiche hardcoded che richiedono che la mini finestra sia una riga. Tuttavia non sono riuscito a trovarli tutti.
Amos,
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.