Quicksaver / Tab-Groups

Reimplementation of Firefox Tab Groups as an add-on.
https://addons.mozilla.org/firefox/addon/tab-groups-panorama/
Mozilla Public License 2.0
546 stars 73 forks source link

About porting to webExtension #535

Open StyMaar opened 7 years ago

StyMaar commented 7 years ago

In your farewell post, @Quicksaver said the following :

Its [Tab Groups] core functionality and basic workflow probably can be made into a WebExtension, but only after an almost complete rewrite of the code (with some major work done on Firefox's side as well!), and still stripped down of at least some of its features.

Can you tell us more about this ? I fully understand that you don't want or can't port this addon to work with newer Firefox APIs but since many of us are in love with Tab Groups, some may like to give a try on porting this (at least partially) to WebExtension.

Can you give us a quick overview of what would be impossible in the ported version ? And what would needed on Firefox's side to make it work ?

Quicksaver commented 7 years ago

There's already some things about that in #534, probably a good start for anyone who'd like to give it a shot.

ghost commented 7 years ago

I'm seriously considering about taking up this project or restarting from scratch and using this as a reference. I only use Firefox for two reasons- Tab-Groups and the tabs-scrolling-than-bunching when there are a lot of 'em. You may not use it outside of coding but it's my bread and butter in how I use Firefox. I have over 60ish tabs and they need to be organized. XD I'm going to start looking into how feasible it is to do this.

maverick74 commented 7 years ago

Don't know where to post this so i'll post it in both bugs: @Quicksaver Are you aware of:

Extend WebExtensions with custom APIs so more legacy add-ons can be ported ?

mikhoul commented 7 years ago

@Quicksaver @maverick74 @maximstewart @StyMaar

Some Good documentations even a working (but buggy) addon exist for Chrome with Full Documentation:

Original add-on in Alpha stage: https://github.com/arnaud/chrome-tab-sugar

2 Others Fork more advanced and less buggy so they are usable:

COMPLETE documentation about the internal of the addon: https://github.com/arnaud/chrome-tab-sugar/wiki/Interactions

Discussion where the original author of the addon and the "forkers" discussed of the development of the addon: https://github.com/arnaud/chrome-tab-sugar/issues/18

I hope it could help to revive the project ! :smiley_cat:

Regards :octocat:

Chris2011 commented 7 years ago

@mikhoul I have to install it on my own, right? The version at the google chrome store is not the current version?

mikhoul commented 7 years ago

@Chris2011 Yes, the version in the store is the first Alpha Version which is "buggy" a little bit :roll_eyes:

If you want to try those addon in Chrome, you must build a CRX file (addon file) first to be able to install it and use it, but it's easy to do.

1- choose which one you wanna try between the 2 forks:

2- Go on the page where is the fork and Download the whole project, it is a zip file: http://i.imgur.com/jDGbNc4.png

3- Once you have the whole project on your computer just rename the Archive from MyAddon.zip to MyAddon.CRX and you have the addon. :smile_cat:

4- To install it in Chrome it's easy too, just follow those instructions: http://chrome-extension-downloader.com/#install

That's it ! :octocat:

Chris2011 commented 7 years ago

Thx, I will try. A release would be good anyway for all others and maybe a version 2 or so, to bring it into the chrome store.

stephen304 commented 7 years ago

I hope the chrome versions can have some development activity. I switch between firefox and chrome frequently and I'm constantly disappointed at how all of the chrome tab managers are basically glorified bookmark organizers (mainly how if a tab isn't visible, it means the extension closed it and just saved the url).

Nerothos commented 7 years ago

I don't know if I'm late or off topic (if that's the case, please don't mind) but has anyone seen the firefox container? https://testpilot.firefox.com/experiments/containers . Seem like the groups will come back.

mechalynx commented 7 years ago

@Nerothos Not sure what you mean. I've already used Containers and I'm not sure its implementation helps at all with restoring functionality to Tab Groups.

klint commented 7 years ago

@Nerothos I agree with you that the concepts of Tab Grouping and Containers would fit quite well together at least in my use cases. I actually use Groups to differentiate various roles I have in life and I bear when navigating in a browser session: work stuff, personal regular stuff, personal dev stuff, personal critical stuff like banking, stuffs related to various associations I'm member or accountant of (for instance). Containers will add even better support for that by containing/securing session data but as a side effect, allow to connect on different accounts to same site in different groups (each corresponding to a role of mine). The problem I see with containers today are the ease of use: how to display tabs in a given container and hide the others, how to switch the display to another container... Wait, that's exactly what Tab Groups are meant for. With the same kind of automation: some URLs will be linked to a group/container. Other URLs will be shared accord group/containers (but with different sessions). Some URLs will require their own container and will not share it with any other URL, like banking sites.

@MechaLynx Containers will not help at restoring Tab Groups per se, but they are yet another motivation for Tab Group not to die :)

stephen304 commented 7 years ago

