[Firefox3] Removing Menu Bloat (Guide)


Recommended Posts

With the release of Firefox 3 RC1, Firefox3 is right around the corner, so I figure this is the perfect time to share with everyone a fix to a common annoyance: There's just too many menu items, and 99% of people never use half of them. Add a couple of Extensions, and the next time you right-click it might take you an extra 15 seconds to wade through all the options to find the actual functionality you are looking for.

Some menu entries are redundant, archaic and/or pointless. When was the last time you needed to use File -> Send Link... to email a link to someone? Probably quicker to fire off an IM, right? File->Open Location does nothing more than focuses on the Location bar. Tools->Web Search does nothing more than change focus to the Search Bar. I don't get it either.

And somethings are just easier to do some other way. Why Right-click and select "Back" from the context menu when 99.9% of the time you click the big new keyhole shaped back button? Maybe you're not a keyboard shortcut junkie, but I bet you probably have used Ctrl+X, Ctrl+C and Ctrl+V to cut, copy and paste before. Maybe you've even dabbled in Ctrl+A (Select All), or know that Ctrl+B and Ctrl+H open the Bookmark and History sidebars. Maybe you've installed one of the many mouse gesture extensions or do what I do and use mouse gestures in all of windows. Do you really need 50 menu entries to do those things then? No WAY!

Some Basics

There's basically two areas of focus for bloat removal:

  • The Context Menu, which is what pops up when you right-click on a web page,
  • and the Main Menu which is found on the toolbar.

For the most part, Firefox uses the same rendering engine to render it's interface that it does to draw webpages. There's pluses and minuses to this approach, but one of the positives is that it's very easy to customize, and in this context, remove menu items. All you need is a little CSS code, and things go away!

Another note: this guide is specific to Firefox 3, and some things will not work with older versions. The reason for this being that some of the CSS code which identifies the individual elements and classes has been changed. This change may also mean that some code that you find elsewhere on the web may not be up to date with Firefox3, and thus may not work.

So lets get started!

Menu Editor

Like almost anything when it comes to customizing Firefox, there's the efficient-but-unfriendly way of doing things and then there's they somebody-already-wrote-an-extension-for-this way. Menu Editor is that extension.

2.png

The interface is clean and obvious, so I won't go into a lot of detail about this extension in this guide. But it should be noted that Menu Editor has an advantage over the below method. It allows you to re-arrange items in the lists, via drag and drop. This is beyond the scope of the simple .css knowledge I have or have been able to find elsewhere on the web.

Menu editor is kept up to date rather well, and currently works flawlessly with Firefox3 RC1.

userChrome.css

Now, the "nuts and bolts" way of removing menu items is to edit Firefox's configuration files with a text editor. Why do this when there is MenuEditor you may ask? Well, there's a few reasons:

  • You don't need to install an extension for everything
    When people get into the mindset that they do, they eventually run into some sort of compatibility problems and think there's something wrong with firefox.
  • Installing extensions slows down Firefox.
    Each extension adds more code to Firefox which can cause longer load/unload times and more memory use. And if you're the kind of person who's trying to escape menu bloat, you probably appreciate avoiding extension bloat.
  • You only have to do it once
    Menu Editor is probably an interface you'll only interact with once or twice. So why would you want to have it installed all the time?
  • No compatibility issues
    You don't have to worry about userChrome.css refusing to load when you upgrade Firefox like you would an extension. Sure, a few individual identifiers may break on the next major backend change (Gecko 2.0), but most things will probably stay the same.
  • Menu Editor adds another thing to click.
    And you hate irony. ;)
  • It gives you that 1337 feeling
    You know you love it.

