Subject: bug#37592: Using tabs in EWW

From: Juri Linkov <[email-masked]>
Date: Fri, 04 Oct 2019 01:39:42 +0300

>> Like <C-mouse-1> in web browsers opens links in a new tab,
>> the attached patch does the same for EWW.
>>
>> The change that implements support for tabs in EWW is just 3 lines:
>>
>>     (when eww-browse-url-new-window-is-tab
>>       (let ((tab-bar-new-tab-choice t))
>>         (tab-new)))
>>
>> Everything else is replicating the existing code:
>>
>> 1. A new defcustom eww-browse-url-new-window-is-tab is a copy
>>    of existing browse-url-firefox-new-window-is-tab
>>
>> 2. The docstring for eww-browse-url is copied from browse-url-firefox
>>
>> 3. The code for shr-browse-url is copied from browse-url-at-point
>
> Instead of adding another defcustom, how about doing this by default
> if tab-bar-mode is enabled?

I guess the users still need to decide whether they want to open
new tabs in the tab-bar (when eww-browse-url-new-window-is-tab is non-nil),
or new tabs in the tab-line (when eww-browse-url-new-window-is-tab is nil)
that just creates a new buffer displayed in the window-local tab-line -
this is the current behavior.

Another use case is that when tab-bar-mode is not yet enabled,
users migth prefer that clicking on a link with a Ctrl key
could enable the tab-bar and open a new tab in automatically
enabled tab-bar.