New tab position: "unparent" a tab



  • The behavior for new tabs position that is the closest to what I want is "After the parent tab" ("at the end" doesn't put the new tab next to the current one, and "after the active tab" opens links in reverse order). While I don't change tabs, it works exactly like I want, but when I start to move between tabs and to move the tabs, things get weird.

    I'll take an example. I'm on the Vivaldi forum. I open, let's say, 10 links (with middle click, or right click -> open link in new tab). Then, I'll move to the 1st tab I opened, and I can do 3 things: keep it here, close it, or move it.
    In the 9 first tabs, 3 of them have something that might be interesting, so I keep them here, and I close the 6 others. And the 10th one has something unrelated but that I want to keep for later, so I move it all the way to the left. My tab order is now this:
    Vivaldi result 10 - 50 unrelated tabs - Vivaldi search - Vivaldi result 1 - Vivaldi result 2 - Vivaldi result 3 - 5 unrelated tabs
    Now I go back to my search, and try to find some more results. I open some new tabs, but obviously I want them to be after "Vivaldi result 3". I can also accept if they are after "Vivaldi search" (on Chrome and Firefox, I move the "Vivaldi search" tab after "Vivaldi result 3" so that they opens after it). But the new tabs opens after the "Vivaldi result 10" tab, which is really far away from the "Vivaldi search" tab. The area there is for things I want to keep aside, not for new tabs.

    I think it's because the "Vivaldi result 10" tab is still the parent tab, and this could be fixed by "unparenting" the tab at some point.
    For example, both Firefox and Chrome seem to have this concept of parent tab and unparenting.
    On Firefox, as long as you don't do anything with the tabs, the behavior is the same. If you open 2 links in new tabs, the 2nd link is after the 1st one. As soon as you switch to another tab, or when you move the current tab (you can't move another tab without clicking on it, which switches to another tab), Firefox gives up all this parent thing and it will open the next new tab after the active one. This is a quite good behavior, because it's quite easy to get and 100% predictible, while still being useful.
    Chrome, is harder to understand, but I feel like it somehow manages to do exactly what I want. After some tests, I think when you open a link in a new tab, it creates a tab group. When you open more tabs from the 1st one, they are opened at the end of the group, and added to the group.
    When you move a tab from the group outside, it's removed from the group. So, if you move the last tab all the way to the left (like in my example above), it will be removed from the group, and opening a new tab from the 1st one will open it not after the tab I moved, but at the end of the group.
    When you move a tab (from inside or outside the group) in the group, the group is broken and the next new tab will open after the active one.

    I think this could be solved in Vivaldi by adding a setting to "unparrent" a tab - to break that parent relationship when some event happens. Either changing tab (almost like Firefox) or "The 'source' tab (the one where the user clicked 'open in a new tab') or the last opened tab (the one called 'the parent tab' if I understand correctly) moves" (a bit like Chrome but easier to explain). Or maybe you want to clone the Chrome behavior? Or you have more ideas for some new tabs position behaviors?
    Anyway, I feel like none of the current options fit my workflow, and this may be the more important thing that makes me stick with Firefox.



  • I take the opportunity to state here that I'm often surprised where a new tab appears and I have the feeling the above theory that it it has something to do with reshuffling the tabs holds truth.
    BTW what exactly is the definition of a "related" tab which can be selected to open new tabs after it instead of after the "active" one?


 

Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.