January 5, 2008

Firefox comes with a neat interface. But as you came here, I suppose you expect from your browser more than an average user.
Implicitly, you get long, unnecessary menus and redundant buttons. They just take space you could use to see web pages. So, why don’t you spend a few minutes cleaning it up so that you can get the most of it?


Table of contents

Customize toolbars:

Bookmarks Toolbar

Tabs

More


Customize toolbars

Let’s have a look at the standard interface. From the top, we have: menu bar, navigation bar, bookmarks bar and tab bar:
Firefox toolbars
First of all, let’s consolidate them into one or two bars (depending on the resolution and the size of your screen).
Open View » Toolbars » Customize... window.
Open Customize window
Tick the Use Small Icons box. Now the fun begins. You can drag and drop all the icons and boxes from the window to the toolbars and remove whatever you want from the toolbars. It is not possible to remove the menu here, so let’s use the menu bar first. I suggest moving the menu items to the right as you probably do not use them very often.

Customize window

So, drag the navigation buttons to the menu bar. If you are accustomed to the Alt-Home shortcut, you can safely remove the Home page button. Location box suits in the space between navigation buttons and menu items. I use Smart Keywords instead of Search box so I removed it.
Activity Indicator (spinning circle in the upper right hand corner) is unnecessary as well as status bar includes a page loading progress meter. You can also remove it using userChrome.css, I’ll describe how to do it later on.
Finally, you can add some Spaces to the bars to make it look clearer.

I managed to put everything in the menu bar so I unticked View » Toolbars » Navigation Toolbar Here’s the result:
Customized menu bar


Stop-or-Reload Button extension

Download Stop-or-Reload Button extension

You probably do use stop and reload buttons. But as they are never necessary together, why don’t you merge them into one? Once you install the extension, you will only see just one of the buttons at a time.


Advanced modification of the toolbars - userChrome.css

If you don’t know, check what userChrome.css is.
By adding a few lines you can get rid of anything you don’t need in the menu bar so that you can see as much of the current web page address as possible. So, let’s edit userChrome.css.


Remove the Edit and Help menus

Menus to remove

If you want to remove the Edit menu, you need to memorize some keyboard shortcuts:
Copy Ctrl-C; Paste Ctrl-V; Find Ctrl-F; Find next Ctrl-G; Select All Ctrl-A.

Probably you do not use Help menu as well. However, you can always access Help with F1 key.

I use Ctrl-H to access History so I removed this menu as well.

To remove the menus that you do not need, add the following lines to your userChrome.css:
/* Remove the Edit and Help menus */
#helpMenu,
#edit-menu
{ display: none !important }

Shortened menus

Id’s for all the menus are:
file-menu, edit-menu, view-menu, go-menu, bookmarks-menu, tools-menu, helpMenu
If you want to remove more menus, just add the #’s with their names after commas, e.g.:
/* Remove Edit, History and Help menus */
#helpMenu,
#edit-menu,
#go-menu
{ display: none !important }


TinyMenu extension

Download TinyMenu extension
HomePage

If you don’t like the idea of removing menus or need to compress it even more, consider using the TinyMenu extension, which replaces all the menus with a merge one and leaves just one dropdown menu in the bar.
TinyMenu extension in action


Menu Editor extension

Download Menu Editor extension

This small extension is probably one of my favorite. It allows you to remove any entries from the menus in the menu bar and from the context menu (right-click menu) as well.
Install it and open its options:
Tools » Add-ons » Menu Editor Options
A simple menu lets you untick all the entries which you do not want to see.
Menu Editor extension window
It lets you make your menu look really transparently, no matter how many extensions you’ve installed. To get the idea, have a look at my context menu:
Context menu modified with Menu Editor


Remove disabled Back, Forward and Stop buttons

The following tweaks remove the buttons when they are not necessary: Back button when there’s no page to go back to, Forward button when there’s no page to go forward to and Stop button when there is no page loading. Otherwise, they dynamically appear.

Open userChrome.css and add the following lines:

/* Remove Back button when there's nothing to go back to */
#back-button[disabled="true"] { display: none }

/* Remove Forward button when there's nothing to go forward to */
#forward-button[disabled="true"] { display: none }

/* Remove Stop button when there's no page loading */
#stop-button[disabled="true"] { display: none }

If you add the code below instead, you won’t see the Back/Forward if there’s nothing in browser history, the View Background Image if there’s no background image, the Cut/Copy/Delete if there’s no text selected, Paste menu item if there’s nothing in clipboard, the Reload All Tabs/Close Other Tabs/Close Tab on tab bar context menu if there’s only one tab opened.
/* Remove all disabled menu items */
menuitem[disabled="true"] { display: none }

