En général, je n'aime pas les cadres. En ce moment, j'utilise
(setq ediff-window-setup-function #'ediff-setup-windows-plain)
Pour s'assurer que ediff
cela ne crée pas de cadre au démarrage.
Cependant, certaines commandes, comme ediff-show-registry
toujours ouvrir de nouveaux cadres.
Existe-t-il un moyen de désactiver complètement la création de cadres dans ediff
?
ediff-skip-unsuitable-frames
ou de commentaires que entièrement à l' intérieurediff-show-registry
- par exemple, en commentaire:(ediff-skip-unsuitable-frames 'ok-unsplittable)
?ediff
famille de bibliothèques(make-frame
et vous trouverez quelques endroits qui doivent être corrigés en fonction de vos préférences. Votre demande est certainement raisonnable et mériterait (à mon avis) une demande de fonctionnalité à l'auteur et / ou à l'équipe d'Emacs - la plupart des gens supposeront que celaediff-setup-windows-plain
devrait s'appliquer à tous les niveaux sans les différentesmake-frame
exceptions.Réponses:
Il existe un prédicat interne
ediff-init.el
, appeléediff-window-display-p
. Quand je l'ai redéfini (après avoir chargé ediff, bien sûr) comme ça, tout fonctionne dans une seule image, y compris la fonction que vous avez mentionnée comme problème:Je suis d'accord avec @lawlist qu'il s'agit d'une belle demande de fonctionnalité - à corriger
ediff-window-setup-function
.la source
(advice-add 'ediff-window-display-p :override #'ignore)
, qui peut plus facilement être inversé avecadvice-remove
(en plus, il ne nécessite pas de charger ediff en premier).ediff-setup-windows-plain
reprend tout le cadre - je veux garder mes fenêtres "contextuelles" ouvertes (par exemple les notes et autres fichiers). J'ai donc écrit une fonction de configuration de fenêtre personnalisée (utilise un tampon d'affichage personnalisé alimenté par ace-window pour choisir où peut-être diviser les fenêtres et afficher de nouveaux tampons). Il semble que lorsque Ediff démarre, il vérifie celaediff-window-display-p
et s'il est faux, contourne la fonction de configuration de fenêtre personnalisée et l'utiliseediff-setup-windows-plain
. Donc, pour ma configuration personnalisée, je vais soit éviterediff-show-registry
, soit écrire une commande personnalisée.