MRU Tab navigation is one of the most requested features for Google Chrome. Unfortunately the developers marked this request as “wont fix” and IMHO this missing feature is keeping many of the potentially Chrome users away from this good browser.

What is MRU Tab navigation ?

MRU is an acronym for “Most Recently Used” and it basically describes the order in which something happens (in our case, it basically says that when pressing CTRL+TAB, Chrome should switch tabs not in the creation order, but in the order I viewed them – actually reverse order ). Let’s see a small example:
- I open 3 tabs, in this order: Tab 1, Tab 2, Tab 3
- in current Chrome implementation, pressing CTRL+TAB will cycle through tabs in this order: 1, 2, 3, 1, 2, 3, 1, ….
- the usability problem comes if for example, I want to copy some parts of text from Tab 2 to Tab 3, so I have to cycle between Tab 2 and Tab 3, without having to go through over tabs (Tab 1 in our case). In FF if I am viewing Tab 2 and then switch to Tab 3 and then press CTR + TAB, the browser switches to Tab 2, which is my last viewed Tab (Most Recently Used – MRU)

Fixing the issue

Since Chromium developers are not planning to fix this issue, at least not in the near future, we have to find a workaround for this and make Chromium somehow a little more usable by those used with MRU tab navigation. Since version 3 (I think) Chrome comes with extensions support enabled by default. An extension is a little program (add-on, plugin) that enhances the browser by adding, modifying or even removing certain behaviors, features, etc.

In October 2009 I have created such an extension that replaced the Chrome’s default tab navigation with MRU navigation. It worked by injecting a small JavasScript snippet in HTML pages that intercepted the CTRL+TAB key combination and called a custom handler. Unfortunately I had a big surprise when Chromium developers decided to remove support for intercepting key combinations already used by the browser (like CTRL + TAB) in the next dev version. I left the extension untouched while waiting for the Chromium developers to implement another widely requested feature (this time by extension developers) which is the possibility to define custom global key events for extensions. Since the time passed by and I saw that in the last couple of weeks there were many posts in the dedicated item opened in Chromium issues tracking system, I thought I should give some alternative to CTRL +TAB, without actually using CTRL+TAB. The answer came from one of the posts that was referencing an extension that was reordering tabs and used another key combination. I know, I know this should have been the first solution that should have been coming into my mind, but it wasn’t :) Anyway, I changed the key combination to CTRL+` since the ` key is very close to TAB and I think the migration should be easy.

Extension

Name: Chrome MRU tab navigation
Version: 0.1.5
Install: click here
Usage: press CTRL+` instead of CTRL+TAB to switch between tabs. CTRL+TAB still works but in default behavior.
Tested on: Chrome 4.0.249.78 and 5.0.307.1 (drop me a line if you tested it in other version and it works)
Known issues:
- since the extension is relying on injecting JavaScript into pages, it works only on tabs that contain HTML pages. This will be fixed when Chromium developers will decide to add global hot keys handling;
- it seems like the keyCode generated for the ` key is different across keyboard layouts  and hardware. I managed to find a second keyCode (thanks Tom), but there may be others, so if you install the extension, but nothing happens when you press CTRL+` and want to help me fix the problem, just leave me a message at hpuiu {a.t.} xentra {d.o.t.} ro since v 0.1.5 you can now set any key combination you want via plugin options page, so this is no longer an issue;
- I found out that the extension doesn’t work in GMail (v0.1.3), I’ll look into it This issue was fixed in 0.1.4 .

Changelog

v 0.1.5
- added options page to allow user to select a custom shortcut for tab switching

v 0.1.4
- fixed a bug that prevented tab navigation in pages containing one or more frames/iframes when they had focus (like GMail)

v 0.1.3
- fixed a bug that prevented tab navigation for some keyboard layouts (like uk)

v 0.1.2
- changed hotkey to CTRL+` since CTRL-TAB is no longer accessible for extensions (at least for now)

v 0.1.1
- fixed a bug that was causing incorrect tab switching after last tab in the list
- added update support
- fixed some ‘undefined’ checks

Hope you enjoy it and if you feel like something can be changed to make it better, just leave a comment.

Trackback