@klint Perhaps something can be built on top of containers? The only difference between containers and what I need for my use case is having one container "selected", causing all other tabs to be invisible (but still loaded in memory and running). It seems like containers already accomplishes much of the nitty gritty of tab groups by handling container membership and a bonus of isolation.

If it's possible to manipulate containers with an extension, my vote would be to do it that way.

I still have it in muscle memory to press ctrl + shift + e so I'd love to be able to be able to return to that workflow of pressing that shortcut and using arrows and enter to switch groups.

Nerothos commented 7 years ago

I was just wondering if container could "replace" TabGroups. I didn't had time to test it so I don't know what features are missing. Sorry if my comment was not useful.

stephen304 commented 7 years ago

@Nerothos Like in my previous comment, the only thing I think containers is missing is the ability to hide other tabs. I haven't tried containers recently, but last time I checked, it still showed all the tabs in the tab bar. I think it's really close though.

nd- commented 7 years ago

@stephen304 I just tried Containers Experiment 2.0.0, and it's possible to show/hide all tabs from a container. But it's not possible to hide other containers, you have to show/hide them one by one, and the UI isn't very convenient : click "Containers" button in the tool bar, click the right arrow next to the container name, click show (or hide).

nd- commented 7 years ago

See https://discourse.mozilla-community.org/c/test-pilot/containers to discuss Containers, especially this post: https://discourse.mozilla-community.org/t/could-panorama-feature-be-brought-back-to-firefox/14672

mirh commented 7 years ago

Which leads to mozilla/testpilot-containers#336

nd- commented 7 years ago

we're definitely watching the πŸ‘ and comments on those issues to help us decide what enhancements to make to Containers in the future.

Time to send your πŸ‘ and spread the word.

mirh commented 7 years ago

New bug to follow closely https://bugzilla.mozilla.org/show_bug.cgi?id=1333837

pshem commented 7 years ago

Upvote this: https://github.com/mozilla/testpilot-containers/issues/336 An issue to add tab groups into containers, currently a Stretch goal

cpatti97100 commented 7 years ago

please if anyone starts a new repo to make tab groups with webextensions, link it here. I am thinking about doing just that but hard to know when :( otherwise I would gladly join the work of someone else :)

klonamy commented 7 years ago

Any new news about this?

mechalynx commented 7 years ago

In the process of figuring out a different issue, I came across these bugs:

There is explicit mention of Tab Groups in the first one. It seems to be a different extension, but the second bug seems explicitly involved with creating tab groups under WebExtensions.

Related comments:

I haven't read the full details on each of these - apologies if it's a false positive.

mikhoul commented 7 years ago

Here.s a WebExt that can be used as replacement of TabsGroups, maybe I will fork it to Firefox and improve it at a later time but it is usable. :octocat:

https://chrome.google.com/webstore/detail/divider-tabs/mpbblhoepkmpgalgppdoahgeoknmjgpc/reviews

nd- commented 7 years ago

Make it work on firefox and you're a hero ! At last, a new hope... :)

Deledrius commented 7 years ago

Not bad. It doesn't look like it quite supports the same workflow, and leaves things cluttered still, but the alternative is far worse.

Also, it would be ideal for any replacement to be able to import existing groups.

nd- commented 7 years ago

@mikhoul Too bad, it doesn't work when divider tabs are pinned.

grahamperrin commented 7 years ago

Divider Tabs 2.0 (2014-10-07):

I can't imagine it as a successor to Tab Groups. Sorry.

BenjamenMeyer commented 7 years ago

I have yet to find a Chrome tab manager that works anything like FF's Pandora/TabGroups functionality - even https://github.com/Quicksaver/Tab-Groups/issues/535#issuecomment-312361904 doesn't really seem to do so. This extension really is the prime differentiator for Firefox. Sad to FF going this way, and enables really good tab management and workflows:

kah0922 commented 7 years ago

An API for showing/hiding tabs has been approved by Mozilla.

nd- commented 7 years ago

starwars_epi4_01-4f17cf46f1dd

mikhoul commented 7 years ago

Here's an Alternative actively developed: https://github.com/denschub/firefox-tabgroups

Regards :octocat:

dgutov commented 7 years ago

The alternative is yet to have a WebExtensions port either, though.

ghost commented 7 years ago

As an update here, I've started learning how plug-ins are created. This will be slow but I am determined in getting something similar up and running soon. Time is a bit of an issue though. But I have not forgotten about this project.

e-motiv commented 7 years ago

I found a Firefox native workaround for Tab Groups and Tab Groups Menu functionality. I'm using bookmarks, bookmark toolbar and -(sub)folders for it. It's not perfect, but it can also serve as a basic model to make it perfect again. You see, I believe that by using these native techniques (or simulation) one can make a super simple and lightweight webextension with it!

More detailed and illustrated info on it in this article: http://attic.e-motiv.net/fyi/tab-groups-workaround

I hope this helps...