As I mentioned before, I use Alt-Home shortcut instead of Home button. I removed it using View » Toolbars » Customize... window but you can also remove it via userChrome.css:
/* Remove Home button */
#home-button { display: none }

The Activity Indicator (circle in the upper right hand corner) can be removed via userChrome.css as well:
/* Remove Activity Indicator */
#throbber-box { display: none !important }


Remove padding from the navigation buttons

This userChrome.css tweak makes toolbars use less space around buttons, leaving more space for actual web pages. It alo affects additional toolbars (e.g Googlebar).
/* Remove extra padding of the navigation buttons */
.toolbarbutton-1, .toolbarbutton-menubutton-button
{ padding: 2px 3px !important }
.toolbarbutton-1[checked="true"],
.toolbarbutton-1[open="true"],
.toolbarbutton-menubutton-button[checked="true"],
.toolbarbutton-menubutton-button[open="true"]
{ padding: 4px 1px 1px 4px !important }


Remove the Go button in the location box and the magnifying glass in the Search box

I always hit enter after typing the address or the search query. Probably so do you. So you don’t need these buttons:
Unnecessary Go buttons

/* Remove Go button */
#go-button-stack, .search-go-button-stack
{ display: none !important }

/* Remove the magnifying glass in the Search box */
.search-go-button-stack { display: none !important }

What I achieved until now:
Result of customizing userChrome.css

Bookmarks Toolbar


Organize your bookmarks in folders

I consolidated the Menu and Navigation bars. Nevertheless, I like to have a good access to my Bookmarks toolbar so I’m leaving it. But it can still be optimized.
Start with organizing your bookmarks in folders if you have a lot of them. (right click on Bookmarks bar » New Folder…). Give short, relevant names to the folders and single bookmarks. The easiest way to do it is via the sidebar. Press Ctrl-B. You can drag and drop separators and bookmarks in it. Right click allows you to add separators and folders. Just play around with it for a while.
I’ll describe how to edit the Bookmarks Toolbar. Bookmarks visible on it are placed in the “Bookmarks Toolbar Folder”.
If you can’t see the bookmarks toolbar, click
View » Toolbars » Bookmarks Toolbar It is really useful.


Smart Bookmarks Bar extension

Download Smart Bookmarks Bar extension

This extension hides bookmarks names an only shows them on mouse over.
Smart Bookmarks Bar extension in action
You can modify its actions via
Tools » Add-ons » Smart Bookmarks Bar Options
Smart Bookmarks Bar extension options
Hide bookmarks names with no favicon option is responsible for hiding names of bookmarks of pages which do not have favicons - these bookmarks have the standard favicon assigned. I advise leaving it ticked. You can always use the next extension - Favicon Picker 2 - to solve this problem.
You can also make spaces between favicons smaller and auto-hide Bookmarks Toolbar (I personally find it irritating).


Favicon Picker 2 extension

Download Favicon Picker 2 extension

It is very useful combined with Smart Bookmarks Bar extension.
After installing it, you can change favicons assigned to your bookmarks.
One way to do it is via options window
Tools » Add-ons » Favicon Picker 2 Options
However, it is simplier to do it with a right click on a bookmark and then a click on Properties.
Using Favicon Picker 2 extension
Click Browse and find the favicon of your choice. Click OK. You should see the change now.

Some favicons collections:
Delta Tango Bravo
MpP Favicon Gallery
You can always google for more.

Tabs


Customize the display and location of the close tab button on the tab bar

You can edit this preference using about:config page. I will write about it in the future. If you do not now what it is, do not worry. Just enter about:config in the address box. You will see a page with hundreds of preferences. Find browser.tabs.closeButtons and double click it.
Customize tab close button
You can enter following values in the window which appears:

0 - display a close button on the active tab only
1 (default) - display close buttons on all tabs
2 - don’t display any close buttons
3 - display a single close button at the end of the tab bar (Firefox 1.x behavior)

Choose which suits you the best, type it and click OK.


Don’t use bold text on the active tab

Bold text on the active tab
If you do not want the title of the active tab to be bold, add the following code to your userChrome.css file:
/* Make the active tab not bold */
tab[selected="true"] { font-weight: normal !important }


Reduce tab width

If you do not have a widescreen and tend to open a lot of tabs simultaneously you may irritate because of the scroll which appears on the tab bar.
Scroll buttons on the tab bar
The scroll appears when the tabs are at the minimum width and still cannot fit in the Firefox window. The solution is to change the minimum width of the tabs. The default value is 100 pixels. Change it to around 75 pixels. The titles are still readable and more tabs fit in the screen.
Press Ctrl-L (move the cursor to the location bar) and type about:config. In the Filter box type browser.tabs.tabMinWidthDouble click on the preference name and change the default value in the new window to 75. Click OK.
Smaller tab width
Alternatively, you can type value 0 which, when necessary, makes titles disappear and leaves favicons only.
No minimum tab width


