diff options
author | jao <jao@gnu.org> | 2022-08-28 22:56:55 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2022-08-28 22:58:37 +0100 |
commit | 692b296a7cbd13a0689fdf9fdc9608d116ab625e (patch) | |
tree | ff91ce1c304aa295f9fedf939f62795220e6f03c /lib | |
parent | b3a8b4be813f6f76b181dff5175c7a1b731be765 (diff) | |
download | elibs-692b296a7cbd13a0689fdf9fdc9608d116ab625e.tar.gz elibs-692b296a7cbd13a0689fdf9fdc9608d116ab625e.tar.bz2 |
tracking on scratch moved to jao-tracking
Diffstat (limited to 'lib')
-rw-r--r-- | lib/eos/jao-tracking.el | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/lib/eos/jao-tracking.el b/lib/eos/jao-tracking.el index 8436733..386cc12 100644 --- a/lib/eos/jao-tracking.el +++ b/lib/eos/jao-tracking.el @@ -23,6 +23,7 @@ (require 'tracking) (require 'shorten) (require 'jao-minibuffer) +(require 'jao-afio) ;; shorten @@ -117,10 +118,38 @@ (setq jao-tracking-string (jao-tracking-build-str new-val)) (jao-minibuffer-refresh)) -(jao-minibuffer-add-variable 'jao-tracking-string -10) -(add-variable-watcher 'tracking-mode-line-buffers #'jao-tracking-echo) -;; since we're using the minibuffer, forget the mode line -(advice-add #'tracking-mode :override (lambda (&optional _) (interactive))) +(defvar jao-tracking-use-scratch nil) +(defvar jao-tracking--start-frame nil) + +(defun jao-tracking--remove-visible-buffers () + (unless (and jao-afio-use-frames jao-tracking-use-scratch) + (tracking-remove-visible-buffers))) + +;;;###autoload +(defun jao-tracking-next-buffer () + (interactive) + (if jao-tracking-use-scratch + (let ((n (jao-afio-frame-no))) + (unless (eq 0 n) (setq jao-tracking--start-frame n)) + (cond (tracking-buffers + (let ((b (car tracking-buffers))) + (if (eq 0 n) (tracking-next-buffer) + (jao-afio--goto-scratch) + (when b (pop-to-buffer b)) + (tracking-remove-visible-buffers)))) + (jao-tracking--start-frame + (jao-afio-goto-nth jao-tracking--start-frame) + (setq jao-tracking--start-frame nil)))) + (tracking-next-buffer)) + (jao-tracking-update-minibuffer)) + +;;;###autoload +(defun jao-tracking-setup () + (jao-minibuffer-add-variable 'jao-tracking-string -10) + (add-variable-watcher 'tracking-mode-line-buffers #'jao-tracking-echo) + ;; since we're using the minibuffer, forget the mode line + (advice-add #'tracking-mode :override (lambda (&optional _) (interactive))) + (add-hook 'jao-afio-switch-hook #'jao-tracking--remove-visible-buffers)) (provide 'jao-tracking) ;;; jao-minibuffer-tracking.el ends here |