From 2c56a2e3bbd6dd04ced9a1f22261d77ed76f233b Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 28 Jan 2025 22:10:37 -0600 Subject: [PATCH] +vterm --- user/app/emacs/default.nix | 2 +- user/app/emacs/init.el | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/user/app/emacs/default.nix b/user/app/emacs/default.nix index 7ab3167c..b330d83e 100644 --- a/user/app/emacs/default.nix +++ b/user/app/emacs/default.nix @@ -21,7 +21,7 @@ magit magit-file-icons magit-todos undo-fu undo-fu-session org-roam org-node org-node-fakeroam - vterm sudo-edit + vterm vterm-toggle sudo-edit direnv gdscript-mode nix-mode diff --git a/user/app/emacs/init.el b/user/app/emacs/init.el index bbacebf3..4813f445 100644 --- a/user/app/emacs/init.el +++ b/user/app/emacs/init.el @@ -886,5 +886,37 @@ "l" 'dired-find-file " " 'nil) +(use-package vterm + :after evil) + +(use-package vterm-toggle + :after vterm + :config + (setq vterm-toggle-fullscreen-p nil) + (setq vterm-toggle-cd-auto-create-buffer nil) + (add-to-list 'display-buffer-alist + '((lambda (buffer-or-name _) + (let ((buffer (get-buffer buffer-or-name))) + (with-current-buffer buffer + (or (equal major-mode 'vterm-mode) + (string-prefix-p vterm-buffer-name (buffer-name buffer)))))) + (display-buffer-reuse-window display-buffer-at-bottom) + ;;(display-buffer-reuse-window display-buffer-in-direction) + ;;display-buffer-in-direction/direction/dedicated is added in emacs27 + ;;(direction . bottom) + ;;(dedicated . t) ;dedicated is supported in emacs27 + (reusable-frames . visible) + (window-height . 0.4))) + (defun vterm-toggle-cd-force () + (interactive) + (vterm-toggle-cd-show) + (vterm-toggle-insert-cd) + ) + (evil-define-key 'motion 'global (kbd "M-z") 'vterm-toggle-cd-force) + (evil-define-key 'insert 'global (kbd "M-z") 'vterm-toggle-cd-force) + (evil-define-key 'motion vterm-mode-map (kbd "M-z") 'vterm-toggle-hide) + (evil-define-key 'insert vterm-mode-map (kbd "M-z") 'vterm-toggle-hide) +) + (provide 'init) ;;; init.el ends here