Switch between tabs in the most recently used order, can be configured to use Ctrl+Tab as a shortcut

Latest Version

Version
0.9
Update
October 12, 2023
Size
15.2KiB
Developer
Category
Users
2,000+
Rating
3.44828 ★
Manifest Version
3
Web Store Status
Languages Support
Deutsch
English
See more
Permissions
Tabs
Scripting
Storage
See more

Ctrl+Tab MRU Extension

'Ctrl+Tab MRU' allows switching through tabs in the order they were visited before. By default this happens by pressing Ctrl+Y for going back in time and Ctrl+Shift+Y for the other way round.

*** IMPORTANT TO KNOW ***
Unfortunately Chrome doesn't drectly allow users to set Ctr+Tab as shortcut keys. So I suggest using the following trick to circumvent this: https://superuser.com/a/1326712.
*** *** ***

Tab switching also works on special pages (like chrome://), Chrome Web Store URLs, PDFs, XMLs or when the address bar is focused. In this case a temporary tab is opened to show the menu.
To directly jump to a tab listed on the switcher menu, click on its title or icon.

Drawbacks:
- At the moment I don't have an idea how to avoid the temporary tab. It's required because I otherwise could not detect the release of the ctrl key (=end of the switching action) on special pages.
- If you release the ctrl key too fast while the temporary tab is loaded I am unable to detect the key-up event, therefore the menu gets stuck. Please hit the ctrl key again to finish switching.
- Recent tab order is not preserved when closing and restoring a window.

Permissions:
- 'Access your data on all websites': required to draw the tab list on top of the websites' content and to detect PDFs and XMLs.
- 'Access your tabs and browsing activity': required to record tab order, open the temporary tab and to switch to the selected tab.

Updates:
- 0.9
-- switch to Manifest V3 to be future proof
- 0.6
-- tab titles on the switcher popup are now clickable to directly jump to a tab
-- no more need to reload the tabs after initial install
-- added xml viewer support (menu is shown on temporary tab)

- 0.5
-- added frameset support (menu is shown on temporary tab)

- 0.4.2
-- added support for ftp and file:// pages
-- added incognito support

- 0.3.1
-- corrected tab order for tabs opened in the background
-- refined stylesheet
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "name": "__MSG_extName__", "description": "__MSG_extDescription__", "default_locale": "en", "version": "0.9", "manifest_version": 3, "background": { "service_worker": "background.js" }, "icons": { \t"16": "ctrltabmru16.png", "48": "ctrltabmru48.png", "128": "ctrltabmru128.png" }, "permissions": [ "tabs", "scripting", "storage" \t],\t"host_permissions": [ ""\t], "commands": { "next": { "suggested_key": { "default": "Ctrl+Y" }, "description": "__MSG_shortcutNextDesc__" }, "previous": { "suggested_key": { "default": "Ctrl+Shift+Y" }, "description": "__MSG_shortcutPrevDesc__" } }, "content_scripts": [ { "matches": [ "" ], "js": [ "content.js" ],\t\t\t"css": [\t\t\t\t"content.css"\t\t\t], "run_at": "document_start" } ],\t"web_accessible_resources": [\t\t{\t\t\t"resources": [\t\t\t\t"content.js", \t\t\t\t"content.css"\t\t\t],\t\t\t"matches": [\t\t\t\t"*://*/*"\t\t\t]\t\t}\t],\t"incognito": "split"}
Read more