Open MooreManor opened 2 years ago
I could make the timeout longer, or add an option to tweak it. Whatever the default is, it'll be too slow for some, too fast for others.
There's unfortunately no straightforward way to listen for the modifier keyup event on an extension's shortcut. However, I am working on a different approach that opens a popup window which can then listen for the keyup. So you could go as slowly as you want through the history, and then release alt when you've found the desired tab. Pressing the shortcut again will switch back to the tab you'd started the navigation from. I've discussed it over in issue #21.
@fwextensions Thanks for your in-time reply. Actually, I think an option to set users' own timeout can be useful. Of course, in my opinion, going as slowly as you want through history is the best. Is it possible for users themselves to change the timeout now?
I would be also interested very much in an option to configure the time in the settings dialog. It seems simple to implement (?) and understand, flexible and robust. Even with a long timeout the (pro) user could use the instant toggle key combination to get back to the original window where he started from and "cancel" the "browsing" of the last tabs before the timeout finished and subsequently start over.
So for me it seems really natural to have and be able to set a longer timeout here.
The other approach with popup and holding alt key also sounds interesting and easier to use (one flexible key combination to rule them all ;-), but I would suggest to not replace the timeout-based variant completely with it since that seems really fast and reliable especially
Hi @MooreManor, great to see progress w.r.t. that. Could you quickly mention what you did, please? I could not find the custom timeout option in the settings. did you find another way?
@JJ-Author there isn't a custom timeout yet. If you're interested, I can let you know how to try out the solution I was mentioning above on this branch: https://github.com/fwextensions/QuicKey/tree/feature/2022/popup-window-ui
@JJ-Author there isn't a custom timeout yet. If you're interested, I can let you know how to try out the solution I was mentioning above on this branch: https://github.com/fwextensions/QuicKey/tree/feature/2022/popup-window-ui
Hi @fwextensions (sorry that I mentioned you in the first version of my message) thanks for your answer. I think it probably means compiling the plugin from the feature branch and then installing it manually to chrome, right?
There's actually nothing to compile for a dev version. You can just download a zip of the branch from here: https://github.com/fwextensions/QuicKey/archive/refs/heads/feature/2022/popup-window-ui.zip Then in Chrome, load the /src
directory as a developer plugin. There'll be two versions of QuicKey then, one from the store and one from the local directory. It's fine to have both running; they'll just need different keyboard shortcuts. Or disable the production one.
If you're comfortable with git, you can also clone the repo and switch to that branch, then load from /src
.
hi @fwextensions the simultaneous usage of both plugins seems to be a good idea and works smoothly. I also tried to manually set the timeout from 750 to 4750 in the code of the regular plugin (i - l.lastShortcutTime < 4750 ) and loaded it unpacked but that did not seem to work. so I just go with the approach you proposed.
FYI: I recognized with dual monitors, the popup is shown on the wrong monitor (not on the one I use the Chrome browser).
@JJ-Author thanks for checking out the branch! If you want to change that timeout value in the branch code, it's MinTabDwellTime
in src/js/background/constants.js
. I've already increased it to 1250 in this branch, but you can try lengthening it.
If the Show the recent tab list in a popup option is unchecked, then the navigation behavior should be the same between this branch and production, just with a longer timeout by default.
Do you have Chrome on the secondary monitor? It's been awhile since I've tested a dual monitor setup, but there are definitely issues. I'm not sure how fixable they are, as the browser doesn't report much useful information about multiple screens. I think the browser window position is reported relative to its screen's origin, but Chrome will position the popup relative to the desktop origin, which may be different. I wonder if using the "hide popup in a tab" option might help in the dual monitor case.
Barring a fix, how usable do you think the popup window is with multiple monitors? The regular drop-down continues to work in the normal way.
Hi @fwextensions, I tested it a lot, and since a newer Chrome version it seems to work quite well, so the popup is indeed showing on the right browser / screen (i.e. the chrome window that is currently active). this also works with virtual desktops (tried in Ubuntu). I experienced with virtual desktop that in some cases popup takes some time to show elements (1 seconds to render the tab history) but it is still usable.
I think it is also pretty nice to use the "switch to previous tab" shortcut in combination with the popup activated, since this now "browses" through the windows (as @MooreManor requested without "saving" this history) until I decide that I reached the correct tab and finish the "journey" by releasing alt key. (Here it is also convenient that the popup stays fixed but the corresponding tab shows up on the right screen). But sometimes this mode behaves weirdly (if i press the combination twice quickly within a second it does not seem to switch back to the previous tab. Is it possible that even if the popup is activated and shown the timeout is still active?
Thanks for doing some thorough testing, @JJ-Author!
I experienced with virtual desktop that in some cases popup takes some time to show elements (1 seconds to render the tab history) but it is still usable.
What is happening in the popup during that time? Is it blank? Is this only when the popup is shown on a virtual desktop?
(if i press the combination twice quickly within a second it does not seem to switch back to the previous tab. Is it possible that even if the popup is activated and shown the timeout is still active?
It shouldn't be. I did just fix a bug that would cause the most recent tab to sometimes not show up in the list when navigating with the alt key down. Can you get the latest code and see if you're still seeing it?
the popup on the virtual screen is first blank then the search bar appears and then the tiles of the tab history. it takes at most 1.5 seconds. this startup time also occurs when i close the popup window from the window manager of the system and it needs to reopen on the next going back (no multiscreen or virtual desktop used). so i guess it is also my pc that is not super fast anymore (6 years old).
i tried your new commit on the feature branch. still does the same thing when clicking it 2 times in a row the previous tab shorcut (releasing alt in between). i also realized that in the popup for this shortcut usually the first entry is the tab that is active when the shortcut is pressed for the first time (lets call it tab A). but when i quickly press the shorcut again it still shows tab A on top although now I already switched to tab B. it selects the second element in list which is still B that is why it closes the popup without changing from B back to A. for me that is not a big issue. because there is still the quick toggle shortcut for cases where i need that.
it takes at most 1.5 seconds. this startup time also occurs when i close the popup window from the window manager of the system and it needs to reopen on the next going back (no multiscreen or virtual desktop used). so i guess it is also my pc that is not super fast anymore (6 years old).
That still seems pretty slow. My 9-year-old homebuilt gaming rig still only takes ~300ms to show the popup from the unminified source. If you open the background.html
devtools from the extension page, the console will log the elapsed time tracked by the popup code. I wonder if opening a browser window is generally slow in your WM.
i tried your new commit on the feature branch. still does the same thing when clicking it 2 times in a row the previous tab shorcut (releasing alt in between).
When pressing and releasing alt quickly, the issue I usually see is that the window stays open, as it didn't hear the alt keyup event. Since the popup loses focus each time it switches to a different recent tab, it can miss the event, which causes the popup to stay open even after you've released the alt key.
When I'm switching to the previous tabs, I'll stop for a little time to check whether the page is what I want. And when the check time is over 750ms, the page is stored in the quick key history, and I cannot continuously find the previous one. Can you add ALT-A saving page time or add a new feat to avoid saving page when holding alt?