diff options
| author | Jack Jamison <jackqjamison@gmail.com> | 2025-11-08 17:09:47 -0500 |
|---|---|---|
| committer | Jack Jamison <jackqjamison@gmail.com> | 2025-11-08 17:09:47 -0500 |
| commit | 53b5c6f41f9139c67eb347b5f7b9c35477ab6650 (patch) | |
| tree | a995f1bc06ca57fe113b8dcd71b6fdae4b7aa1a9 /.config/emacs | |
| parent | a1995974779801c8743076479b04d6f11a94e836 (diff) | |
emacs scripts and vterm improvements
Diffstat (limited to '.config/emacs')
| -rw-r--r-- | .config/emacs/TODO.org | 24 | ||||
| -rw-r--r-- | .config/emacs/init.el | 51 |
2 files changed, 53 insertions, 22 deletions
diff --git a/.config/emacs/TODO.org b/.config/emacs/TODO.org index 7f6f53c..7d629ed 100644 --- a/.config/emacs/TODO.org +++ b/.config/emacs/TODO.org @@ -5,22 +5,18 @@ - [x] C-g dwim for minibuffer - [x] vterm and command to open terms - [x] spacious padding -- [ ] easier keybind for close frame and kill frame -- [ ] session management with perspective.el -- [ ] connect xdg open to current session +- [ ] session management - [ ] vterm fix resizing + % - [ ] switch to eglot - [ ] agent shell -- [ ] compile command cacheing and always running under dape +- [ ] always running under dape -- [ ] theme resetter - -Perspective System -- Set up binds for perspective -- Initialize misc perspective -- Command to open this perspective's vterm. Also to open a second vterm for this perspective -- open to re-open a vterm buffer (to reset its directory) -- System wide keybind to open misc perspective or terminal -- System wide keybind to open an emacs client with a perspective (or yank the view to a current one) -- XDG open client which asks which perspective +Session Management System +- [x] Session creator tool (creates emacs daemon with name and directory, and open client) +- [x] Session opener tool (opens frame from an existing session) +- [x] Misc terminal keybind +- [x] Command to open this perspective's main vterm (in the current projectile directory). Also command to push a new term +- [ ] easy session switcher (yank or replace or something), maybe save frame or placement from last session's frame +- [ ] session name displayed in modeline +- [ ] XDG open client which asks which session diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 0c61ea7..3bbd6cd 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -448,8 +448,43 @@ '((c++ "libtree-sitter-cpp"))) ;; == development environment +(defun my/replace-master-vterm () + (interactive) + (let* ((master-name "Master Terminal") + (banished-base "Banished Terminal ") + (master-buf (get-buffer master-name)) + (visible-win (and master-buf (get-buffer-window master-buf t)))) + (when master-buf + (with-current-buffer master-buf + (let ((n 1) + new-name) + (while (get-buffer (setq new-name (format "%s%d" banished-base n))) + (setq n (1+ n))) + (rename-buffer new-name)))) + (let ((buf (if visible-win + (with-selected-window visible-win + (vterm)) + (vterm-other-window)))) + (with-current-buffer buf + (rename-buffer master-name t))))) +(defun my/switch-to-master-vterm () + (interactive) + (let* ((master-name "Master Terminal") + (master-buf (get-buffer master-name)) + (visible-win (and master-buf (get-buffer-window master-buf t)))) + (cond + (visible-win + (select-window visible-win)) + (master-buf + (switch-to-buffer-other-window master-buf)) + (t + (let ((buf (vterm-other-window))) + (with-current-buffer buf + (rename-buffer master-name t))))))) + (use-package vterm - :bind ( ("C-c a" . vterm-other-window) + :bind ( ("C-c a" . my/switch-to-master-vterm) + ("C-c C-a" . my/replace-master-vterm) :map vterm-mode-map ("C-c c" . vterm-copy-mode) ("C-l" . my-vterm-clear) @@ -472,7 +507,6 @@ (defun my-vterm-setup () (when (bound-and-true-p evil-local-mode) (evil-local-mode -1)) - (text-scale-set 1) (setq-local truncate-lines nil)) ;; disable evil (with-eval-after-load 'evil @@ -480,12 +514,13 @@ (add-hook 'vterm-mode-hook #'my-vterm-setup) (add-hook 'vterm-copy-mode-hook #'my-vterm-copy-mode-evil-setup)) -(use-package perspective - :bind (("C-x k" . persp-kill-buffer*)) - :custom - (persp-mode-prefix-key (kbd "C-c M-p")) - :init - (persp-mode)) +;; (use-package persp-mode +;; :bind (("C-x k" . persp-kill-buffer*) +;; ("C-x C-p" . persp-switch)) +;; :custom +;; (persp-mode-prefix-key (kbd "C-c M-p")) +;; :init +;; (persp-mode)) ;; == languages |
