Souvent, mes fenêtres sont automatiquement divisées jusqu'à ce que je décide arbitrairement que le cadre actuel n'a pas assez de biens immobiliers pour toutes. Lorsque cela se produit, je supprime manuellement une fenêtre, crée un cadre et bascule vers cette fenêtre supprimée. Comment puis-je écrire une fonction elisp qui fait cela?
J'ai essayé:
(defun pop-window-into-frame ()
(interactive)
(delete-window)
(make-frame-command)
(switch-to-prev-buffer))
Mais pour une raison quelconque, cela ne fait pas ce que je pense qu'il devrait.
Cette commande, ainsi que la suivante, qui ne fait rien si la fenêtre sélectionnée est seule dans son cadre, sont disponibles dans la bibliothèque
frame-cmds.el
.la source
(select-frame-set-input-focus fr)
à la fin a fonctionné.select-frame-set-input-focus
. Dans MS Windows, par exemple, il obtient le focus, donc ce n'est pas nécessaire. De plus, la description de la commande ne dit pas que le cadre devient focalisé. Si vous le souhaitez, une commande différente peut être créée qui appelle cela et concentre ensuite le cadre.