Fossil Forum

436e58 2 months ago

Post: Why does the repolist page open repos in a new tab?

I tracked it down to e561cfd47e which just switch to target='_blank' without any rationale. I can't recall how web browsers were used at the time but it's not usual for me to see anchors deciding how links are followed these days. Would it be okay to remove that attribute from src/repolist.c or adding an option to omit that attribute?

hanche 2 months ago

In my opinion, target='_blank' is very much (and annoyingly) overused on the web, but in this case, I think it's justified. And I imagine no rationale was given because it was considered obvious.

The idea, as I see it: The reason for using the repolist page in the first place is for easy access to multiple repos more or less in parallel. Once you visited one repo and explored it a bit, it would take a lot of back navigation to return to the repolist page. But if it appeared in a separate tab, then just switch tabs, and you're ready to open another repo.

It is of course relatively easy in most (all?) web browsers to open any link in a new tab, but in my experience, it is easily forgotten in the heat of the moment. So I am glad it is set up this way.

That said, if you want to modify your personal copy to omit this attribute, I can't for the life of me imagine any negative side effects. As to whether an option should be added for that, I'll let others judge. The main argument against would be the desire to keep the number of options down to a reasonable amount.

436e58 2 months ago

The problem with target='_blank' is that it removes the option to open in the same tab. Most browsers have cache so back navigation should be relatively free. The problem I have with the repolist is actually going to a repo, clicking on the Fossil logo to the repolist, then to another repo, etc. then I'll suddenly have tons of tabs opened. Opening in new tab through a mouse or keyboard binding is relatively easier for me than defaulting to it and having to go back and close the parent tab.

stephan 2 months ago

My Devil's Advocate feels compelled to note...

Opening in new tab through a mouse or keyboard binding is relatively easier for me...

(Emphasis added...)

... that you're the first person to bring this up as a problem since it was added 11 years ago. That suggests that the current behavior is generally preferred for this specific context.

That said: i'm ambivalent about it either way. My muscle-memory middle-clicks ("open in new tab") when a new tab is desired and i don't generally care if a site opens a link in a new tab on its own. In this specific case, i believe target=_blank was the correct choice. Whether it still is, i don't know.

danield 2 months ago

A few weeks ago I was about to praise the said behavior of the said page in this same forum, but I did not want to make to much noise.

danield 2 months ago

A few weeks ago I was about to praise the said behavior of the said page in this same forum, but I did not want to make too much noise.

nuclight 2 months ago

Most browsers have cache so back navigation should be relatively free

This is very often not true for last years, if not since 2010, because major browsers switched to multi-process model which consumes more memory, and they try to save it a bit (especially true for dynamic pages, and Fossil is CGI).

436e58 2 months ago

Thanks for the stats, and given everyone else in this thread enjoys the status quo, I think I got the answer to my original question. As for myself, it's trivial to patch locally.

chungy 2 months ago

I like the current behavior, but even with that said, removing target="_blank" might make sense so it's the user's own decision whether to open in a new tab or not. The middle mouse button isn't that hard to use, I think.

Maybe a user poll should be conducted.

ACB 2 months ago
  1. On the repo list page:

  2. drag the link of the repo

  3. on to the tab of that webpage.

  4. The repo opens in that tab.


Also, I'm not against it being on the /setup_settings page now it has a veil over the defaults to only show the modified ones.

ACB 2 months ago

However, it seems to me your main issue is the result of clicking on the site's main icon at the top of the page when fossil is run with --repolist.

I too felt a bit disoriented with this at first. Unfortunately I've not dived into the code to deal with it, so here's the overview.

When I first clicked on the fossil icon at the top left of a webpage served from a specific repo, I expected to go to the /home page of that repo, not the list of all repos.

I admit there's the /home link to get to the front page, but for most of the history of the web, clicking the site's logo brought one to the site's main page.

For the time being I'm not sure the best UX to link from an individual repo to the Repository List. Something conditionally displayed in the footer perhaps.

ACB 2 months ago

However, it seems to me your main issue is the result of clicking on the site's main icon at the top of the page when fossil is run with --repolist.

I too felt a bit disoriented with this at first. Unfortunately I've not dived into the code to deal with it, so here's the overview.

When I first clicked on the fossil icon at the top left of a webpage served from a specific repo, I expected to go to the /home page of that repo, not the list of all repos.

I admit there's the /home link to get to the front page, but for most of the history of the web, clicking the site's logo brought one to the site's main page.

For the time being I'm not sure the best UX to link from an individual repo to the Repository List. Something conditionally displayed in the footer perhaps, or the so-called hamburger menu.

stephan 2 months ago

When I first clicked on the fossil icon at the top left of a webpage served from a specific repo, I expected to go to the /home page of that repo, not the list of all repos.

Is that not specific to the "eagle" skin? If so, see for why that it is the case.

ACB 2 months ago

I'm using the default skin.

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button