piroor / treestyletab

Tree Style Tab, Show tabs like a tree.
http://piro.sakura.ne.jp/xul/treestyletab/
Other
3.46k stars 277 forks source link

Version 3.6.0 out of purpose #2756

Closed Ithiloneth closed 3 years ago

Ithiloneth commented 3 years ago

This is not a bug report, but rather a feature request. Hope I am doing this right!

In version 3.6.0 the patch notes state: "Remove "Group Tabs", "Ungroup Tabs", "Indent" and "Outdent" menu commands and keyboard shortcuts. Now they are separated to a helper addon TST More Tree Commands."

This is in my opinion not an improvement and this change should be reconsidered. Currently the functions have been moved into a companion addon (which is not verified by Mozilla, and forces the user into a sub-menu in the context menu). A superior solution would be to add them as option in the context menu configuration dialogue; it is after all what that dialogue is for.

Grouping is the feature I use the most after the very tree structure itself - for new users I'd expect that it might be as well. Therefore, it seems the very best solution is to simply leave it as is - a default part of the context menu on installation.

Thanks for developing and maintaining the very finest Tree Style add-on for tab organizing - I've found no better solution anywhere.

aaaawwWWWwwwwWWW commented 3 years ago

I totally agree.

The grouping of tabs is not an extra, but an essential feature of TST; as OP, I use it all the time. So, with the removal of tabs grouping from the main extension, I feel the value added by TST productivity and organizational wise is 40% less than it was (yes, I do really like to keep my tabs neat).

+1 for the solution proposed by Ithiloneth (I do feel this would unnecessarily hidden this great feature, but it's 100% better than not having it at all).

piroor commented 3 years ago

Sorry but I have no plan to merge those features to TST again for now. Here are some reasons:

First, the feature "special tabs for grouping" (ext+treestyletab:group tabs) is essential, but the feature "create new group of tabs from multiselected tabs" is not essential, for me. It is very rare case for me to create new "group" manually. When I have to do that, I manually prepare a new group tab (with typing the URL, or opening a bookmark folder) and drag and drop to-be-grouped tabs to it. If I do that frequently, it been reasonable that including the "create new group from selected tabs" command to TST itself - but actually it does not happen frequently on my use case.

Second, manual tree modification is rare on my use case. I'm generally satisfied with the tree structure automatically constructed from their relations - "opener" and "openee". I have very few motivation to remember specific commands to modify tree structure manually, instead I use drag-and-drop. In the future, if I'm suffered from disability to use pointing devices, I'll get a new motivation to unify those commands to TST. But until the time I hope to keep the plan pended, with the YAGNI principle.

Third, those manual tree manipulation commands were "inducers" of more commands. Actually the feature request about "flatten tree" looked to be inspired from them. The fact that TST contains tree manipulation commands may induce more feature requests. I don't want to make TST a "bloatware" anymore. In old days I maintained an addon "Tabbrowser Extensions" (aka TBE) for Firefox 1.5, and I added any requested features to it without deep considering. As the result TBE became huge, heavy, chaotic, and impossible to be updated for Firefox 2.0. I definitely don't want repeat such a mistake.

Fourth, separated addon can be maintained easily than a part of a huge addon TST. If I add more commands to TST and I say "please maintain those features yourself, pull requests are welcome but I don't maintain those features aggressively because I never use them", people will give up to do that and will ask me to maintain. But now those features are extracted to a small codes. I believe that is is now understandable for more addon developers including beginners. I really hope that someone become the maintainer of the TST More Tree Commands project. Re-merging those commands to TST will make it impossible to maintain those features by other people not me.

piroor commented 3 years ago

Please remind that I maintain this just for private purpose, not for a general mission. Maintaining this project for all people requiring tree tabs is out of purpose. I'm the prime user of this project, and I don't hesitate to delete features I never use, because such unused codes make hard for me to maintain this project. I really really want to avoid a future: I give up to maintain this project from too much unused codes.

But I also don't want to abandon other people who use TST. Providing API for helper addons is a compromise deal. And, on this case I created an addon providing features deleted from TST. Now all that is left is finding out the successor developer.

Ithiloneth commented 3 years ago

Thank you very much for the reply Piroor. You make your point well, and it seems very reasonable to expect that a feature is more easily maintained by an outside developer if the feature is self contained in a smaller block of code.

Makes me a little sad; my favorite add-on just won't be quite what it sued to be, but I (and others) will simply have to accept that. In the end the functionality can still be accessed after all.

For my part this issue is closed, and you seem quite decided as well - closing this issue.

Edit: I am not a developer myself, or I'd offer to maintain the function via pull requests. Sadly I can't code very well and haven't the inclination to learn.

aaaawwWWWwwwwWWW commented 3 years ago

@piroor Fair. Sorry for having sounded requiring—i guessed maintenance was the issue, but thought I'd give a try arguing about this functionality anyway. Thanks for having created the API and the addon; giving it a second thought, I like the idea of extending TST this way. I'll look into the API.