Closed Bug 385211 Opened 13 years ago Closed 12 years ago

replace tablist dropdown with fast tab switch panel

Categories

(Firefox :: Tabbed Browser, defect)

x86
All
defect
Not set

Tracking

()

RESOLVED WONTFIX

People

(Reporter: vlad, Assigned: vlad)

Details

Attachments

(2 files)

I'd like to replace the tab list dropdown with a more useful popup for switching/selecting tabs.  This is based on the emacs iswitchb mode, which lets you filter a list of buffers/tabs by typing part of the name, much like type-ahead-find works.   (There's an existing addon at https://addons.mozilla.org/en-US/firefox/addon/3919 that implements something like this, but it's very feature-light.)

I originally wrote the first patch of this for firefox core, triggered by a hotkey; mconnor suggested that we should replace the tablist dropdown and give that dropdown a keyboard shortcut.  I'll attach a) the patch for firefox core; and b) a screenshot.  The integration into the tablist dropdown is a patch to tabbrowser (instead of to browser/base), but that'll be a bit until I figure out how to handle events.
Here's a screenshot of the dialog version.  Typing filters the list of tabs, up and down keys move the highlight up and down, enter selects, escape cancels.
Assignee: nobody → vladimir
Status: NEW → ASSIGNED
Work in progress patch... having issues getting the keypress event handler to fire.
FYI, I'm using a panel here and a keyup event handler which is added to |window| as the panel opens and removed as it closes:

http://en.design-noir.de/mozilla/ctrl-tab/
jar:http://en.design-noir.de/mozilla/ctrl-tab/0.11.6-fx3.xpi!/chrome/content/ctrl-tab.js
Hmm, tried that, didn't help.  What I did notice is that if I hit the tab dropdown, then click on the readonly input field, and then click on, say, the window titlebar (which closes the popup), -then- any keys that I press end up going to that binding's <handler> for keypress.  If I don't click on the readonly input field, then the tabstrip has focus and it's getting key events.

But nothing seems to be getting key events while the panel is open.
Is this coming in Firefox 3 or no? 

I really think it should. Today the tab changing process (Ctrl+Tab) is very blind, in a sense that the user really does not see whats happening or what tabs is he crossing. At the minimum, we can pop-up the 'All Tabs' menu when the user flips Tabs so that he can atleast see where is he headed to. And once the user releases the Ctrl-Tab button, the All Tabs menu pop-up can be closed.

This is ofcourse the minimum. Anything adavanced is welcome.

Even something like what Opera does... shows the list of Tabs in the middle of the screen when the user is switching tabs is quite good. 

Basically, we do need some sort of visual feedback, even a basic one would do.
Comment on attachment 273064 [details] [diff] [review]
work in progress broken patch, for neil

>-          <xul:menupopup class="tabs-alltabs-popup"
>-                         anonid="alltabs-popup" 
>-                         position="after_end"/>
>+          <xul:panel class="tabs-alltabs-popup"
>+                     anonid="alltabs-popup" 
>+                     position="after_end"/>
>         </xul:toolbarbutton>
>       </xul:stack>
>       <xul:hbox class="tabs-closebutton-box" align="center" pack="end" anonid="tabstrip-closebutton">
>@@ -2921,10 +2921,38 @@
>   -->
>   <binding id="tabbrowser-alltabs-popup"
>            extends="chrome://global/content/bindings/popup.xml#popup">

In case you haven't noticed yet, this shouldn't extend #popup but #panel.
couldn't be possible to add a new button instead of replacing the dropdown?
What about ctrl+mouse scroll (while hovering tabs bar)... I still like the idea of a visual interface, but I'd rather use something hidden and quick.

A suggestion towards visual interface; Ctrl+alt+tab brings up thumbnail screenshot of tab right below the tab in tab-bar, scroll or arrows through the tabs or click...
Bug cleanup; Dao's working on a different version of this for Fx3.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.