Giter Club home page Giter Club logo

projecttabmanager's Introduction

Important: the latest version of Project Tab Manager is a quick fix for the problem not being able to run this app on Chrome 80 and later. The author knows that there are number of issues to fix, but please be patient until they are fixed. Feel free to contact the author if you feel strongly about any issues.

Project Tab Manager is an extension for Google Chrome that helps you focus on a single project. It preserves each windows as projects, not only you can restore them anytime, you can synchronize projects across different devices using same Chrome profile.

Getting Started

PTM automatically tracks all windows you open in Chrome. You can resume those windows anytime you want. See how it works:

  1. Click on PTM icon
2. Do you see a list of dates? They represent sessions per window. Try closing one of the window, you'll be able to restore the window and its tabset by clicking on the session entry.
3. You can create a project out of the session by clicking on the folder icon next to the session name.
4. Check out Chrome's bookmark folder. The project is stored as Chrome's standard bookmarks. So they are synced across devices and even accessible from Chrome for Android or for iOS.
5. The stars indicate if they are temporary sessions or synced bookmarks. Adding / modifying tab's URLs will be locally tracked, but not synced. Add stars to sync.
6. Feel free to close the window. You can restore the state anytime!

1 rule to remember:

  • Close windows not tabs unless you want it to be forgotten.

Keyboard Navigation

  • You can navigate through PTM using keyboard.
    • tab: selects next project.
    • return: opens the selected project.
    • right arrow: expands project folder
    • left arrow: folds project folder
  • If you want to open PTM with a short cut key, open "chrome://extensions" and go to bottom of the page to find "Keyboard shortcuts" then assign. The default key combination is ctrl+P.
  • shift + click on a project will open the project then close the open window

The Developer

My name is Eiji Kitamura. Find me on my blog, Google+, Twitter or github.

Special thanks to

Feedback

I'm grateful if you could give a review on Chrome Web Store.

Of course, reporting bugs and feature requests are much appreciated!

If you are a developer and thinking about contribution, head to the github page.

See changelog


projecttabmanager's People

Contributors

agektmr avatar dantman avatar dependabot[bot] avatar syoichi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projecttabmanager's Issues

Wrong window detection

Hi,

First, let me tell you that i love this extension, so thanks a lot.

This is the first time i use it, and i have one issue: after managing my tabs manually i have 5 windows but Project Tab Manager just detects 4:

projects

This is in OSX & Chrome 41.0.2272.104 (64-bit),

Regards,

Does not collect new tabs

This is what is displayed on the extensions page in Chromium 59.0.3071.109-0ubuntu0.17.04.1360.

Project Tab Manager 4.0.2
Project Tab Manager is an extension for Google Chrome that helps you focus on a single project.
Details
ID: iapdnheekciiecjijobcglkcgeckpoia
Inspect views: background page
lazy.html?url=http%3A%2F%2Farcweb.hcad.org%2Fparcelviewer%2F&title=HCAD%20Parcel%20Viewer&favIconUrl=lazy.html?url=https%3A%2F%2Fpropaccess.trueautomation.com%2FmapSearch%2F%3Fcid%3D51&title=Brazoria%20CAD%20Map%20Search&favIconUrl=lazy.html?url=https%3A%2F%2Fpropaccess.trueautomation.com%2Fclientdb%2FProperty.aspx%3Fcid%3D51%26prop_id%3D178003&title=Brazoria%20CAD%20-%20Property%20Details&favIconUrl=lazy.html?url=http%3A%2F%2Fpropaccess.trueautomation.com%2Fclientdb%2FProperty.aspx%3Fcid%3D37%26prop_id%3D56607%23taxDue&title=%20Colorado%20CAD%20-%20Property%20Details&favIconUrl=lazy.html?url=https%3A%2F%2Fpropaccess.trueautomation.com%2Fclientdb%2FProperty.aspx%3Fcid%3D51%26prop_id%3D178003&title=Brazoria%20CAD%20-%20Property%20Details&favIconUrl=lazy.html?url=http%3A%2F%2Fsearch.austin.manatron.com%2Fdetails.php%3FDB_account%3DR000059351%26account%3DR000059351&title=Austin%20County%20Appraisal%20District&favIconUrl=lazy.html?url=https%3A%2F%2Fpropaccess.trueautomation.com%2Fclientdb%2FProperty.aspx%3Fprop_id%3D89739&title=%20Runtime%20Error&favIconUrl=lazy.html?url=http%3A%2F%2Fwww.bcad.org%2F&title=%20Home%20-%20Bexar%20CAD&favIconUrl=lazy.html?url=http%3A%2F%2Ftexas.hometownlocator.com%2Ftx%2Fcolorado%2Fcolumbus.cfm&title=%20Columbus%2C%20TX%20Profile%3A%20Facts%2C%20Map%20%26%20Data&favIconUrl=lazy.html?url=https%3A%2F%2Fmsc.fema.gov%2Fportal%2Fsearch%3FAddressQuery%3D35007%2520Cooper%2520Road%252C%2520Brookshire%252C%2520Texas%23searchresultsanchor&title=%20FEMA%20Flood%20Map%20Service%20Center%20%7C%20Search%20By%20Address&favIconUrl=lazy.html?url=http%3A%2F%2Fwww.karnescad.org%2F&title=%20Karnes%20County%20Appraisal%20District&favIconUrl=lazy.html?url=http%3A%2F%2Fwww.loopnet.com%2Fsalescomps%2F%3Flinkcode%3D31663&title=LoopNet%20-%20Search%20Commercial%20Real%20Estate%20Sales%20Comps.&favIconUrl=lazy.html?url=http%3A%2F%2Ftexas.hometownlocator.com%2Fzip-codes%2Fdata%2Czipcode%2C77503.cfm&title=*%2077503%20ZIP%20Code%20Map%2C%20Demographics%20%26%20Rankings&favIconUrl=lazy.html?url=https%3A%2F%2Fwww.interflood.com%2Flistmaps.aspx%3Flon%3D-95.2885971069336%26lat%3D29.5187816619873%26address%3D17603%2BPearland%2BSites%2BRd%26City%3DPearland%26state%3DTX%26zip%3D77584-2936%26zoomlevel%3D6%26match%3D1%26census%3D%26zone%3D%26fips%3D%26county%3DBrazoria%26manualplace%3D0%26customernumber%3D0%26returnurl%3Dlistmaps.aspx%26GeoID%3D0%26zonecolor%3DBlue%26type%3DAerial&title=InterFlood%20-%20List%20Flood%20Maps&favIconUrl=

