Explore options for tab integration with Unity top bar

Bug #749335 reported by giff gill
72
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Ayatana Design
Opinion
Undecided
Unassigned
Unity
Opinion
Undecided
Unassigned
chromium-browser (Ubuntu)
Opinion
Undecided
Unassigned
firefox (Ubuntu)
Opinion
Undecided
Unassigned
unity (Ubuntu)
Opinion
Low
Unassigned

Bug Description

Binary package hint: chromium-browser

Firefox and Chromium/Google Chrome when maximised align tabs right at the upper screen edge which speeds up accessing these tabs (see Fitts's Law, the time needed for accessing interface elements depends on their size, screen edges have indefinite width).

Unity instead of allowing applications to make use of this precious screen edge puts a global menubar to the top, the "panel". However both Firefox 4+ and Chromium unlike other browsers and most applications don't have (or need) anything like a traditional menubar. Therefore Unity wastes space (problematic for tablets and netbooks) and breaks application level usability.

I suggest to take clues from Chromium OS which puts tabs at the top, together with indicator applet like functionality (clock, network status).

tags: added: ui
Revision history for this message
Omer Akram (om26er) wrote :

haven't this been the case in Ubuntu from day1. with the current technology we have its not technically possible(I believe) to put tabs in the panel. I don't see this changing in Ubuntu.

Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

The difference with Unity is that the space at the top is actually free and tabs could be put there.
The GNOME top panel always houses the same OS level functionality no matter what application is active. The Unity panel is dynamic and fills itself with whatever menu functions the active application exposes. Chromium does not have a menu bar by default. So the panel is filled with a placeholder menu that isn't actually needed.

It's not technically possible today, the browsers needed to be patched and some indicator-tabbar function would have to be written but it is possible from an interface design point of view.

Second difference: GNOME top panel is an option, it can be removed without loosing functionality (see the layout in mint or opensuse). Unity forces one to use a top panel.

Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

Point 3: Natty is the first version shipping Firefox 4 as its default browser which also is the first Firefox browser to put tabs on top and got rid of the menubar.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Firefox 4 didn't get rid of the menubar. It put the menubar functionality in to a button on Windows, and provided the option of a button on Linux (the default is still a menubar). The menu button doesn't win us anything in Ubuntu, so we disable the button entirely and put the menu in the panel instead. Note that Firefox 4 and Chromium on the Mac also still have menubars.

Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

Firefox upstream defaults to no menubar in all configurations where that's possible. Just because OS X forces them and Chrome to use it doesn't mean we should copy that particular limitation.

The menu button design wins you vertical space:
https://lists.launchpad.net/ayatana/msg05330.html

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

> Firefox upstream defaults to no menubar in all configurations where that's possible.

No it doesn't. Have you tried an upstream build on Linux? It definitely has a menubar by default. It only has no menubar by default on Windows currently.

Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

I was wrong about the default, Firefox 4 final indeed defaults to the menubar. I could find a rationale for that in this short.
I suppose one reason is the level of Window decoration/WM integration needed. At any rate Firefox on Linux lacks the no titlebar maximised mode. Not because the devs prefer it that way but because it isn't possible to do so seamlessly across all different Linux configurations.

Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

could not*

But this doesn't really help us here. If upstream can't that doesn't mean Unity shouldn't or couldn't make use of an improved layout.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 749335] Re: unity breaks fullscreen tab on top (Fitts's law)

There are some very interesting ideas here. How about we promise to
explore that in Oneiric? As I understand it you want:

 * fitt's-law-friendly tab switching
 * prefer tabs-at-the-top to menu's-at-the-top?

That's enough to play with for now. Thanks for the report. I would leave
it open at low priority, named "Explore options for tab integration with
Unity top bar".

Mark

