greatsuspender / thegreatsuspender

A chrome extension for suspending all tabs to free up memory
https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg/
GNU General Public License v2.0
5.04k stars 906 forks source link

Can we have facility of Tab Management combined with this very good tool? #1150

Open salil-mehta opened 4 years ago

salil-mehta commented 4 years ago

Hello, Some suggestions:

  1. I was wondering if we could have a Tab management facility like Tab Blunder combined with this extension. It will make this tool real powerful one. Ability to name and sort the Tabs and sites.
  2. Also, I would love to have automatic grouping facility of the tabs and also their suspension. With an option to manually select the tabs and group them and suspend them as well.
  3. Option to store the session history of certain tabs and ability to restore then later.

Best regards Salil

davidelang commented 4 years ago

please note that if you do this, chrome runs into trouble if it tries to restore too many tabs at one time (somewhere around 100 tabs), when you restore too many, something gets stuck in a locking loop and you end up with the browser eating ~10% wait time and responding sluggishly.

so have an ability to rate limit how fast tabs are restored when you restore a session.

nathgit commented 4 years ago

The session history option would probably defeat the whole purpose of this extension, because it might use a lot of RAM & probably CPU. I would like to see the tag grouping though. For example if I have a bunch of github tabs & a bunch of youtube tabs, It would be nice to be able to group them together by site & be able to suspend or unsuspend them as a group.

nathgit commented 4 years ago

I use a chromebook. Would it be possible to update this to be able to re-open Chrome web-apps as apps instead of as a tab? Session Buddy is able to do it but this just opens them as tabs.

davidelang commented 4 years ago

It turns out that the new version does have some session restore capability.

the sessions don't have to be stored in RAM (in fact, storing them on disk has significant advantages as they can then be managed/archived with external tools)

robichaudc commented 4 years ago

I would love to see a tighter integration with one of the extensions that groups or auto-closes tabs (instead of just suspending them).

For example OneTab https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall?hl=en or the open-source version https://github.com/cnwangjie/better-onetab

nfultz commented 4 years ago

@robichaudc Last year I tried getting the OneTab company to handle Great Suspender tabs correctly, even found the guy on LinkedIn and sent him a patch, but got ghosted. So I just made my own extension instead - http://github.com/njnmco/odinochka

I think it makes more sense for those extensions to "pull" tabs from GS than for GS to "push" them.

deanoemcke commented 4 years ago

If you go to the extension options page, you can see that it does have a tab session / management page. However, it is somewhat limited. I do not want to extend the functionality of the extension too far - it should primarily be about reducing chrome's memory usage. My feeling is that another extension should be able to fullfill that feature and work in harmony with The Great Suspender. I use Session Buddy for this purpose and it mostly satisfies.

robichaudc commented 4 years ago

Thanks @nfultz and @deanoemcke I will look into both of those options

salil-mehta commented 4 years ago

The session history option would probably defeat the whole purpose of this extension, because it might use a lot of RAM & probably CPU. I would like to see the tag grouping though. For example if I have a bunch of github tabs & a bunch of youtube tabs, It would be nice to be able to group them together by site & be able to suspend or unsuspend them as a group.

Session history could just be html links. If thats too much then these could stored in the disk as compressed file. I was referring to an interface similar to TabBundler Chrome extension. But with an ability to restore or activate tabs in groups and not in one go.

salil-mehta commented 4 years ago

If you go to the extension options page, you can see that it does have a tab session / management page. However, it is somewhat limited. I do not want to extend the functionality of the extension too far - it should primarily be about reducing chrome's memory usage. My feeling is that another extension should be able to full fill that feature and work in harmony with The Great Suspender. I use Session Buddy for this purpose and it mostly satisfies.

Copy that! adding features which might facilitate Great Suspender's spread is a good thing. Features like Saving Sessions could be a matter of simply saving and restoring related links. You do not have to do that in RAM. It could be a compressed file on disk?

nfultz commented 4 years ago

@salil-mehta Chrome extensions can't access disk directly afaict, they have to go through the local storage api or perhaps indexed db as provided by the chrome browser. I guess you could compress objects that you put there, but then you would need to either implement the compression and decompression code in JavaScript or pull in a library that does so, both of which will would make the codebase heavier. Pulling in compression dependencies may not save very much space to compress a few hundred URLs.

And of course rendering the links on a page so that the user can choose which to open will also use up RAM, depending on how many links there are, and which features are supported (eg favicons).

davidelang commented 4 years ago

You may not be aware that there is now the beginning of a session/tab management tool. you have to go to settings to see it, but it is there.

I wish that I could find out where the sessions were stored so that I could mange them in more detail (edit them, save them in git to get longer-term archives without a huge amount of storage, etc)

it does restore them in chunks, so I can restore my hundreds of tabs without locking up chrome.

nfultz commented 4 years ago

@davidelang Go to the application tab of developer tools, you can view and edit the database from there - light scripting is required to dump it. See also https://developers.google.com/web/tools/chrome-devtools/storage/indexeddb

salil-mehta commented 4 years ago

@salil-mehta Chrome extensions can't access disk directly afaict, they have to go through the local storage api or perhaps indexed db as provided by the chrome browser. I guess you could compress objects that you put there, but then you would need to either implement the compression and decompression code in JavaScript or pull in a library that does so, both of which will would make the codebase heavier. Pulling in compression dependencies may not save very much space to compress a few hundred URLs.

And of course rendering the links on a page so that the user can choose which to open will also use up RAM, depending on how many links there are, and which features are supported (eg favicons).

thanks for the reply. Sure, somehow if this could be pulled up then it would be a wonderful feature.