Development / demos

How are you testing / tweaking the UI during development?

Using src/ as the extension instead of the app/ build doesn't work because the Content Security Policy blocks the unvulcanized inline script tags.

Using the demos doesn't quite work either. Namely the ptm-{project,session}-list demos try to do an ajax call to a /stab_projects.json that doesn't exist anywhere in the repo. And ptm-{project,session} fail when loaded over a local http server due to chrome.i18n not being available; and fail when loaded within the extension for the same reason app/ doesn't work.

Project bookmarking

I'd like to make a proposal for project bookmarking that might be more consistent, easier, and clearer to the user as to what is bookmarked and what isn't. It would also remove empty projects that had had a bookmarked tab at one time.

  1. Put a bookmark "star" icon on every project (next to the edit button) that indicates if the project has been bookmarked by whether the star is yellow or clear.

  2. The user would be able to click the star in order to bookmark and un-bookmark all tabs in the project. Un-bookmarking all tabs would not remove the session.

  3. If the project is at first un-bookmarked and then becomes bookmarked by the user bookmarking one of the project's tabs then the star would turn yellow to indicate that at least one tab of the project has been bookmarked.

  4. If the user un-bookmarks every tab in the project individually then the star would be cleared and the project bookmark folder removed. The session would remain.

  5. If the user closes every tab (with CTRL^W) in an un-bookmarked project then the project session would go away, even if it was a "re-named" project.

  6. A re-named project would not be automatically bookmarked. Only bookmarking a project tab or the whole project via the proposed star would create a bookmark.

  7. Clicking the star off and then on again would bookmark all tabs, including any originally un-starred ones.

:-)

Replace Window option when Switching Projects

It would be cool if we could have a config option to always replace the current window with the new tabs when switching projects instead of opening a new window.

The easiest implementation, with the little knowledge of Chrome's API that I have would be to open a new window and then remove the last focused window. Something like this chrome.windows.remove(chrome.windows.getLastFocused) on this line.

This is probably a very crude solution however, but would love to see this feature so that I can keep my open windows to a minimum!

Can't remove bookmark

Pressing delete button beside bookmark doesn't seem to delete bookmark.
This is caused by cache and it's in fact deleted. Just not visually reflected.

Broken in Chrome 30: "Cannot call method 'getActiveWindowId' of undefined"

Completely broken in Chrome 30. Stack trace:

TypeError: Cannot call method 'getActiveWindowId' of undefined
    at new <anonymous> (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/ng-controllers.js:62:44)
    at d (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:28:127)
    at Object.instantiate (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:28:257)
    at chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:52:239
    at chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:43:292
    at n (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:6:494)
    at j (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:43:157)
    at e (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:39:248)
    at e (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:39:265)
    at j (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/angular.min.js:43:398)

Installed from Chrome store. Popup looks like:

screen shot 2013-10-31 at 15 38 07

Sometimes I get this instead, but nothing works:

screen shot 2013-10-31 at 15 38 00

local files won't be loaded

Local HTML files (on my computer) don't load when I load a project, even when I've added them to the list of files for that project. If I load them manually by selecting them from the bookmarks menu, they load normally.

