antonycourtney / tabli Goto Github PK
View Code? Open in Web Editor NEWA Window and Tab Manager for Google Chrome
Home Page: http://www.gettabli.com
License: MIT License
A Window and Tab Manager for Google Chrome
Home Page: http://www.gettabli.com
License: MIT License
reported by @rbpasker
Make Ctrl-TAB and Ctrl-BACKTAB move forwards/backwards through tabs for consistency with the Finder.
( Behavior here should probably be identical to Up/Down arrow)
Suggestion from @rbpasker
The default behavior when clicking on a link on a web page is to replace the current page with the contents of the link. For the top-level Table of Contents type pages for a reference manual, this is often not the ideal behavior. It would be useful to be able to specify a bookmarked tab as "locked" so that all links opened from that tab will open in a new tab.
From Michael:
Optionally allow the user to specify a RegEx that will be matched against every URL that is opened, so that URLs matching a certain pattern can be directed to a particular target window. Example: Probably want every *.facebook.com link to open in my "Facebook" window.
The revert
button for reverting the state of a saved window is dangerous -- @killian inadvertenly lost a bunch of tabs when trying it for the first time and suggested a confirmation dialog.
We get favicons for open tabs, but don't show them for unopened bookmarks.
From @rbpasker
i would also love to have a ‘hot’ key to open SM and move the focus there, then use up and down arrow to navigate tabs, and left & right arrow to nav windows. “mouse-less” mode. maybe even CMD-x to switch to the window whose name that starts with “x” — e.g., SM-HOTKEY, then CMD-T to switch to the “T"engah window
Suggestion thanks to @ariutta
Critical: In release v0.7, If all bookmarked tabs are closed in a bookmarked window, the remaining open tabs will not appear in the window summary. Due to a subtle bug in getTabItems() (fix forthcoming).
when i launch chrome, it opens a blank window. when i open tabman, and click on a window name,i get a second window open. it should detect that I am on an empty browser window, and just launch the tabs in that window.
From Michael:
When using the close all button which ends up closing the last remaining window, the modal does not disappear along with the window - it floats over nothing. This might be a chrome bug, or you might have to check for a final window closure and dismiss the dialog by hand.
Instead of quietly moving through hidden tabs, arrow keys should navigate up / down a whole window at a time.
I'd prefer that this was dependent on the expanded state of the window UI component, but that's local component state in React, and not available at the high level at which I'm handling keyboard nav.
In my unscientific tests open/closed state of the window seems to be good enough.
Although we don't technically have a server in our current setup, the background page serves a similar role. Let's try using React's server-side rendering and try to preserve the basic HTML across invocations of the popup.
Reported by @carolscott
In some cases the title of a window appears to be wrong / stale. Example:
Experimenting this seems to repeatedly way off. Suspect this is an issue with my attempt to memoize the title property calculation; try reverting that and see if it resolves the issue.
Ubuntu Version 14.04 LTS
Chrome Version 45.0.2454.85
Error message on clicking 'Inspect Popup' in Chrome:
syncChromeWindows: chrome.windows.getAll took 35.14000000000004 ms
extensions::uncaught_exception_handler:8 Error in response to windows.getAll: TypeError: Cannot read property 'syncWindowList' of undefined
at Object.callback (chrome-extension://igeehkedfibbnhbfponhjjplpkeomghi/js/common.js:4:25583)
at Object.o [as syncChromeWindows] (chrome-extension://igeehkedfibbnhbfponhjjplpkeomghi/js/common.js:4:25429)
at c (chrome-extension://igeehkedfibbnhbfponhjjplpkeomghi/js/popup.bundle.js:1:1026)handler @ extensions::uncaught_exception_handler:8
Track and save current state (open tabs) of managed windows. Restore to this snapped state when re-opening a managed window.
Should provide easy Undo in the UI for the more destructive operations:
First item reported indirectly by @killian
Tabli stores saved windows as folders containing only bookmarks. But since the user can edit the bookmark folder structure with the Bookmark Manager, we should be careful to handle nested folders when loading a saved window (probably just by dropping them for now).
Reported by @killian
Basic PgUp / PgDn behavior.
Reported by @rbpasker
From Killian: I want to have an "interesting tech" windows, who's contents change a lot but the window is always there
Install instructions and screenshots now a bit outdated.
Keep track of all tabs. If user attempts to re-open same URL as an existing tab, offer to switch to that tab or open new tab.
While Revert of a whole window is useful, it may also be useful to track an individual bookmarked tab, and offer an interface to revert just that one tab back to its original bookmark.
From Michael:
For the heading/title that has no windows under it (e.x. Bookmark Window heading with no bookmarked windows opened), either add some text saying "No windows" or similar, or better yet just remove the title(s) completely.
When some window other than current window is closed, window summary for that window still shown in popup. Should remove summary from parent element in popup
Will collapse all windows to just title bar / expand to show all tabs.
from Killian
Reported by @killian
In some cases, search isn't restricting set of windows / tabs shown.
Popup throwing these exceptions:
from romkey
This is some seriously clean, well-thought-out code -- impressive!
One question: I don't see any code that requires the <all_urls>
permission. Isn't that permission for these things:
From Minneman. Related to issue #1
We have a special case to ensure that when a saved window is opened from a "New window" that just has a single tab with the default Chrome new tab open, we re-use that window rather than open a new one.
But once the saved window is opened, the window is not attached to the saved window (with the blue checkbox and revert button in title bar and checkboxes on the tabs); it just appears as if all of the tabs were opened manually.
The Tabli popup usually resizes to maximum popup height to accomodate the Tabli window content.
Sometimes, though, this doesn't happen and we see an unusably shrunken popup:
Seems to be non-deterministic and infrequent (at least on my machine), but does happen.
Reported by @cartazio and @killian
If we can't repro perhaps we could at least statically set the size in popup.html? Or explicitly set size dynamically post-render?
Alpha feedback from Killian and Scott.
From Michael:
How about an author link at the bottom? "Created By Antony"
Getting the following when trying to unsave a saved tab:
Error in response to bookmarks.remove: TypeError: h.unsaveTab is not a function
at e.a.value (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:1:2941)
at Object.callback (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:4:22822)
at Object.l as unsaveTab
at f.createClass.handleUnbookmarkTabItem (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:22:18376)
at Object.u as executeDispatch
at x.executeDispatch (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:21:25962)
at a (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:4:27268)
at Object.s as executeDispatchesInOrder
at l (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:6:10206)handler @ extensions::uncaught_exception_handler:8exports.handle @ extensions::uncaught_exception_handler:100safeCallbackApply @ extensions::sendRequest:23handleResponse @ extensions::sendRequest:72
extensions::lastError:133 Unchecked runtime.lastError while running bookmarks.remove: Can't find bookmark for id.
at Object.l as unsaveTab
at f.createClass.handleUnbookmarkTabItem (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:22:18376)
at Object.u as executeDispatch
at x.executeDispatch (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:21:25962)
at a (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:4:27268)
at Object.s as executeDispatchesInOrder
at l (chrome-extension://laacdijkponplabcgbbdckfgplpfjiio/js/common.js:6:10206)
After saving the current window the window summary will move from the "Current Window" section to "Other Open Windows" section for the time the popup remains open. Goes back to proper position as Current Window next time the popup is opened. Minor issue but hopefully an easy fix.
Easily recoverable (since in Archive) so not urgent, but would be helpful.
Need a small text box in popup to search through open windows / popups and bookmarked windows.
From @rbpasker
Might also be another way to bookmark an unmanaged window...
From romkey and minneman
For users that had never installed STM before, we were throwing an exception in the background page because children
of folder node is null when the folder is first created.
When there are closed bookmarks, these are always rendered before any other open tabs.
The ordering should instead be all bookmarks (whether opened or closed), followed by any additional non-bookmarked open tabs.
A bit tricky because we also want to (as closely as possible) match the visible ordering of open tabs....
From @rbpasker : if I have 4 tabs in a managed window, and close one of them, then i can’t reopen that tab by clicking on it in SM.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.