Paul Sladen (sladen)
Changed in ayatana-design:
milestone: none → later
tags: added: ocelot
Changed in ayatana-design:
status: New → Confirmed
importance: Undecided → Wishlist
status: Confirmed → Incomplete
Vish (vish)
summary: - unity breaks fullscreen tab on top (Fitts's law)
+ Explore options for tab integration with Unity top bar
Changed in ayatana-design:
status: Incomplete → Confirmed
Changed in unity:
status: New → Incomplete
Changed in unity (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
tags: added: needs-design
removed: chrome chromium firefox fittsslaw natty ui
Revision history for this message
giff gill (giffgilll-deactivatedaccount) wrote :

In reply to #9:
Yes, that sums it up. I agree with looking at this closer in Oneiric.

Revision history for this message
Flavio Zanda (mrzanda) wrote :

I don't think it is impossible to do at all.

Why not create a widget that copies the look of chrome's tabs? This widget would be put on the panel and would overlay tabs on it. This and Chromium's tab-bar could communicate through D-Bus much like global menu and chromium's menubar do at the moment.

Actually this could be made into an extension of global menu. The program could specify if it wishes to export a menu or the tabs and the global-menu-tab widget would overlay the right thing.

Chromium has to be patched accordingly, so that it exports page titles, favicons, and so that it responds to actions on the widget: not completely trivial, but hey, it's been done once already for the menubar.

Regarding theme compatibility: while creating a widget that overlays some default looking tabs on the panel won't be that hard to do, to make the program export the theme as well would be much harder. I say that the panel-tab-bar could have a default "unity" theme, which would look nice on both firefox and chromium, or any other program for that matter. This is important so that it won't be app-specific.

Revision history for this message
Evan Martin (Chromium) (evan-chromium) wrote :

Chrome's tab code is a lot more complicated than it might appear; I pity the person who would attempt to rewrite it. (Complex drag and drop behaviors, multiple types of animations in the icons, different sizes of tabs and positioning behavior, animations, http://www.theinvisibl.com/2009/12/08/chrometabs/ ...)

I think the only practical way to implement this would be if the top panel exposed an API for us to inject our tab strip in the right place. (The panel used to support panel applets, which more or less do exactly this; it would be a cool hack to make a "chrome tabs" panel applet, much like how the window switcher used to work. I think all this applet stuff has been removed in recent Ubuntus though.)

Revision history for this message
Matt Sturgeon (mattsturgeon) wrote :

i think the clean solution here is to allow applications to draw widgets in the top-panel (menu/titlebar area) and (maybe) the window's titlebar. This will allow developers to place menu-buttons (like firefox, M$ Office) and tabs (Firefox, Chrome) in the window-chrome and top-panel.

It may be worth making "window-chrome widgets" that applications can choose from (a widget toolkit for window-chrome/top-panel), in the interests of consistentcy.

This would open a new world of potential for UI design on Linux - especially if we could get patches upstream for xfwm4, kwin, metacity, emerald, and unity-compiz-decorator (or make a program that overlays the widgets over these WMs). Alternatively it would be great for this to be a FreeDesktop.org standard :-) (so we only have to code unity and metacity ourselves)

Revision history for this message
Ed Lin (edlin280-deactivatedaccount) wrote :

IMO this all needlessly complicates everything for everyone.

In the last couple of days I've written several lengthy emails in the ayatana mailing list arguing against a global menubar and suggesting to remove the top panel altogether. As a result application developers could make optimal use of the upper screen edge in a cross-platform and cross-toolkit way (=every Desktop OS except GNOME 3 and OS X, but the latter are at least partially doing away with the "forced" menubar as well from what I've seen in OS X Lion).

Not all mails show up yet https://lists.launchpad.net/ayatana/date.html

Changed in chromium-browser (Ubuntu):
status: New → Confirmed
Changed in firefox (Ubuntu):
status: New → Confirmed
John Lea (johnlea)
Changed in ayatana-design:
importance: Wishlist → Undecided
status: Confirmed → New
Andrea Azzarone (azzar1)
Changed in ayatana-design:
status: New → Opinion
Changed in unity (Ubuntu):
status: Incomplete → Opinion
Changed in chromium-browser (Ubuntu):
status: Confirmed → Opinion
Changed in unity:
status: Incomplete → Opinion
Changed in firefox (Ubuntu):
status: Confirmed → Opinion
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.