add a tab to a project

It would be nice if I add a new bookmark to the project folder and it also gets added to the project session as well.

Cheers,
Gary

Add setting for treating every window as a project

I see the benefits of treating every window as a project, but I also find it very inconvenient to have to clean up my projects every day because I have too many projects I did not want.

It would be nice if we can turn this feature on/off in the options page.

Alternatively, I think a better approach might be to only treat new windows that have more than one tab as a project.

Frequent crashes after update

Unfortunately, with the latest update (to 2.0.4 apparently), it appears some instability has been introduced. Over the last couple days, the Project Tab Manager has crashed intermittently, which manifests as a pop-up message in the lower right, and general slowness in the browser. Additionally, it will no longer load all the bookmarks in some of my projects - it only loads a subset. I'm using Chromium Version 26.0.1410.63 (192696) on Arch linux; feel free to inquire for more details if you need them to make fixes.

Request: Auto-Bookmark

Hi,

I love your extension and use it extensively to archive and share tabs. But I often forget to bookmark a tab and only notice when I try to open it on another PC. Would it be possible to either

  • share the full window (including not-bookmarked tabs) or
  • to auto-bookmark tabs as they are created and delete them when they are closed?

The first solution is probably more elegant but the second might be easier to implement?

Ciao,
Stefan

Empty tab title breaks extension

One of my tabs has an empty string as title which prevents the extension's popup from populating with the following error:

Error in event handler for runtime.onMessage: TypeError: Cannot read property 'title' of null
    at new FieldEntity (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/background.js:1507:51)
    at Object.ProjectEntity.load (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/background.js:1644:26)
    at Object.ProjectEntity (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/background.js:1531:10)
    at Object.ProjectManager.update (chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/background.js:1852:19)
    at chrome-extension://iapdnheekciiecjijobcglkcgeckpoia/js/background.js:1970:41handler @

The line causing the issue is:

this.title = tab && tab.title || bookmark.title;

tab.title is "" here and bookmark is null. A reasonable fix would perhaps be

this.title = tab && (tab.title || tab.url) || bookmark && (bookmark.title || bookmark.url);

Confusing behavior after closing tabs one-by-one

When a project has been opened and then the user closes all its tabs one-by-one from the window until the window closes, there is no way to re-open that project from ProjectTabManager. The project name and all bookmarks are not bolded, and clicking on the project name does nothing. There is no way to recover and open the project unless you "associate" it to another window.

I'd like to suggest that when you click on the Project name it opens all the bookmarks instead of doing nothing? This would match the behavior of a project that has never been opened yet on a new copy of the browser (different PC).

Removing a bookmark behaves oddly

Clicking on a star to remove the bookmark ends up weird behavior.

  1. Notification saids "Added a bookmark"
  2. Not actually removed?
  3. The same session entry appears at the bottom of the list.

The project is not tied to the session created based on

  1. Open a new window + multiple tabs
  2. Create a project on that window with a name
  3. Open PTM again

Expected:
See the session with the project name.

What actually happened:
The project was actually created, but not linked to the session.

新規にインストールした場合にエラーになってます。

Uncaught TypeError: Cannot read property 'length' of undefined ProjectManager.js:396
Uncaught TypeError: Cannot read property 'focused' of undefined SessionManager.js:122

BookmarkManager.js
150 行目
this.bookmarks = folder.children;

this.bookmarks = folder.children || [];
で良さそうです。

Current window sometimes not displayed when clicking Prj Tab Mgr icon

I have had this issue where when I open a new window and then click on Project Tab Manager it only shows the bookmarked projects, not the current project '0'.

I did some digging and figured out that the window focus is changed and the winId is getting set to -1 (chrome.windows.WINDOW_ID_NONE) so I added this to the beginning of SessionManager.prototype.onfocuschanged and that fixed it:

        if (winId === chrome.windows.WINDOW_ID_NONE) { /// bug fix
            return;
        }

Confusing behavior of bookmarking

Hi,

This is a really good project, and I love it.
There is, however, one confusing behavior -- the bookmarking.

When I add a project, PTM add the current tabs into bookmarking. After that, if I open some new tab, it will be added into the project, but it won't be bookmarked.

What is the difference between "be bookmarked" and "be added into project"?
And, is that necessary to add all tabs in a project into bookmarks? Can I create a project that only remember my tabs but not add them into bookmarks?

Thanks

Better privacy when requesting favicons

I would like to request that the FAVICON_URL be changed from http://www.google.com/s2/favicons?domain= to HTTPS.

Additionally it would be great to have an option to turn off favicon fetching entirely and always use the default icon. Or perhaps, fetch the icon from the actual site instead of Google.

It's a pretty big privacy issue to leak all the sites a user visits to Google. Especially since Google will automatically receive all their cookies on the google.com domain.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.