Chapter 8. Firefox
-
Make Firefox the default
If necessary:
sudo update-alternatives --set gnome-www-browser /usr/bin/firefox
-
Sync
Set up Firefox sync.
-
Configuration
Browse to
about:config
and adjust:-
browser.enable_automatic_image_resizing = false
-
browser.link.open_newwindow.restriction = 0
-
browser.ml.chat.enabled = false
-
browser.search.context.loadInBackground = true
-
browser.tabs.groups.smart.enabled = false
-
dom.event.clipboardevents.enabled = ¿maybe?
-
dom.webnotifications.enabled = false
Notes on eliminating popups: Disable popups
-
geo.enabled = false
-
keyword.enabled = false
This disables search in the address bar, making it usable as an address bar again. -
pref.privacy.disable_button_view.view_passwords = false
-
toolkit.legacyUserProfileCustomizations.stylesheets = true
-
There may be something to make popups open in new tabs (which is very helpful in tiled WMs like sway).
-
-
Recover the home page, including changing new windows and tabs to use a blank page, and, just in case, turning off the privacy-compromising settings in Firefox Home Content.
-
Go through config and disable all of the bad settings, including (as of 2025-09):
-
Use AI to suggest tabs and a name for tab groups OFF
-
Play DRM-controlled content OFF
-
¿Enable link previews?
-
For Search, change engine to DuckDuckGo, disable suggestions, turn off most of Firefox Suggest, disable the worst search engines
-
In Privacy & Security, turn off Send Technical and interaction data to Mozilla and related. Make sure Allow websites to perform privacy-preserving ad measurement is OFF.
-
-
Note that Firefox tends to spam syslog, so we installed
auditd
in the big list above; it segregates all apparmor messages and calms down the logs. -
Install Extensions
Extensions may come over automatically from sync, but this is inconsistent. If necessary, load them manually: Ctrl+Shift+A
-
UBlock Origin
-
Noscript
-
Firefox Multi-Account Containers
-
Tree Style Tab (laptop only)
-
-
Hide UI clutter
Install custom chrome file. It may be necessary to close Firefox before doing this. The hack with wildcards only works if there's only one default profile.
mkdir ~/.mozilla/firefox/*default*/chrome
cp ~/Dropbox/Basic/new_machine/linux/firefox/userChrome.css ~/.mozilla/firefox/*default*/chrome
Note
userChrome.css
source@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* How to inspect the browser UI: https://firefox-source-docs.mozilla.org/devtools-user/browser_toolbox/index.html */ /* Hide lots of cruft on the bookmarks toolbar */ #BMB_bookmarksPopup menuseparator[builder="end"], #BMB_bookmarksToolbar+menuseparator, #BMB_bookmarksToolbar, #BMB_unsortedBookmarks, #alltabs-button, #appmenu_bookmarksPopup menuseparator[builder="end"], #appmenu_bookmarksToolbar+menuseparator, #appmenu_bookmarksToolbar, #appmenu_unsortedBookmarks, #bookmarksMenuItemsSeparator, #bookmarksMenuPopup menuseparator[builder="end"], #bookmarksToolbarFolderMenu+menuseparator, #bookmarksToolbarFolderMenu, #menu_unsortedBookmarks, #organizeBookmarksSeparator, #subscribeToPageMenuitem, .hide-if-empty-places-result { display:none!important; } :root[sizemode="normal"] #nav-bar{ --uc-window-drag-space-width: 20px } #titlebar{ -moz-appearance: none !important; } #TabsToolbar{ min-height: 0px !important } #tabbrowser-tabs, #tabbrowser-arrowscrollbox{ min-height: 0 !important; } :root:not([customizing]) #tabs-newtab-button, :root:not([customizing]) #TabsToolbar-customization-target > .toolbarbutton-1, :root:not([customizing]) #TabsToolbar .titlebar-button{ -moz-appearance: none !important; height: 0px; padding-top: 0px !important; padding-bottom: 0px !important; -moz-box-align: stretch; margin: 0 !important; } .accessibility-indicator, .private-browsing-indicator{ height: unset !important; } .accessibility-indicator > hbox{ padding-block: 0 !important } .tabbrowser-tab{ height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin,0px)); } .tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{ visibility: collapse !important; /* These seem unnecessary, but they achieve compatibility with hide_tabs_with_one_tab.css */ min-height: 0 !important; height: 0; } /* past attempts at hiding one-tab tabbar */ /* .titlebar-spacer[type="pre-tabs"], .titlebar-spacer[type="post-tabs"] { */ /* visibility: collapse; */ /* } */ /* .tab-label-container { */ /* height: auto ! important; */ /* } */ /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_with_one_tab.css made available under Mozilla Public License v. 2.0 See the above repository for updates as well as full license text. */ /* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs. Optionally use privatemode_indicator_as_menu_button.css to replace main menu icon with private browsing indicator while tabs are hidden. */ /* This style causes CSD window controls to disappear on linux, but you can kind of work around that by using window_control_fallback_for_custom_windows_theme.css */ /* Hide Tab bar with only one Tab - [110] https://support.mozilla.org/en-US/questions/1394300 */ #tabbrowser-tabs .tabbrowser-tab:only-of-type, #tabbrowser-tabs .tabbrowser-tab:only-of-type + #tabbrowser-arrowscrollbox-periphery{ display:none !important; } #tabbrowser-tabs, #tabbrowser-arrowscrollbox {min-height:0!important;} /* #TabsToolbar:not(:hover) */ #alltabs-button {display:none !important;} /* Button re-styling */ #tabs-newtab-button{ transform: scale(0.8); } #tabs-newtab-button:hover{ background-color: var(--toolbarbutton-hover-background); border-radius: var(--tab-border-radius); } #tabs-newtab-button > .toolbarbutton-icon{ padding: 0 !important; transform: scale(0.5); background-color: transparent !important; } /* Fix window controls not being clickable */ :root[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive]{ transition: height 0ms steps(1) 80ms; } :where(#nav-bar){ border-inline: var(--uc-window-drag-space-width,0) solid var(--toolbar-fgcolor); } @media (-moz-platform: linux){ #TabsToolbar .titlebar-buttonbox{ -moz-box-align: stretch !important; } #TabsToolbar > .titlebar-buttonbox-container > .titlebar-buttonbox > .titlebar-button{ transform: scale(0.8); margin-inline: -3px !important; } #TabsToolbar .titlebar-button > .toolbarbutton-icon{ padding: 0 13px !important } }
For more details on editing userChrome.css, see Browser Toolbox help. See also this answer.
Right-click on Recent bookmarks to get option to hide them