Comment mettre en surbrillance la ligne actuelle uniquement dans la fenêtre sélectionnée?

12

Q : existe-t-il un moyen de hl-line-modemettre en surbrillance la ligne actuelle uniquement dans la fenêtre sélectionnée?

Lorsque j'ai plusieurs fenêtres affichant des tampons avec activé hl-line-mode , il est difficile de dire, en un coup d'œil, quelle fenêtre est actuelle.

J'ai la variable cursor-in-non-selected-windowsdéfinie pour nilafficher le curseur uniquement dans la fenêtre actuelle, mais ce repère visuel est submergé par les lignes en surbrillance dans les fenêtres.

Existe-t-il un paramètre similaire pour me permettre d' hl-line-modeafficher la ligne en surbrillance uniquement dans la fenêtre actuelle? Encore mieux, existe-t-il un moyen de donner aux lignes en surbrillance un visage différent lorsqu'elles sont dans des fenêtres inactives (analogues à mode-line-inactive)?

PS: oui, je peux regarder la ligne de mode pour savoir quelle fenêtre est active, mais cela me détourne de ce que je fais et brise ma concentration.

Dan
la source
Il semble que si vous activez le mode hl-line avec global-hl-line-mode(plutôt que d'appeler le mode hl-line pour chaque tampon), seule la ligne sélectionnée est mise en surbrillance.
Iqbal Ansari
@IqbalAnsari: intéressant! Malheureusement, je veux seulement utiliser hl-line-modedans quelques types de tampons ( occur, mu4e, etc.). Je vais fouiller dans le code source quand j'aurai un moment.
Dan

Réponses:

9

Vous pouvez définir hl-line-sticky-flagànil

hl-line-sticky-flag est une variable définie dans hl-line.el.

Non nul signifie que la surbrillance du mode Ligne HL apparaît dans toutes les fenêtres. Sinon, le mode Hl-Line ne sera mis en surbrillance que dans la fenêtre sélectionnée. La définition de cette variable prendra effet la prochaine fois que vous utiliserez la commande hl-line-modepour activer le mode Hl-Line.

Cette variable n'a aucun effet en mode Global Highlight Line. Pour cela, utilisez global-hl-line-sticky-flag.

ChillarAnand
la source
1
Ha! Je ne savais pas que c'était une option et j'ai fini par écrire la mienne: emacs.stackexchange.com/a/14658/780 . Je suppose que cette approche a l'avantage de vous permettre de choisir une couleur différente pour les fenêtres inactives, mais je vais probablement passer à cette solution beaucoup plus simple.
glucas