16 comments untill now

  1. I’ve installed this on Chrome for linux (system details below). It works great, as described. Thank you for writing this extension.

    Environment:
    Chrome 4.0.249.43
    Distribution: Ubuntu 9.10

  2. I have two solutions for you that solve a lot of the problems connected with this:

    1: use Ctrl- and the number of the tab you want to see. This works in FF and Chrome. Very fast, no doubts where Ctrl-Tab will take you, consistent navigation.

    2: If you need to jump back and forth between 2 tabs to copy stuff, don’t. Instead use multiple clipboard. In OS X I use Jumpcut. On Windows there is CLCL. This (ofcourse) works between applications, browser windows, Word documents, you name it.

  3. @Niels Born, welcome and thanks for sharing your thoughts. However, I must disagree with you. You are actually saying that we should change our UI habits (I am using CTRL+TAB since first IDEs and Office suits) for just one or two applications. UI best practices actually says that an application’s UI should take as much advantages as it can from user’s already developed habits. What if someone will create windows that closes from an Y sign (not X) situated on the bottom left corner (instead of top right) and ask everyone else to learn his way of closing windows if they want to use his software? I have some doubts in regard of the number of users that will actually use it, no mater how great it is. just my 2 cents.

  4. I didn’t say that you should not implement the solution you’re offering :) For people that are used to it: good for them. I also sometimes still use Ctrl-Tab.

    I’m offering an (in my opinion) superior way of solving the problem you describe: copying and pasting multiple times while switching back and forth between 2 Chrome tabs when there are more than 2 open.

    Lastly: changing UI interactions isn’t inherently bad, if you can offer the user an easily understandable and superior alternative: go for it. Else we’d be walking around with cell phones with spinning disks on them for dialing a number :)

  5. @Nels
    - there may be a better way for anything, however the shortest path to somewhere is the path you know :) Chrome also has CTRL+PGUP and CTRL+PGDN that are navigating back and forth through opened tabs, but I never could get used to it.
    - copying/pasting was just an example, I may want to change between last two tabs because I want to read something while some large video is uploading on YT and I need to switch back and forth to see if the upload is complete and if not just get back to my reading :)
    - CTRL+TAB_NUMBER is a good solution for first few tabs, but gets harder to use the greater the tab number (especially if you use the keyboard with one hand and keep the other on the mouse most of the time).

    I agree that change is evolution, but I thing small changes are catchier ;) and you should offer a better alternative instead of no alternative ;) My other 2 cents :D

  6. The shortcut setup is not optimal. It doesn’t work for me in my default keyboard layout (Spanish [Argentina]), because it has the ` key mapped to |. There isn’t even a way to use `. The problem is that if you try and map every keyboard layout, you’ll be using a lot of shortcuts for a single feature. Isn’t there a way to map the shortcut to, for example, Ctrl+[Caps Lock] (which won’t change in any layout)?

  7. Hi Rex,

    Unfortunately CTRL+[Caps Lock] is not an implementable solution. The best way to do it is to have a configuration page which would let you define the key combination to whatever you like. I’ll look into this in the next days and make an update to the plugin. Thanks for your feedback.

  8. A new version was just released. You can now choose whatever keyboard shortcut you want from the extension’s options page. Enjoy!

  9. Andrew Levitt @ 2010-06-09 22:16

    First thank you a million times for solving this stupid problem. Second where can I get v. 0.1.4, the lack of tab switching in GMail is driving me nuts!

    A

  10. @Andrew

    Why don’t you use v0.1.5? Are there any issues I don’t know about?

  11. @hpuiu, thanks for this extension, what a time saver! I am using it with 5.0.375.99 and it works very well.

    The default behavior of CTRL-Tab in Chrome is useless and it’s sad to see that the developers of chrome have just marked the feature request as “wont fix” with no explanation, especially with such high demand. It’s also a shame that they have blocked extensions from overriding the default behavior of ctrl-tab.

    Cheers,
    ewH

  12. doesn’t work when viewing:

    https://chrome.google.com/extensions/

  13. Doesn’t work in 7.0.517.41

  14. @jugg: Indeed it doesn’t work on that URL, I’ll look into it. Thanks for the report !

    @ewH: I have updated my Chrome version to 7.0.517.41 and it is working just fine. Can you please uninstall and reinstall it from the URL in the article? Thanks.

  15. Fantastic idea but doesn’t work for me – Chrome 11.0.696.34 beta

    If you fix this and get it to show all tabs even when there’s a lot, I’ll very gladly donate! Thank you.

  16. @Les: Tested it on 12.0.725.0 dev and still works fine.
    Have you restarted the browser after installing the extension? Regarding donations: I am not taking any donations, thank you. If you saw donations request for this extension, it is a scam, do no donate!

Add your comment now