The XUL menus have been so easy to use and so well-received that my boss had a field day redesigning all of the Web pages to match the look and feel of the menus.
That's when I showed him that I could change my browser skin. Surprise!
Today, I attached a new stylesheet to the XUL and forced the menus to look like his Web pages, regardless of skin. I took it a step further and ensured that the font would be consistent, disabled menu items that aren't implemented and created an "in_progress" class that highlights menu items that are not yet complete. The testers can now easily see what is and isn't done and doing all of this is far easier than using wxPerl, wxPython, or DHTML.
There are still a couple of issues, though. In Mozilla based browsers, there is an arrow on the left side of toolbars that a user can click on and hide the toolbar. I haven't yet figured out how to remove that. Our boss has already clicked on that once and tried to figure out what happened to the menus.
Also, overriding the css has caused menupopups with submenus to not change color when I rollover them (though the arrow to the right changes color). I haven't figured out how to restore this behavior, either. Still, it's a blast getting to dig into a new technology.
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* set default namespace to XUL */
/* Kill icons on normal bookmarks */
toolbarbutton.bookmark-item:not(.bookmark-group):not([type="menu"])
>.toolbarbutton-icon {
display : none !important;
}
toolbarbutton.bookmark-item {
margin-left : 0 !important;
margin-right : 0 !important;
border-width : 0 1px 0 0 !important;
border-style : none solid none none !important;
border-color : #94A5BD !important;
}
/* Kill normal bookmark icons in the bookmarks menu */
menuitem.bookmark-item >.menu-iconic-left {
display : none !important;
}
/* Kill only default tabbrowser icons (no site icon) */
.tabbrowser-tabs *|tab:not([image]).tab-icon {
display : none !important;
}
/* dump some excess space around url bar: */
#nav-bar-buttons {
margin : 0 !important;
padding : 0 !important;
border : 0 !important;
}
.toolbarbutton-icon {
margin : 0 !important;
padding : 0 !important;
border : 0 !important;
}
.toolbarbutton-box {
margin : 0 !important;
padding : 0 !important;
border : 0 !important;
}
#nav-bar-inner {
margin : 0 !important;
padding : 0 !important;
border : 0 !important;
}
#urlbar {
margin : 0 !important;
padding : 0 !important;
border : 1 !important;
}
/* Eliminate the throbber and its annoying movement: */
#throbber-box {
display : none !important;
}
/* Eliminate the printer button: */
#print-button {
display : none !important;
}
/* Eliminate the search button: */
#search-button {
display : none !important;
}
/* Eliminate the go button: */
#go-button {
display : none !important;
}
/* Shrink tab titles */
.tabbrowser-tabs.tab-text {
font-size : 80% !important;
}
/*
The dropdown address and autocomplete windows are grey.
To make them match better with the URL field and look more like 4.x:
*/
/* URL dropdown box */
#ubhist-popup {
background : white !important;
border : 1px solid black !important;
padding : 0px !important;
}
/* autocomplete text field */
.textfield-popup {
background : white !important;
border : 1px solid black !important;
}
#ubhist-popup >.popup-internal-box, .textfield-popup > .popup-internal-box {
border-left : 1px solid white !important;
border-top : 1px solid white !important;
border-right : 1px solid white !important;
border-bottom : 1px solid white !important;
}