Dave Hyatt wrote:
> I have made some changes to the navigator UI recently that I am now
> holding in my local tree. I am making a public post here because I am
> seeking approval from Mozilla to land these changes into the Mozilla
> tree.
> The changes in question all revolve around issues I have with the
> current structure of navigator.xul, namely that it is too complex and
> that it makes specific assumptions about the structure of the XUL that
> are not acceptable for other Mozilla skins.
> It is my belief that the content, the XUL, must be designed to be
> skinnable, so that when Mozilla begins accepting other skins, those
> skins aren't constrained by some of the oddities that plague the current
> navigator XUL file.
> I am listing below the changes that I have made, along with a
> justification for each change below.
> (1) The personal toolbar was moved back to its original position and its
> font size has been restored to normal.
> Justification: The problem with the XUL file right now is that it forces
> the toolbar to live above the command toolbar. This visual look really
> only works when the toolbar has a very tiny font. If you try increasing
> the font and leaving the personal toolbar where it is, you'll see that
> it doesn't work in that position.
> With the personal toolbar underneath the command toolbar, the font size
> becomes less relevant, and users familiar with 4.x find the bookmarks
> button and the personal toolbar buttons in a more familiar location.
> (2) The menu bar has been placed back inside the toolbox.
> Justification: It was the intent of the menu bar's design as a XUL
> widget all along that it be used inside a toolbox, so that it can pick
> up all of the functionality that the toolbox will provide when
> complete. This functionality includes reordering of toolbars and menu
> bars, the ability for toolbars and menu bars to occupy the same line,
> the ability to float and dock elements of the toolbox, and the ability
> to collapse both toolbars and menu bars.
> Many members of the Mozilla community have asked for these capabilities
> from menu bars, and we have listened, and that's why we designed the
> menu bar as a derived toolbar object.
> By taking the menu bar out of the toolbox you lose these capabilities,
> and you prevent other Mozilla skins from taking advantage of those
> capabilities. Therefore I believe it is in Mozilla's best interest to
> return the menu bar to its rightful place inside the toolbox.
> (3) The personal toolbar is now grey and now extends all the way to the
> right edge of the window.
> Justification: There are several reasons for these changes.
> First of all, the command toolbar has a grey stripe along its base, and
> this allows the personal toolbar to join seamlessly with the toolbar
> above.
> Second, the blue color of the toolbar forced it to incorporate a rounded
> corner effect that would cause problems if the personal toolbar were to
> be reordered by the user.
> Third, the personal toolbar was losing 68 pixels on its right hand side
> to a throbber that wasn't even contained within the toolbar itself.
> This damaged the usefulness of the toolbar, since it cut down the number
> of links you could hold. By making the personal toolbar grey, its
> contents can span all the way out to the right hand side, going
> underneath the throbber, without clashing.
> (4) Home and My Netscape were removed from the Mozilla XUL.
> Justification: The latter doesn't belong in the Mozilla chrome, and the
> former doesn't belong in the XUL. It needs to be placed into an RDF
> data source so that a user can remove it from the personal toolbar
> without having to resort to an arcane overlay patch (which is what would
> be required otherwise). Alternatively it should be moved to another
> location in the UI. The user's personal toolbar is just that: a
> personal toolbar. It is not in the best interest of Mozilla to place
> buttons into a toolbar that has been designated as a user's personal
> space that cannot be deleted.
> Maybe Netscape wants to plague the users with undeletable buttons, but
> that is not a pattern that Mozilla should support, perpetuate, or lend
> its assistance to in any way.
> (5) Icons were placed back into the Personal Toolbar and into the
> Bookmarks menu.
> Justification: The current XUL scheme of using spacers that flex is way
> too complicated. This was done precisely because a visual break was
> required in order to be able to distinguish the links from one another.
> A much simpler tactic, one that hardly even consumes more space, given
> the large size of the spacers in question anyway, is to rely on icons to
> get the visual break you need (just as in 4.x).
> With this design, the personal toolbar can become what it was meant to
> be: simple... nothing more than a toolbar with titledbutton children.
> The extra boxes and the flexible spring spacers can be eliminated.
> Other Mozilla skins should not have to contend with complicated XUL
> here. This also simplifies drag and drop on the personal toolbar, since
> we don't have to contend with all the extra content (springs and boxes).
> With the return of icons to the personal toolbar, it seemed consistent
> to also have those icons in the popup Bookmarks button on the personal
> toolbar, and once there, it seemed consistent to also have them in the
> Bookmarks menu accessible from the menu bar.
> Also, since Messenger uses icons in its menus to represent mail folders,
> it seemed that icons should also be present in Bookmarks menus for the
> sake of consistency.
> (6) The menu bar was changed to be grey.
> Justification: In order to achieve a rounded corner effect, a slice of
> white padding was placed on top of the command toolbar. Because the
> menu bar was white, this padding was needed in order to do a grey
> rounded corner edge on the command toolbar. Of course the big problem
> here is that the Macintosh has no menu bar in the window, so this just
> looked stupid on the Mac. So justification #1 for this change is that
> we should not have platform-specific CSS just because we want to achieve
> a rounded corner effect. That's overly complex.
> Secondly, by making the personal toolbar and the menu bar different
> colors, you end up having to write two complete sets of rules for the
> popup menus that are accessible via both, and you end up needing
> different images for both (consider the submenu arrows and check menu
> images, which would have to change based on the color of the menu). It
> is a far simpler design to have a single consistent color for menus,
> regardless of which toolbar they live on, and to do that, the toolbars
> should be colored consistently.
> Third, the white color simply didn't look good on the menus. This
> problem was especially noticeable with context menus. The white menu
> appearing on top of the typical white Web page background simply didn't
> work on Unix or Win32.
> So to finish up, all of these changes were made to simplify the XUL for
> other Mozilla skins. Because this XUL is not simply the province of a
> single skin, but is something that other skin designers are going to
> have to live with, it is up to us to make it simple, functional,
> elegant, and intuitive.
> That's what these changes are about. I am submitting these changes to
> Mozilla in the hopes that they will be accepted.
> Thank you,
> Dave
> (hy...@netscape.com)