Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.
* lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1. * doc/emacs/frames.texi (Tab Bars): Document it.
This commit is contained in:
parent
d24a197790
commit
01465915c9
2 changed files with 17 additions and 0 deletions
|
|
@ -1307,6 +1307,11 @@ Switch to another tab. If you repeat this command, it cycles through
|
|||
all the tabs on the selected frame. With a positive numeric argument
|
||||
N, it switches to the next Nth tab; with a negative argument −N, it
|
||||
switches back to the previous Nth tab.
|
||||
|
||||
@item C-x 6 1
|
||||
@kindex C-x 6 1
|
||||
@findex tab-close-other
|
||||
Close all tabs on the selected frame, except the selected one.
|
||||
@end table
|
||||
|
||||
@node Dialog Boxes
|
||||
|
|
|
|||
|
|
@ -560,6 +560,17 @@ TO-INDEX counts from 1."
|
|||
(tab-bar-tabs)))))
|
||||
(tab-bar-close-tab (1+ (tab-bar--tab-index-by-name name))))
|
||||
|
||||
(defun tab-close-other ()
|
||||
"Close all tabs on the selected frame, except the selected one."
|
||||
(interactive)
|
||||
(let* ((tabs (tab-bar-tabs))
|
||||
(current-index (tab-bar--current-tab-index tabs)))
|
||||
(when current-index
|
||||
(set-frame-parameter nil 'tabs (list (nth current-index tabs)))
|
||||
(if tab-bar-mode
|
||||
(force-mode-line-update)
|
||||
(message "Deleted all other tabs")))))
|
||||
|
||||
|
||||
;;; Short aliases
|
||||
|
||||
|
|
@ -819,6 +830,7 @@ Like \\[find-file-other-frame] (which see), but creates a new tab."
|
|||
(switch-to-buffer-other-tab value))))
|
||||
|
||||
(define-key ctl-x-6-map "2" 'tab-new)
|
||||
(define-key ctl-x-6-map "1" 'tab-close-other)
|
||||
(define-key ctl-x-6-map "0" 'tab-close)
|
||||
(define-key ctl-x-6-map "o" 'tab-next)
|
||||
(define-key ctl-x-6-map "b" 'switch-to-buffer-other-tab)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue