From cd766c910f7f2dab305d3377aad2cbee5f691026 Mon Sep 17 00:00:00 2001 From: cxxxr Date: Mon, 11 Nov 2024 19:56:33 +0900 Subject: [PATCH] add `frame-multiplexer-switch-{n}` command --- src/ext/frame-multiplexer.lisp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/ext/frame-multiplexer.lisp b/src/ext/frame-multiplexer.lisp index cf071237f..5ff5e683b 100644 --- a/src/ext/frame-multiplexer.lisp +++ b/src/ext/frame-multiplexer.lisp @@ -11,6 +11,16 @@ :frame-multiplexer-next :frame-multiplexer-prev :frame-multiplexer-switch + :frame-multiplexer-switch-0 + :frame-multiplexer-switch-1 + :frame-multiplexer-switch-2 + :frame-multiplexer-switch-3 + :frame-multiplexer-switch-4 + :frame-multiplexer-switch-5 + :frame-multiplexer-switch-6 + :frame-multiplexer-switch-7 + :frame-multiplexer-switch-8 + :frame-multiplexer-switch-9 :frame-multiplexer-create-with-new-buffer-list :frame-multiplexer-delete :frame-multiplexer-recent @@ -430,6 +440,21 @@ The prefix argument ID defaults to 1." (switch-current-frame vf (frame-table-entry-frame entry)) (editor-error "No frame with ID ~a" id)))) +(macrolet ((def (command-name n) + `(define-command (,command-name (:advice-classes frame-multiplexer-advice)) + () () + (frame-multiplexer-switch ,n)))) + (def frame-multiplexer-switch-0 0) + (def frame-multiplexer-switch-1 1) + (def frame-multiplexer-switch-2 2) + (def frame-multiplexer-switch-3 3) + (def frame-multiplexer-switch-4 4) + (def frame-multiplexer-switch-5 5) + (def frame-multiplexer-switch-6 6) + (def frame-multiplexer-switch-7 7) + (def frame-multiplexer-switch-8 8) + (def frame-multiplexer-switch-9 9)) + (define-command (frame-multiplexer-recent (:advice-classes frame-multiplexer-advice)) (&optional (n 1)) (:universal) "Switch to the Nth most recent frame selected.