[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

    • UK nudity blockers are a looming privacy disaster, we must be able to see the source code by Paul Hill Image via Pexels The UK government, just like many state governments in the US and national governments around the world, has begun going on a bit of a power trip when it comes to digital safety. The major step taken so far is the introduction of the Online Safety Act, which requires users to prove their age to access adult websites (it includes more than this, too). Now, UK PM Keir Starmer is calling on Apple and Google, and presumably other mobile OS makers, to scan phones for explicit images to protect children. This potentially mandatory on-device scanning by vendor-controlled software will create unacceptable harms to individual freedoms and transparency, and introduce massive surveillance risks. In a statement on June 8, the Prime Minister stated that big tech companies, such as Apple and Google, must add features to their platforms, such as iOS and Android, that will detect and block sexually explicit or nude images involving under-18s on phones or tablets. Adults who want to take or send nudes would be required to hand over some form of identification to stop their phone from blocking these pictures, creating unnecessary privacy risks. According to the government, it wants to see these measures implemented within three months; otherwise, the government will introduce legislation to force them to introduce such technology. The legislation will include fines for companies and maybe even criminal liability for tech bosses who do not comply with the measures. In its announcement, the government said that stopping users from taking, sending, or receiving nudes without verifying their age is technically feasible, and pointed to a British firm called SafeToNet, which has made proprietary, closed-source, uninstallable software called HarmBlock and is actively selling a device with it enabled and is working with other OEMs. The fact that this software is closed source is a huge problem because it’s a black box; you do not know what it is doing on your device. The fact that it is unremovable is also a problem because you lose control of a phone that you own. Laughably, the government, just before highlighting SafeToNet, says that companies must introduce such measures “without threatening privacy or collecting any data.” It then says over-18s will still be able to view adult content by providing proof of age… Which sounds to me like data collection. SafeToNet makes some debatable claims about HarmBlock The government’s example software, HarmBlock, is a hugely alarming choice to espouse the virtues of this type of software. SafeToNet claims that HarmBlock is “ethically developed,” but this is the opposite of the truth. This black box software puts digital handcuffs on you if it’s installed in your device, taking away your freedom to control what software runs on your device, as it cannot be removed. It is not even free software, so we cannot inspect the source code to see what it is doing. For all we know, it could be acting maliciously. While that’s unlikely, we can’t verify that it’s not doing that. When Google and Apple do inevitably integrate these features on devices in the UK, they are very likely to be closed-source binaries, which will also be non-auditable. They will also have identity services built into them, which will require at least temporary collection of sensitive identity documents to verify your age. One saving grace for Android users is that this nudity blocker will very likely be implemented within the Google Play infrastructure that’s deeply tied into commercial Android devices. However, anyone with enough determination to throw out Google apps from their phone by flashing a custom ROM could find they regain control over their phone again without these digital handcuffs. Obviously, this is only how I expect Google to implement the feature; if it bakes it into the open-source Android somehow, that would be bad news for anyone looking to escape it. Outside of stripping mobile phone users of their freedom and sovereignty over their devices, these proprietary on-device machine learning or hash-matching solutions cannot be independently audited. This means that hackers could potentially exploit them because security researchers can’t investigate the code, and they could overstep their intended use case and collect even more user data without anybody knowing. We also wouldn’t know if the code is prone to detecting false positives or biased classification, because we can’t see the code. In the government’s announcement, contributing comments from the Internet Watch Foundation keep talking about “on-device protections” as if to say that users don’t need to worry about server-side processing; however, this is misleading, as data could flow from devices for the purpose of updates, remote model changes, telemetry, or server-side matching. We’ve also seen with the Online Safety Act that the government is never content with the laws it introduces; it always wants to expand the controls. If this scanning functionality arrives on devices, it might only block nudes initially, but later governments could pressure vendors for expanded access or use mandated features for other surveillance aims. The introduction of on-device scanners opens the door to massive risks in the future. Once nude blocking becomes normalized, regulators like Ofcom or politicians themselves could push for more controls over people’s devices. Very possible candidates for blocking include hate speech, misinformation, or undesirable political content. Also, there is a chance that once Apple and Google have developed this software, they might attempt to reuse the infrastructure for commercial or foreign requests, putting customers in greater danger. Just the UK's demand for this sets a precedent. What if a dictatorship decides to spy on activists by demanding that Google or Apple implement similar controls? Another concern with this scanning is that it adds compliance costs for businesses looking to get into the mobile operating system space. While Google and Apple dominate the space right now, there are lots of smaller companies creating mobile operating systems too, including community projects with very shallow pockets. How are these smaller competitors supposed to implement sophisticated nudity detectors? Simply put, they can’t. Then the government goes after them, causes them to shut down, and Google and Apple have less competition. Image via Aurora Store For us users who value sovereignty over our technology, this development will force us to seek freedom-respecting alternatives. The simplest path forward will likely be to install a custom ROM on an Android device; however, kicking Google off the phone with its black box nudity blocker could also make it harder to access apps such as banking apps, which tend to need you to pass Google's integrity checks. Thankfully, Google Play Store apps can still be obtained by storefronts such as the Aurora Store, but it just adds to the friction. To be fair to those pushing this measure to protect children, I think it will be reasonably effective, but people will still try to find ways around it, just as they’ve done with age gates on adult websites introduced under the Online Safety Act. In the effort to find circumvention methods, it could lead users to join riskier platforms that introduce new dangers. This effort also diverts resources from proven interventions such as law enforcement cooperation, targeted investigations, education, and support services to broad technical controls that have uncertain effectiveness (due to their newness). If the government is set on introducing such tools, then there ought to be safeguards in place. Any mandated code should be released as free software so that it can be audited, and the binaries should be reproducible builds so that the public knows nothing has been tampered with in the code used to create the binaries shipped out. Ideally, these tools should also be voluntary, opt-in, and even community-run. This would also allow people to have full control over their hardware while allowing parents to flip a switch to turn on these protections for children, with the knowledge that the code being run is doing exactly what it says on the tin, and nothing nefarious, like a black box solution could be doing. The government should also have a narrow legal scope where this technology stays with blocking nudes and not spreading to blocking political opinions, hate speech, and so on. Ideally, any implementation should avoid identity-linked age verification to keep user data safe, and matching should be done locally with no server telemetry to ensure it is truly on-device. While I do understand that stakeholders such as parents want to keep children safe, the potential for abuse with this type of software is colossal. It would entrench black-box surveillance and take away our freedom to use our devices as we want. There is also the acute risk that the government will demand this surveillance be expanded to block other activities, which could be particularly dangerous. If you are in the UK and don’t wish to see these measures implemented, it is still possible to write to your MP, which could lead to some better safeguards being introduced before it’s too late. Once we get more technical information about how this will be implemented, then we will be able to see if de-Googling Android devices will bypass this measure. For anyone with an iPhone, there is zero chance that you’ll be able to take off these handcuffs because Apple doesn’t let you mess with your software.
    • I'm reading the reports as EU rejecting Apple's proposal because Trusted System Agent would be an intermediary offered to third party AI's (this article is also worded as such) but Siri AI itself would not pass this intermediary. This would cause a situation where Siri AI would have more direct system access and offer it an unfair advantage. (speaking from EU regulator perspective here) Apple is citing security issues with doing what EU asked for, and I think this also supports this theory, because truly direct system access like Siri AI would make it impossible to control third party AI's running on the devices and e.g. reign them in via adjustments to Trusted System Agent. So, I _think_ this is the sticking point right now: EU saying they need to be on equal footing as Siri AI, Apple saying they can't be because Apple only trusts their own AI. Apple could of course be leaning a bit extra hard towards this because they're biased in terms of excluding competitors. One method to find an agreement would be to have Siri AI also run through Trusted System Agent and treat it as untrusted. This kind of defensive architecture design (especially when involving an AI) would honestly not be a very bad idea from a sheer engineering standpoint. But then Apple would need to swallow their pride and adapt worldwide due to EU, and make perhaps major updates delaying Siri AI once more.
    • I have not even heard of that game. will take a look
    • Chasys Photo 5.41.01 by Razvan Serea Chasys Photo is a suite of image editing applications including a layer-based image editor with adjustment layers, linked layers, timeline and frame-based animation, icon editing, image stacking and comprehensive plug-in support (Chasys Photo Editor), a fast image viewer (Chasys Photo Viewer) and a fast multi-threaded image file converter (Chasys Photo Converter) , with RAW image support in all components. It supports the native file formats of several competitors including Adobe Photoshop, Affinity Photo, ArtWeaver, Corel PhotoPaint, FireAlpaca, GIMP, Krita, Paint.NET, PaintShop Pro and Pixlr, and the whole suite is designed to make effective use of multi-core processors, touch-screens and pen-input devices. Designed under the mantra of “unique, flexible and powerful”, Chasys Photo takes a radically different approach to image editing with the aim of opening up new possibilities for those who dare to be different. Chasys Photo key features: Free-style layering with blending modes Adjustment layers with multiple adjustments per layer Linked layers (a.k.a Linked Smart Objects) Composite, Image List, Frame Animation and Object Animation image modes Animation, both frame-based and object-based (timeline animation) Animation Composer engine Image Stacking for noise reduction, super-resolution, etc. Tablet/Pen-input/Stylus support with pressure control Touch-screen support with gestures including pitch-to-zoom and multi-finger panning Support for the native formats of Adobe Photoshop, Affinity Photo, ArtWeaver, Corel PhotoPaint, FireAlpaca, GIMP, Krita, Paint.NET, PaintShop Pro and Pixlr Support for common formats such as JPEG, animated PNG, animated GIF, TIFF, PICT, WebP, HEIF, DDS, JPEG-2000, JPEG-XR, JPEG-XL, AVI video, etc. Support for the OpenRaster interchange file format and rare formats such as QOI, MNG/JNG and DPX Support for older formats such as PPM/PGM/PBM, PCX/DCX, PCD, TGA, COKE, etc. Comprehensive Camera RAW file support with live adjustment Extensive plug-in support with streamlined SDKs Support for Photoshop Filter Plug-ins (.8BF) Advanced printing and scanning engines PDF document generation Icon and cursor editing, import and export, including Vista-style and Mac-OS icons Screen Capture, including Video Screen Capture with multiple triggering modes Video capture from devices (e.g. TV/Video) Supports multi-core processors, High-DPI displays and Multiple Display setups Integrated File Browser, Bluetooth OBEX and in-built utilities (Calculator, Notepad) Shell integration with thumbnails and conflict detection Unlimited Undo/Redo and Asynchronous Auto-Save, with Just-in-time memory compression to save space Fully re-editable text with advanced styling and effects (TextArt) Full alpha channel through out the workflow with Alpha protection (a.k.a. transparency protection) Multiple language support with user-editable language files and translation assistant (Chasys Photo Language Studio) Anti-aliasing and super-sampling support in tools and paths* Smart-resizing (similar to seam-carving) Best-in-class post-edit heuristics anti-aliasing engine Physical measurement specification with display size detection via EDID Uses the latest CD5 specification with animation and multi-resolution Super-fast internal graphics engine (JpDRAW2) Full UNICODE support in all components Metadata save, restore and scale to imitate vector art Configurable Guides and Grids with Snap-to-Grid Smart-dither to custom palette Asynchronous preview rendering engine Pantone equivalent palettes for PMS 100 to 814-2x Automatic color naming ... and many more! Chasys Photo 5.41.01 changelog: New Features Layered images with multiple pages (Composite/Multi-page) Additional templates to support template-centric workflow New Layer Blend Mode: Inverse Luma Mask Horizon detection in Rotate Transform Cropping option when importing video Orientation options in QR Code Generator plug-in Solved angle ambiguities (CCW versus CW) Internal Improvements Improved graphics engine (JpDRAW2™ v26.05) Improved CD5 codec (v4.10, improved ACSC compression) Improved interpolation when downsizing images Improved motion detection in Video Capture Slightly lower memory usage (RAM is getting expensive!) File Support and Bug Fixes Improved PXZ file support (placeholders, blanks) [bug-fix] Memory leak in flt_JPEG.dll Download: Chasys Photo 5.41.01 | 46.1 MB (Freeware) View: Chasys Photo Home Page | Wikipedia Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • 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
      508
    2. 2
      PsYcHoKiLLa
      220
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      90
    5. 5
      Steven P.
      83
  • Tell a friend

    Love Neowin? Tell a friend!