Still, there will be those people who will be baffled by the below method. In that case Menu Editor is for you. (don't feel bad, just say that you "have a life" :) )

Basic questions

Here are some basic questions that I'm not going to bother to answer, because Mozilla already gives better answers than I ever could. Just click the link if you need the answer.

My Code

The following is a slight derivation of my code that I use each and every day. Basically I make use of the keyboard shortcuts I listed above in the intro, and have removed all the redundant and flat out useless menu entries. I've tweaked it slightly because I remove the bookmarks menu, and I figure that is probably a little too much for most people.

It should also be noted that this code is optimized for Windows. Mac versions of Firefox (and Linux to a lesser extent) moves some things around to be in tune with their interface guidelines.

/*=========================Removing Unnecessary Items=================== */

/* Remove the Edit and Bookmarks menu*/

#navigator-toolbox menu[label=Edit],

/*#navigator-toolbox menu[label=Bookmarks],*/

/* Remove Main Menu Items*/

/*File Menu*/

#navigator-toolbox menuitem[label^=New Tab],

#navigator-toolbox menuitem[label^=Open Location],

#navigator-toolbox menuitem[label^=Open File],

#navigator-toolbox #menu_sendLink,

#navigator-toolbox menuitem[label=Close Window],

#navigator-toolbox menuitem[label=Close Tab],

#navigator-toolbox menuitem[label^=Close Tab] + menuseparator,

#navigator-toolbox menuitem[label^=Import] + menuseparator,

/*View Menu*/

#navigator-toolbox menu[label=Toolbars],

#navigator-toolbox menu[label=Sidebar],

#navigator-toolbox menuitem[label=Stop],

#navigator-toolbox menuitem[label=Reload],

#navigator-toolbox menuitem[label=Reload] + menuseparator,

/*History Menu*/

#navigator-toolbox menuitem[label=Back],

#navigator-toolbox menuitem[label=Forward],

#navigator-toolbox menuitem[label=Home],

/*Bookmarks Menu*/

#navigator-toolbox menuitem[label=Bookmark This Page],

#navigator-toolbox #subscribeToPageMenuitem,

#navigator-toolbox menuitem[command=Browser:BookmarkAllTabs],

#navigator-toolbox menu[label=Bookmarks Toolbar],

#navigator-toolbox menu[label=Bookmarks Toolbar] + menuseparator,

/*Tools Menu*/

#navigator-toolbox menuitem[label=Web Search],

#navigator-toolbox menuitem[label=Web Search] + menuseparator,

#navigator-toolbox #abp-menuitem,

#navigator-toolbox menuitem[label=Page Info] + menuseparator,

/*Help Menu*/

#navigator-toolbox menuitem[label=For Internet Explorer Users],

#navigator-toolbox menuitem[label=Report Web Forgery...] + menuseparator,

/*Remove Tabbar Context Menu Items*/

.tabbrowser-strip menuitem[label=New Tab],

.tabbrowser-strip menuitem[label=New Tab] + menuseparator,

.tabbrowser-strip menuitem[label=Undo Close Tab] + menuseparator,

.tabbrowser-strip menuitem[label=Close Tab],

/*Remove Document (webpage) Context Menu Items*/

#context-openlink,

#context-openlinkintab,

#context-sep-open,

#context-bookmarklink,

#context-sendlink,

#context-viewimage,

#context-sendimage,

#context-setWallpaper,

#context-setDesktopBackground,

#context-blockimage,

#context-back,

#context-forward,

#context-reload,

#context-stop,

#context-sep-stop,

#context-bookmarkpage,

#context-savepage,

#context-sendpage,

#context-sep-viewbgimage,

#context-viewbgimage,

#context-cut,

#context-copy,

#context-paste,

#context-delete,

#context-sep-paste,

#context-selectall,

#context-sep-selectall,

#frame-sep,

#context-sep-properties,

#context-viewsource,

/* Hide the Updates Button regardless of update(s) status. */

toolbarbutton[type=updates]

{display: none !important;}

Understanding the Above

Now, I didn't fully syntax highlight the above there, but I did use green to highlight the comments (which are text ignored by the CSS interpreter). I used the comments to help organize the code into it's obvious sections so that you could better understand it.

The most important line in the very last one (the one I colored red). That is the actual property that hides the items. The rest of the lines are Identifiers which point to the menu items, separated by commas so that they are all associated to the last line. You could honestly put this last line after each individual identifier instead of the commas, but I personally think that is a bit less tiddy.

Another thing you may be wondering is why I put #navigator-toolbox in front of all my main menu commands (not all guides and examples will do this). Well, the answer is simple: that restricts it to that command found on the main menu.

Example:

Before the new "Places" feature of Firefox3, there was the old bookmark manager. That bookmark manger had an Edit menu. So if you wanted to remove the (IMO) pointless Edit menu from the main window and you didn't use #navigator-toolbox you also accidentally removed the (not so useless) edit menu from the bookmarks manager as well.

This caused me headaches many times. :pinch:

Modifying the Above to Best Suit Your Needs

Obviously you and I may not have the exact same usage patterns. That's fine, you just need to tweak the above code then, to bet suit you.

If the above code is a little to "heavy-handed" for you, and you're really missing a menu item it removed, getting that menu item back is as easy as deleting or putting /*comment delimiters*/ around the item you want to bring back. Most of the names are self explanatory.

If there is an item you want to further remove, you can search the below links for the identifier, or ask here (I'll try to find it) or on the Mozillazine forums Or you can search them out with the DOM inspector.

I'm sure I can expand this section, so if you have any questions, ask them below.

Useful Links

I hope you found this guide useful!

Edited by shakey_snake
Link to comment
https://www.neowin.net/forum/topic/638769-firefox3-removing-menu-bloat-guide/
Share on other sites

very nice tuto man ... the new ff3 rc1 seems to be much better even tho none of my previous extensions or themes work on it yet ..

but now am kinda into opera .. its very easy and fast

quick question?

can i make a quick startup page in firefox like the one on opera if so then it would be awesome .. thanks in advance mate

very nice tuto man ... the new ff3 rc1 seems to be much better even tho none of my previous extensions or themes work on it yet ..

but now am kinda into opera .. its very easy and fast

quick question?

can i make a quick startup page in firefox like the one on opera if so then it would be awesome .. thanks in advance mate

The default start up page is Google. If by start up you mean Home Page?

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Universal Media Server 15.6.0 by Razvan Serea Universal Media Server is a DLNA-compliant UPnP Media Server. UMS was started by SubJunk, an official developer of PMS, in order to ensure greater stability and file-compatibility. The program streams or transcodes many different media formats with little or no configuration. It is powered by MEncoder, FFmpeg, tsMuxeR, AviSynth, MediaInfo and more, which combine to offer support for a wide range of media formats. Because it is written in Java, Universal Media Server supports all major operating systems, with versions for Windows, Linux and Mac OS X. To see a comparison of popular media servers, click here. Universal Media Server 15.6.0 changelog: General Added Discogs integration for audio metadata and UPnP Added new options for DNS resolution handling (thanks, @henry701 Henrique Campos!) Added a loading indicator to the Shared Content area on the web settings (#6037) Improved detection of sample videos Improved stability of speed test (thanks, @henry701 Henrique Campos!) Fixed support for servers with no Internet access (#6047) (thanks, @henry701 Henrique Campos!) Fixed wrong Linux yt-dlp binary being packaged (#6011) (thanks, @Pro-pra!) Fixed API lookups happening for TV series when episode lookup fails, even if the series metadata is already in the local database (#6080) Fixed JDK being used in Docker image instead of JRE (#6089) (thanks, @mvanhorn Matt Van Horn!) Fixed editing a video feed on the web settings erases the URL (#6046) (thanks, @serinekjo kjo!) Fixed docs for FFmpeg GPU support (thanks, @Harshit-dell Harshit Kumar Sahu!) Translation updates via Crowdin Dutch (97%) (thanks, Lefteye!) English (United Kingdom) (80%) (thanks, Andi Chandler!) Italian (63%) (thanks, parduz!) Portuguese (Brazilian) (67%) (thanks, Henrique Campos!) Download: Universal Media Server 15.6.0 | 157.0 MB (Open Source) Download: Other operating systems View: Universal Media Server Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • When you're in enterprise IT environment, you're kinda forced into it...otherwise I'm not touching any mail client for personal use.  I can't stand New Outlook. It's complete trash - half the features I need in (Classic) Outlook are just missing in New Outlook. I haven't talked to a single person who actually likes the new client. 
    • I think it's cute that Apple is implementing their tools at precisely the same evolutionary level as other devices' tools. In other words, I see no innovation; it's "the same but different." "Hey Siri, help me write this document about shoes." Powered by Google. "Sure thing, while we're here, can I interest you on some Nike's? They're on sale at Target right now!"
    • Walmart was still selling the Apple Watch SE 2 on Black Friday in 2024. I got 1 for my mom and one for my dad for christmas.
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      509
    2. 2
      PsYcHoKiLLa
      222
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      86
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!