Ligne monomode pour toutes les fenêtres


9

Est-il possible d'avoir une seule ligne de mode (parfois appelée "barre d'état") pour toutes les fenêtres?

Je voudrais que cette ligne monomode affiche des informations sur le tampon actuellement sélectionné.


2
Peut-être pourriez-vous emprunter le concept dans le fil joint et créer une fenêtre dédiée au bas de chaque cadre, qui n'affiche qu'une ligne de mode personnalisée? emacs.stackexchange.com/questions/7697/…
— lawlist

Vous voulez sûrement parler de fenêtres, pas de cadres?
— abo-abo

Bonne prise. Oui, je veux dire des fenêtres.
— rgtk

Réponses:


8

Je n'ai pas de solution pour une seule modeline, mais voici deux solutions alternatives possibles:

1. Rendez uniquement la ligne de mode dans la fenêtre active:

Si vous utilisez Powerline, vous pouvez envelopper votre format de ligne de mode dans:

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

puis changez le mode-line-inactivevisage pour qu'il se mélange avec votre arrière-plan mais sépare toujours les tampons avec:

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

Cela ressemblera à ceci:

entrez la description de l'image ici

2. Utilisez le frame-title-format

Votre frame-title-formatdétermine ce qui est affiché sur le dessus de votre cadre lors de l'exécution dans une interface graphique.

Définissez le frame-title-format' like you would yourformat de ligne de mode et définissez votre format de ligne de mode sur quelque chose de vierge.


4

J'ai finalement réussi cela en piratant emacs. Démo

Vous pouvez obtenir le code source sur https://github.com/amosbird/emacs/tree/onemodeline . Fondamentalement, il utilise la ligne d'en-tête de la mini-fenêtre pour rendre la modélisation actuelle du tampon.


Est-ce que cela fonctionne / fonctionne toujours avec emacs 26.1?
— rien333

@ rien333 Ça devrait. Mais cette méthode est en effet très fragile. Il existe toujours une logique codée en dur qui nécessite une mini-fenêtre sur une seule ligne. Mais je ne pouvais pas tous les trouver.
— Amos
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.