Make the active tab wider

Whilst 75 pixels should be enough for background tabs, the active one can be wider so that you can easily read its title. You just have to add the following lines to your userChrome.css: /* Make the active tab wider */
tab[selected="true"] { min-width: 200px !important }

I chose 200 pixels, probably 150 pixels should be enough for you.
Wider active tab


FaviconizeTab extension

Download FaviconizeTab extension

You will find this extension useful if you tend to keep some tabs opened all the time, e.g. Gmail or Google Reader.
You can place them in the beginning and minimize these tabs to the size of a favicon.
FaviconizeTab extension in action
You can either faviconize tabs by clicking on them or make faviconizing automatic by adding addresses of the websites which you want to always open in faviconized tabs.
FaviconizeTab extension options


ColorfulTabs extension

Download ColorfulTabs extension

ColorfulTabs extensions simply assigns colors to your tabs so that you can simply distinguish them.
Tabs with and without ColorfulTabs extension
The extension lets you choose the fading level of the tabs colors.


Vertical tab bar - Vertigo extension

Download Vertigo extension

Maybe you would like to have a vertical tab bar instead of the default one. You can simply achieve it with Vertigo extension.
Vertigo extension - vertical tabs
It allows you to change the width of the bar.
Vertigo extension options


More

Description of Firefox configuration files, including userChrome.css
Chrome element names and IDs
userChrome.css tweaks

RSS feed for comments on this post. TrackBack URL.

