Subject: bug#37998: 27.0.50; gnus RFE: gnus-other-tab a la gnus-other-frame

From: Juri Linkov <[email-masked]>
Date: Fri, 22 Nov 2019 00:22:07 +0200

>>> Perhaps there should be a more general interface to say "run this
>>> command in a new tab"?  Otherwise we'll end up with a huge bunch of
>>> new foo-other-tab commands.
>>
>> It is not so much "create a new tab and run gnus there" as the
>> bookkeeping of having a tab dedicated to gnus.
>
> But doesn't that go for all commands?  I guess Gnus is slightly special
> in that it uses several windows, but...

I'm not sure if a new command analogous to gnus-other-frame
is needed for tabs.  For a more general interface I believe
we have to rely on display-buffer-alist.

For example, I create a separate tab for each group and
for the group buffer.  Using display-buffer-alist the
rules could look like

  ("\\`\\*Group\\*\\'" .
   (display-buffer-in-tab
    (name . "Gnus")))

  ("\\`\\*Summary \\(.*\\)\\*\\'"
   . (display-buffer-in-tab
      (name . "Group \\1")))

So e.g. the command `M-x gnus RET' will create the tab with the name
"Gnus" automatically, or switch to the existing tab with the name "Gnus".
Opening a summary from the group buffer will either create a new tab
with the name deduced from the summary buffer name, or switch
to the existing tab by name.