From fe4e881156b33d4f6beb7736ae579ec3d7871816 Mon Sep 17 00:00:00 2001 From: David Morgan Date: Tue, 17 Jan 2023 13:19:08 +0000 Subject: [PATCH] Add latest buffer switching experiments --- .emacs.d/lisp/init-windows.el | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.emacs.d/lisp/init-windows.el b/.emacs.d/lisp/init-windows.el index ebdef31..4881761 100644 --- a/.emacs.d/lisp/init-windows.el +++ b/.emacs.d/lisp/init-windows.el @@ -171,23 +171,34 @@ ("C-<" . buffer-ring-prev-buffer) ("C->" . buffer-ring-next-buffer))) -(use-package cbm - :config - (defvar cbm-repeat-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "<") #'cbm-cycle) - map)) - (put 'cbm-cycle 'repeat-map 'cbm-repeat-map) - :bind - ("C-c C-b <" . cbm-cycle) - ("C-c C-b C-b" . cbm-switch-buffer)) - (use-package buffer-flip + :custom (buffer-flip-skip-patterns '("^[*]")) + :config + ;; (defun persp-buffer-flip-skip-buffer (orig &rest args) + ;; (or (apply orig args) + ;; (persp-buffer-filter (car args)))) + ;; (advice-add 'buffer-flip-skip-buffer :around 'persp-buffer-flip-skip-buffer) + (defun persp-buffer-flip-skip-buffer (orig-val) + (or orig-val (persp-buffer-filter (car args)))) + (advice-add 'buffer-flip-skip-buffer :filter-return 'persp-buffer-flip-skip-buffer) :bind (("C-c C-" . buffer-flip) (:map buffer-flip-map ( "C-" . buffer-flip-forward) ( "C-" . buffer-flip-backward) ( "C-g" . buffer-flip-abort)))) +(use-package iflipb + :config + (defun iflipb-persp-buffer-list () + "Buffer list for iflipb." + (seq-filter 'buffer-live-p (persp-current-buffers* t))) + (dolist (cmd '(iflipb-previous-buffer iflipb-next-buffer)) + (put cmd 'repeat-map 'iflipb-repeat-map)) + :custom (iflipb-buffer-list-function 'iflipb-persp-buffer-list) + :bind + ("C-x k" . iflipb-kill-buffer) ;; TODO replace with a kill currently selected buffer command + ("" . iflipb-previous-buffer) + ("" . iflipb-next-buffer)) + (provide 'init-windows) ;;; init-windows.el ends here