Deledrius commented 7 years ago

Using bookmarks loses the tab's history and potential contents. πŸ€• It may be sufficient for some workflows, but not mine.

e-motiv commented 7 years ago

Yeah. Though I don't mind and I didn't think of that, I guess that can be a game changer.

FMI: What exactly did you mean with "potential contents"? Did you mean the content that could otherwise be reached via history or did you mean an extra unrelated disadvantage?

Mvg, [image: Ruby Contact Card] http://www.e-motiv.net/Ruben%20Goethals%20-%20e-motiv.vcf Ruben Ruben@e-motiv.net @ e-motiv http://www.e-motiv.net [image: Ruby] http://www.e-motiv.net +32 (0) 484 / 23 78 78

On 4 September 2017 at 18:15, Joseph Davies notifications@github.com wrote:

Using bookmarks loses the tab's history and potential contents. πŸ€• It may be sufficient for some workflows, but not mine.

β€” You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Quicksaver/Tab-Groups/issues/535#issuecomment-327004428, or mute the thread https://github.com/notifications/unsubscribe-auth/ACEdTLeparCkYHfZkLnpnc9iBWYr04k3ks5sfDBGgaJpZM4Lw8ed .

klint commented 7 years ago

I have found using the Containers experiment together with these 2 add-ons quite effective for me, replacing Tab Groups (basically, I have matched groups with containers). https://addons.mozilla.org/fr/firefox/addon/sea-containers: sidebar showing all containers with their tabs https://addons.mozilla.org/fr/firefox/addon/switch-container: allows to switch a tab from one container to the other

irvinm commented 7 years ago

I have found using the Containers experiment together with these 2 add-ons quite effective for me, replacing Tab Groups (basically, I have matched groups with containers). https://addons.mozilla.org/fr/firefox/addon/sea-containers: sidebar showing all containers with their tabs https://addons.mozilla.org/fr/firefox/addon/switch-container: allows to switch a tab from one container to the other

This seems like a pretty good entry level solution. One thing that is really missing is the ability to treat the tabs in a tree but see that has already been entered as a feature enhancement. (Both TreeStyleTab and "Tree Tabs" are shaping up to be good vertical tab solutions with webextensions.) If we can get vertical tree behavior along with hiding\unhiding tabs ... we might be on to something!

maverick74 commented 7 years ago

There is also this, but it's only for FF57+:

Taborama

ahjolinna commented 6 years ago

to follow @maverick74 post, taborama was renamed to conex and moved to https://github.com/kesselborn/conex ... see https://github.com/kesselborn/conex/issues/46 for reasons & the official addon page : https://addons.mozilla.org/en-us/firefox/addon/conex/

StyMaar commented 6 years ago

Furthermore, my taborama actually does not have a panorama'ish view (which was where it was derived from), so the name does not make sense at all

Then it's not an alternative to tab-group, is it ?

ahjolinna commented 6 years ago

@StyMaar : well, there wont be a direct replacement until this happens: https://bugzilla.mozilla.org/show_bug.cgi?id=1384515 ...until then this more or less the best what we can get as an replacement

same goes with this project: https://github.com/denschub/firefox-tabgroups/issues/60#issuecomment-321878075

dgutov commented 6 years ago

Meanwhile, when I enabled legacy extensions in Firefox 57 and tried it, Tab-Groups was one of the few legacy ones that still appeared to function correctly. Had to downgrade to 56 because of the other broken ones 😞

mikhoul commented 6 years ago

Had to downgrade to 56 because of the other broken

@dgutov Which one were broken from 56 to 57 ?

I have 56 right now and I was fearing that many of my addon will broke if I upgrade to 57 even with legacy addon enabled ans you seem to confirm my fear. 😞

klint commented 6 years ago

Downgrading is now not supported anymore, officially at least. Was it seamless for you? ☺️

mechalynx commented 6 years ago

I downgraded and it was pretty smooth, all I had to fix was my menu items. Supported or not, here's links to getting an installed for a previous version, for those interested:

Firefox Release & Beta: https://download-installer.cdn.mozilla.net/pub/firefox/releases/ Firefox Developer Edition: https://download-installer.cdn.mozilla.net/pub/devedition/releases/ Firefox Nightly: https://download-installer.cdn.mozilla.net/pub/firefox/nightly/

Of course, back up your profile before downgrading.

dgutov commented 6 years ago

Which one were broken from 56 to 57 ?

Pretty much all the rest, IIRC. I'm pining for Undo Close Tab Replacement, Old Reader Notifier, Tab Wheel Scroll and KeeFox (this one has a WebExtension beta, fortunately).

Spitfire1900 commented 6 years ago

Just using ESR for as long as possible over here.

grahamperrin commented 6 years ago

… not an alternative to tab-group, is it ?

It's good for some use cases. See Finding tabs across multiple groups (Tab Groups) and multiple windows under https://discourse.mozilla.org/t/-/17087/60?u=grahamperrin