24 comments:

  1. Comment by usterk
    7:02 pm, February 2, 2008

    nice

  2. Comment by CoYoT
    7:08 pm, February 2, 2008

    Great article!

  3. Comment by FFfan
    10:19 am, February 3, 2008

    See: http://wfmh.org.pl/carlos/blog/2007/12/24/useful-firefox-plugins/ for wider set of useful extensions. None of them requires any hand editing, so even non-IT users can have FF tweaked

  4. Comment by imbiea
    6:34 pm, February 12, 2008

    This is fantastic! I have two questions, I’m hoping you can help with?

    Like the r-kiosk-0.6.0 plugin, I want to via Chrome or prefs of some type, I need to disable the right mouse click, and also need to disable other hot-keys.. i.e such as Alt-D or Ctrl-O..

    Can you oh great guru! let me know how to do that?

  5. Comment by Adam Zamozniewicz
    12:57 pm, February 13, 2008

    @imbiea:
    There are multiple ways to do it, you could for example edit the r-kiosk extension… The simpliest way I found though:
    1. you can disable the context (right click) menu by adding
    /* Hide context menu */
    #contentAreaContextMenu { display:none; }
    to userChrome.css
    2. to edit/change/disable keyboard shortcuts use the keyconfig extension: http://extensionroom.mozdev.org/more-info/keyconfig
    After you install it you can easily modify the default settings with Tools » Keyconfig menu (Ctrl-Shift-F12 shortcut).

  6. Comment by imbiea
    2:45 pm, February 13, 2008

    Adam, that’s perfect!

    I have two other questions..

    I also want to disable the right mouse click on the tool bar (to add back in the nav or bookmark bar, or customize), and also want to disable the search bar. (actually the whole nav bar, I’d like to disable)

    Thanks!

    Ira.

  7. Comment by imbiea
    2:49 pm, February 13, 2008

    How do you know about the list of these?

    i.e. contentAreaContextmenu?

  8. Comment by imbiea
    4:52 pm, February 13, 2008

    Ah, keyconfig doesn’t work with 2.0.12 :-( so I need to figured out how to simply disable all key functions.

    I figured out how to rid my self off all other menu items:

    menubar, menubutton, menulist, menu, menuitem { display: none; }

    :-D

  9. Comment by dereck
    10:47 am, February 14, 2008

    Great article but I would like to see the final result on one screeshot (the browser’s final look).

    Regards

  10. Comment by gubata
    9:32 am, February 20, 2008

    i realy like this
    /* Remove all disabled menu items */
    menuitem[disabled=”true”] { display: none }
    but can i make separators hide too, and show when need

  11. Comment by Adam Zamozniewicz
    10:30 am, February 20, 2008

    @gubata:
    You could probably write a js script for that, I don’t think it can be done automatically as it is not obvious when the separators are necessary :) However, you can just try to disable all the separators permanently. The id’s of context menu items (remove what you want to be visible):
    #context-back,
    #context-bookmarklink,
    #context-bookmarkpage,
    #context-forward,
    #context-openlinkintab,
    #context-openlink,
    #context-reload,
    #context-savepage,
    #context-selectall,
    #context-stop,
    #context-setWallpaper,
    #context-viewbgimage,
    #context-viewimage,
    #context-viewinfo,
    #context-viewsource,
    #context-sendpage,
    #context-sendlink,
    #context-sendimage,
    #context-savelink,
    #context-sep-open,
    #context-sep-copylink,
    #context-sep-stop,
    #context-sep-properties,
    #context-sep-viewbgimage,
    #context-blockimage,
    #frame-sep
    {
    display: none !important;
    }

    You can also remove the separators with MenuEditor extension.

  12. Comment by Adam Zamozniewicz
    10:35 am, February 20, 2008

    @dereck:
    yeah, I was thinking about posting it, but… well, everybody chooses different options and the way you tidy up your chrome depends on many factors, e.g. the resolution of your screen. And probably all the visitors need various sets of extensions and so on. But if you want to see it, here it is.

  13. Comment by gubata
    3:31 am, February 21, 2008

    btw im trying this on ff3 pre beta 4 trunk, e.g menu editor dont work

  14. Comment by nandu
    6:22 am, February 22, 2008

    I am trying to setup a kiosk without a keyboard with only a mouse or trackball. I have used slax and got most of what I want.

    I would like to disable the minimize and maximize buttons from the browser window retaining the kill button only. I have not had any success (tried the b5 theme in xfce). Can you give me some direction to solve this.

  15. Pingback by The Google Maven Blog » Firefox and Google Toolbar, a Perfect Combination
    6:36 am, February 23, 2008

    […] Customizable - I can add extensions and plug-ins I need, and also change the themes whenever I want. I can even move and remove icons, make them tiny or big, and re-arrange my toolbars to my heart’s content. […]

  16. Comment by chuck
    7:38 pm, March 4, 2008

    great stuff here.i wonder if you can help. i share the p.c with my girlfriend and is there a way to keep my bookmark favicons on the left and hers on the right of the toolbar?

  17. Comment by Adam Zamozniewicz
    6:35 am, March 6, 2008

    @chuck

    Well, you can sort bookmarks by simple drag and drop… I would consider using two profiles, though: http://improvefirefox.com/multiple-firefox-profiles/

  18. Comment by chuck
    9:59 pm, March 15, 2008

    thanks for replying, i never knew about the profile feature. i know what you mean about the drag and drop. i was thinking about how they always list from left to right. can you make it so i can attach hers to the right side, both meeting in the centre. take care, see you soon

  19. Comment by Michael
    11:54 am, August 6, 2008

    Wow, I just lost an hour and a half fiddling with this… Thanks for creating such a useful article!!

  20. Comment by Yon
    1:55 pm, September 13, 2008

    I don’t like the interface changes that were applied to the new Firefox3 (the buttons image), the old interface was the reason i downloaded it, because internet explore made a similar update earlier… now you made Firefox’s interface like internet explorer…
    Firefox should warn you when the update is major one, i thought it was an update to fix bugs

    The new interfaces suck… first windows vista… then Itunes… now Firefox… what a shame

    now the only reason I still use Firefox its because it’s the only browser with the Torrent finder toolbar

  21. Comment by John
    8:21 pm, March 15, 2009

    Or you could just download Chrome. Seriously. It’s designed to be a minimalist browser.

  22. Pingback by CSS Design Improvefirefox.com
    2:53 am, March 23, 2009

    […] Improvefirefox.com […]

  23. Comment by Mia Junk
    11:54 am, March 30, 2009

    This is excellent information and thanks for sharing. My challenge is to simply reorder the menu bar menu’s i.e. File, Edit, View, History, Bookmarks, Tools and Help.

    I have tried UI various tools but none seem geared to do this and the View /Toolbars /Customize /Settings option only allows you to hide the menus in the Menu Bar not to change the order of the menus as I would like to do.

    I think this may only be possible through editing the userChrome.css but I’m not currently up to speed on the details of how to modify it to achieve what I want to do. It frustrates me that for all FF’s customization capabilities that this simple task cannot be achieved easily.

  24. Comment by Adam Zamozniewicz
    12:57 pm, March 30, 2009

    You’re right, the main menu can be reordered with the userChrome.css. You need to change the values of the property -moz-box-ordinal-group - the entries with lower values are displayed first. The example should explain it, paste the code into the userChrome.css file and restart Firefox to see the result:

    #bookmarks-menu { -moz-box-ordinal-group: 1 !important; }
    #go-menu { -moz-box-ordinal-group: 2 !important; }
    #file-menu { -moz-box-ordinal-group: 3 !important; }
    #view-menu { -moz-box-ordinal-group: 4 !important; }
    #tools-menu { -moz-box-ordinal-group: 5 !important; }
    #help-menu { -moz-box-ordinal-group: 6 !important; }

Leave a comment: