emacs - Cómo abrir magit-status en ventana completa
(7)
Estoy usando Magit para trabajar con git en emacs. He enlazado el estado de Magit a una tecla, pero cada vez que presiono la tecla se abre en una división en la mitad inferior de la ventana y tengo que presionar Cx 1 para obtener una ventana completa. ¿Cómo puedo hacer que se abra en una ventana completa de forma predeterminada?
¡Nota! Las nuevas versiones de magit usan la función, magit-display-buffer-function
, y esto puede ser aprovechado para obtener el mismo comportamiento. El siguiente fragmento de código le dará la recompensa deseada de Magit a pantalla completa.
(defun display-buffer-full-screen (buffer alist)
(delete-other-windows)
(set-window-dedicated-p nil nil)
(set-window-buffer nil buffer)
(get-buffer-window buffer))
(setq magit-display-buffer-function
(lambda (buffer)
(if magit-display-buffer-noselect
(magit-display-buffer-traditional buffer)
(display-buffer buffer ''(display-buffer-full-screen)))))
Aquí hay otra manera de lograr esto:
(add-to-list ''same-window-regexps "/*magit: .*/*")
Esta solución tiene la ventaja de que puede eliminar el búfer de pantalla completa en el estilo de quit-window
:
(defadvice magit-status (around magit-fullscreen activate)
(window-configuration-to-register :magit-fullscreen)
ad-do-it
(delete-other-windows))
(defadvice magit-mode-quit-window (after magit-restore-screen activate)
"Restores the previous window configuration and kills the magit buffer"
(jump-to-register :magit-fullscreen))
(define-key magit-status-mode-map (kbd "q") ''magit-mode-quit-window)
Si tiene una versión anterior de Magit, es posible que deba cambiar el nombre de magit-mode-quit-window
a magit-quit-window
.
Otra opción es personalizar la variable display-buffer-alist
.
Si todo lo que quieres es magit
, puedes hacer esto:
(customize-set-variable
''display-buffer-alist
''(("//*magit: .*" display-buffer-same-window)))
Para las versiones más recientes de magit, puede usar este fragmento de código sanctioned :
(setq magit-display-buffer-function #''magit-display-buffer-fullframe-status-v1)
Combino esto para obtener un estado de git de ventana completa similar a zen después de cambiar proyectos:
(setq projectile-switch-project-action ''magit-status)
Yo uso esto:
(defun my-magit-status ()
"Don''t split window."
(interactive)
(let ((pop-up-windows nil))
(call-interactively ''magit-status)))
(setq magit-status-buffer-switch-function ''switch-to-buffer)
o vía personalizar:
Mx customize-variable
RET magit-status-buffer-switch-function
RET