aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2019-11-30 23:36:52 +0200
committerJuri Linkov2019-11-30 23:36:52 +0200
commitdf89d6d6dc429e638e425536d1c201b5373f2abd (patch)
treec2dae073958df54a64d67f598ff389da8bbb6761
parent54c792ece6c20297571aa68c613075c8a8152bcc (diff)
downloademacs-df89d6d6dc429e638e425536d1c201b5373f2abd.tar.gz
emacs-df89d6d6dc429e638e425536d1c201b5373f2abd.zip
* lisp/gnus/gnus-win.el (gnus-configure-frame): Check for window-live-p.
* doc/misc/gnus.texi (Tabbed Interface): New node. (bug#37998)
-rw-r--r--doc/misc/gnus.texi32
-rw-r--r--lisp/gnus/gnus-win.el9
2 files changed, 38 insertions, 3 deletions
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index e43aa92c997..d563d52d58d 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -813,6 +813,7 @@ Various
813* Symbolic Prefixes:: How to supply some Gnus functions with options. 813* Symbolic Prefixes:: How to supply some Gnus functions with options.
814* Formatting Variables:: You can specify what buffers should look like. 814* Formatting Variables:: You can specify what buffers should look like.
815* Window Layout:: Configuring the Gnus buffer windows. 815* Window Layout:: Configuring the Gnus buffer windows.
816* Tabbed Interface:: Configuring the Gnus tabs.
816* Faces and Fonts:: How to change how faces look. 817* Faces and Fonts:: How to change how faces look.
817* Mode Lines:: Displaying information in the mode lines. 818* Mode Lines:: Displaying information in the mode lines.
818* Highlighting and Menus:: Making buffers look all nice and cozy. 819* Highlighting and Menus:: Making buffers look all nice and cozy.
@@ -22189,6 +22190,7 @@ to you, using @kbd{G b u} and updating the group will usually fix this.
22189* Symbolic Prefixes:: How to supply some Gnus functions with options. 22190* Symbolic Prefixes:: How to supply some Gnus functions with options.
22190* Formatting Variables:: You can specify what buffers should look like. 22191* Formatting Variables:: You can specify what buffers should look like.
22191* Window Layout:: Configuring the Gnus buffer windows. 22192* Window Layout:: Configuring the Gnus buffer windows.
22193* Tabbed Interface:: Configuring the Gnus tabs.
22192* Faces and Fonts:: How to change how faces look. 22194* Faces and Fonts:: How to change how faces look.
22193* Mode Lines:: Displaying information in the mode lines. 22195* Mode Lines:: Displaying information in the mode lines.
22194* Highlighting and Menus:: Making buffers look all nice and cozy. 22196* Highlighting and Menus:: Making buffers look all nice and cozy.
@@ -22985,6 +22987,36 @@ between summary buffer (top one-sixth) and article buffer (bottom).
22985@end itemize 22987@end itemize
22986 22988
22987 22989
22990@node Tabbed Interface
22991@section Tabbed Interface
22992@cindex tabbed interface
22993@cindex tabs
22994
22995Gnus supports display of different buffers in dedicated tabs
22996that you can select using the tab bar.
22997
22998To open the group buffer in a new tab named @samp{Gnus}, use:
22999
23000@lisp
23001(push '("\\`\\*Group\\*\\'" .
23002 (display-buffer-in-tab
23003 (name . "Gnus")))
23004 display-buffer-alist)
23005@end lisp
23006
23007To read every summary in a separate explicitly named tab, use:
23008
23009@lisp
23010(push '("\\`\\*Summary .*\\*\\'" .
23011 (display-buffer-in-tab
23012 (name . (lambda (buffer _alist)
23013 (setq buffer (buffer-name buffer))
23014 (when (string-match "\\`\\*Summary \\(.*\\)\\*\\'" buffer)
23015 (format "Group %s" (match-string 1 buffer)))))))
23016 display-buffer-alist)
23017@end lisp
23018
23019
22988@node Faces and Fonts 23020@node Faces and Fonts
22989@section Faces and Fonts 23021@section Faces and Fonts
22990@cindex faces 23022@cindex faces
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el
index b39c9faab6c..81b3437fc58 100644
--- a/lisp/gnus/gnus-win.el
+++ b/lisp/gnus/gnus-win.el
@@ -367,11 +367,14 @@ See the Gnus manual for an explanation of the syntax used.")
367 (setq result (or (gnus-configure-frame 367 (setq result (or (gnus-configure-frame
368 (car comp-subs) window) 368 (car comp-subs) window)
369 result)) 369 result))
370 (select-window new-win) 370 (if (not (window-live-p new-win))
371 (setq window new-win) 371 ;; pop-to-buffer might have deleted the original window
372 (setq window (selected-window))
373 (select-window new-win)
374 (setq window new-win))
372 (setq comp-subs (cdr comp-subs)))) 375 (setq comp-subs (cdr comp-subs))))
373 ;; Return the proper window, if any. 376 ;; Return the proper window, if any.
374 (when result 377 (when (window-live-p result)
375 (select-window result))))))) 378 (select-window result)))))))
376 379
377(defvar gnus-frame-split-p nil) 380(defvar gnus-frame-split-p nil)