traxium / tabtree

Tab Tree extension for Firefox
https://addons.mozilla.org/en-US/firefox/addon/tab-tree/
GNU General Public License v3.0
144 stars 30 forks source link

Close Tree of Tabs on Middle-Click #217

Open funnyflowerpot opened 7 years ago

funnyflowerpot commented 7 years ago

I would love to have an option to quickly close a tab and all its children (i.e. a tree with the selected tab as root). This function is already present in the context menu of a tab as "Close Tree", but closing a tree on e.g. middle-click would be more convenient.

In that sense, the extension's settings could hold an entry named "On middle-click on tab" and a drop-down menu with options "Close tab", "Close tree", "Flip tabs", "Do nothing", etc. This might streamline the settings page.

I was using Tree Style Tabs before and I'm so much happier with Tab Tree. This is the only tiny feature I'm missing. Thanks for making this great extension!

mathiasose commented 7 years ago

the extension's settings could hold an entry named "On middle-click on tab" and a drop-down menu with options "Close tab", "Close tree", "Flip tabs", "Do nothing", etc.

I also wish for a setting like this. I'm using my laptop touchpad at the moment and keep hitting the "middle click" area when I intend to hit the "left click" area, resulting in me closing the tab I meant to change to. Just one of those minor annoyances that a setting like this could prevent with a "do nothing" option.

akrusemark commented 6 years ago

I have a similar idea, to collapse the tree of tabs by double-clicking. It'd be nice just to have more options for both middle click and for double click.

funnyflowerpot commented 6 years ago

By coincidence I've seen, that this issue was addressed yesterday and a new release is already available. I've installed and tested and can confirm: Works like a charm! Wonderful!

Thank you very much for taking time for that issue so quickly! I'll convert all my Firefoxes to Tab Tree now.

funnyflowerpot commented 6 years ago

However, it seems like the parent tab won't get closed, if the last child is the very last tab of all tabs in the tab bar.

Maybe it's safer to g.removeTab(tab) instead of g.removeTab(g.tabs[tPos]) in const closeTabAndAllChildren = function (tab) { /*...*/ }? (Sorry, can't test myself right now.)