Firefox
Table of Contents
about:config preferences
Preference Name | Type | Value | Purpose |
---|---|---|---|
extensions.pocket.enabled | bool | false | Enable pocket (built-in extension) |
browser.display.use_system_colors | bool | false | Lets form elements match the browser theme (I think) |
browser.link.open_newwindow | number | 1 | Open links in the current tab |
browser.link.open_newwindow.restriction | number | 0 | Direct all links according to open_newwindow |
browser.link.open_newwindow.override.external | number | 3 | Override links opened in other apps, send to new tab |
browser.compactmode.show | bool | true | Allow compact mode for toolbar customization |
userChrome.css
This is a per-profile file. Mine is stored in /home/<user>/.mozilla/firefox/<profile name>/chrome/
Listing 1: userChrome.css
/* This copy is in ~/.mozilla/firefox/ just for dotfile repo purposes. * It needs to be in the ~/.mozilla/firefox/<profile>/chrome folder to work. * I tried symlinks, but they didn't seem to work. Sucks. */ notification[value="drmContentDisabled"]{ display:none !important; } /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/inline_tab_audio_icons.css made available under Mozilla Public License v. 2.0 See the above repository for updates as well as full license text. */ /* Shows tab audio icons next to the tab icon, and by default removes the tab secondary line */ .tabbrowser-tab:not([pinned]) .tab-icon-stack:is([muted],[soundplaying],[activemedia-blocked]){ grid-template-areas: "a s"; } .tabbrowser-tab:not([pinned]) .tab-icon-overlay:is([muted],[soundplaying],[activemedia-blocked]){ grid-area: s; } .tab-icon-overlay, .tab-icon-image, .tab-throbber{ opacity: 1 !important; } .tab-icon-overlay:not([pinned]){ padding: 0px !important; margin-inline: -3px 1px !important; } /* secondary audio label ain't much use with this style, but feel free to remove the next line if you want to show it. */ .tab-secondary-label{ display: none } /* show the secondary label when video is in PiP */ .tab-secondary-label[pictureinpicture]{ display: flex } /* These exist for compatibility with combined_favicon_and_tab_close_button.css */ .tab-icon-overlay{ pointer-events: auto } .tab-content > .tab-icon-stack, .tab-icon-stack:hover > .tab-icon-image{ visibility: visible } /* Hide text on some youtube icons. This lets me see the video's posted date on my portrait screen */ ytd-button-renderer.style-text[is-icon-button] #text.ytd-button-renderer, ytd-button-renderer.style-default[is-icon-button] #text.ytd-button-renderer, ytd-button-renderer.style-opacity[is-icon-button] #text.ytd-button-renderer { display: none; }
Add-ons
Name | uBlock Origin |
Description | Finally, an efficient wide-spectrum content blocker. Easy on CPU and memory. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/ |
Purpose | Adblocker. |
Site | https://github.com/gorhill/uBlock#ublock-origin-ubo |
Name | Privacy Badger |
Description | Automatically learns to block invisible trackers. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/ |
Purpose | Block trackers. |
Site | https://privacybadger.org/ |
Name | Dark Reader |
Description | Dark mode for every website. Take care of your eyes, use dark theme for night and daily browsing. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/darkreader/ |
Purpose | Dark mode through filters, inversion, etc. |
Site | https://darkreader.org/ |
Name | LeechBlock NG |
Description | LeechBlock NG is a simple productivity tool designed to block those time-wasting sites that can suck the life out of your working day. All you need to do is specify which sites to block and when to block them. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/leechblock-ng/ |
Purpose | Sometimes useful for limiting time wasting sites. |
Site | https://www.proginosko.com/leechblock/ |
Name | Firefox Multi-Account Containers |
Description | Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs. Cookies are separated by container, allowing you to use the web with multiple accounts and integrate Mozilla VPN for an extra layer of privacy. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/ |
Purpose | - |
Site | https://github.com/mozilla/multi-account-containers/#readme |
Name | The Camelizer - Price Tracker |
Description | Add price history charts and price watch features to Firefox when viewing product pages on Amazon. Use it to make informed purchasing decisions and to receive price drop alerts via email, Twitter, or RSS feed. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/the-camelizer-price-history-ch/ |
Purpose | Amazon price research. |
Site | https://camelcamelcamel.com/camelizer |
Name | Old Reddit Redirect |
Description | Ensure Reddit always loads the old design |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/old-reddit-redirect/ |
Purpose | Always redirect to old.reddit |
Site | https://github.com/tom-james-watson/old-reddit-redirect |
Name | Wayback Machine |
Description | Detects dead pages, 404s, DNS failures & a range of other web breakdowns, offering to show archived versions via the Internet Archive's Wayback Machine. In addition you can archive web pages, and see their most recent & first archives. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/ |
Purpose | Open pages using Wayback Machine. |
Site | http://web.archive.org |
Name | Nitter Redirect |
Description | Redirects Twitter requests to Nitter, the privacy friendly alternative. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/nitter-redirect/ |
Purpose | Redirect all twitter to a nitter instance of your choice. |
Site | https://github.com/SimonBrazell/nitter-redirect |
Name | DF YouTube (Distraction Free) |
Description | Allow yourself to focus while using YouTube for work, recreation or education. Disable autoplay, remove sidebar, hide feed, comments, and more. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/df-youtube/ |
Purpose | Hide related videos and sidebar. |
Site | - |
Name | Clickbait Remover for Youtube |
Description | Replaces thumbnails and modifies titles of videos on youtube.com and m.youtube.com |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/clickbait-remover-for-youtube/ |
Purpose | Remove gaudy thumbnails and all caps video titles. |
Site | https://github.com/pietervanheijningen/clickbait-remover-for-youtube/issues |
Name | Tab Manager Plus for Firefox |
Description | Quickly find open tabs, see all windows in one view, find duplicates and limit tabs per window. The best Tab Manager for Firefox. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/tab-manager-plus-for-firefox/ |
Purpose | Nice tab overview. Ability to move tabs between windows and group them efficiently. |
Site | https://stefanxo.com |
Name | Mute sites by default |
Description | Mutes all sites by default and remembers unmuted sites |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/mute-sites-by-default/ |
Purpose | Mutes all tabs by default. Remembers unmuted sites. |
Site | https://github.com/abba23/mute-sites-by-default |
Name | Save Tab URLs |
Description | Show, save and restore the page URLs along with page Titles of all opened tabs of current browser window. Show as copyable plaintext. Save and restore from text file. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/save-tab-urls/ |
Purpose | Manually export/import tabs. |
Site | https://github.com/mnba/save-tabs |
Name | Center Pages |
Description | Center-Pages allows you to narrow wide pages to the center of your screen. Center-Pages simply adds a margin to the sides, which you can increase/decrease via two buttons. |
Store Page | https://addons.mozilla.org/en-US/firefox/addon/center-pages/ |
Purpose | Adds margins to wide sites for better readability. |
Site | https://github.com/feluxe/Center-Pages |
Grabbing plugin metadata
Here's a script to collect and output plugin info for more easily updating my list above.
#!/bin/bash ## Parse out addon information from firefox profile directory ## Output is an org mode table, but could be modified easily # requires augtool, awk, sed, jq, cut (coreutils) # not tested thoroughly. base_path="$HOME/.mozilla/firefox" # grab profile from ~/.mozilla/firefox/profiles.ini # Last used profile section has Default=1 key # Find that, grab the Path variable from it's parent, profile_path="$base_path"/$(augtool --root="$base_path" -A -t "php.lns incl profiles.ini" get \ "$(augtool --root="$base_path" -A -t "php.lns incl profiles.ini" match /files/profiles.ini/*/Default 1)"/../Path \ | cut -d = -f 2 | awk '{$1=$1};1') # ~/.mozilla/firefox/<profile>/addons.json addons_names=() # .addons[].name addons_descs=() # .addons[].description addons_sites=() # .addons[].homepageURL addons_alt_sites=() # .addons[].supportURL addons_stores=() # .addons[].reviewURL (chop off the review part) while read -r value do addons_names+=("$(echo "$value"|sed -e 's/^\"//' -e 's/\"$//')") done < <(jq -c '.addons[].name' "$profile_path/addons.json") while read -r value do addons_descs+=("$(echo "$value"|sed -e 's/^\"//' -e 's/\"$//')") done < <(jq -c '.addons[].description' "$profile_path/addons.json") while read -r value do addons_sites+=("$(echo "$value"|sed -e 's/^\"//' -e 's/\"$//')") done < <(jq -c '.addons[].homepageURL' "$profile_path/addons.json") while read -r value do addons_alt_sites+=("$(echo "$value"|sed -e 's/^\"//' -e 's/\"$//')") done < <(jq -c '.addons[].supportURL' "$profile_path/addons.json") # can't find a good store URL # use .addons[].reviewURL and chop off the reviews/ suffix while read -r value do addons_stores+=("$(echo "$value"|sed -e 's/^\"//' -e 's/reviews\/\"$//')") done < <(jq -c '.addons[].reviewURL' "$profile_path/addons.json") for index in ${!addons_names[*]}; do echo "#+BEGIN_grouping" echo "#+ATTR_LATEX: :environment tabularx :width \\linewidth :align lX :font \\footnotesize\\rmfamily" echo "|Name|${addons_names[$index]}|" echo "|Description|${addons_descs[$index]}|" echo "|Store Page|[[${addons_stores[$index]}]]|" echo "|Purpose||" # if homepageURL is null, try supportURL, or leave blank if [ "${addons_sites[$index]}" != "null" ]; then echo "|Site|[[${addons_sites[$index]}]]|" elif [ "${addons_alt_sites[$index]}" != "null" ]; then echo "|Site|[[${addons_alt_sites[$index]}]]|" else echo "|Site||" fi echo "#+END_grouping" echo done