Add a function for main-window shells (useful for using emacs as a dedicated terminal emulator)

This commit is contained in:
BirDt_ 2025-08-20 18:13:00 +08:00 committed by BirDt
parent 50bde24534
commit 63a7d23507

View file

@ -33,12 +33,22 @@
'shell))
(defun theurgy-bottom-shell ()
"Put a shell in the bottom of the frame."
(interactive)
(let ((win (car (window-at-side-list nil 'bottom))))
(if (and win (equal 'bottom (window-parameter win 'window-side)))
(delete-window win)
(funcall (theurgy-shell)))))
(defun theurgy-main-shell ()
"Put a shell in a main window."
(interactive)
(if (get-buffer "*Shell Session*")
(switch-to-buffer "*Shell Session*")
(funcall (theurgy-shell) "*Shell Session*")))
(define-key global-map (kbd "C-<return>") 'theurgy-main-shell)
(global-set-key (kbd "M-RET") 'theurgy-bottom-shell)
(define-key vterm-mode-map (kbd "M-RET") 'theurgy-bottom-shell)