241 lines
15 KiB
JavaScript
241 lines
15 KiB
JavaScript
/** __ __ .__
|
|
* _____ _____ _/ |__/ |_ _____ ___________ |__| ____
|
|
* / \\__ \\ __\ __\/ \ / _ \_ __ \| |/ \
|
|
* | Y Y \/ __ \| | | | | Y Y ( <_> ) | \/| | | \
|
|
* |__|_| (____ /__| |__| |__|_| /\____/|__| /\__|___| /
|
|
* \/ \/ \/ \/ \/
|
|
*
|
|
* U S E R-O V E R R I D E S.J S F O R T H U N D E R B I R D
|
|
* original source and info:
|
|
* https://github.com/HorlogeSkynet/thunderbird-user.js
|
|
*/
|
|
|
|
/**
|
|
* name : 12bytes user-overrides.js for HorlogeSkynet's Thunderbird user.js
|
|
* version : 115r1
|
|
* author : Matt Morin
|
|
* credit : the 'ghacks' crew (https://github.com/ghacksuserjs/ghacks-user.js)
|
|
* credit : HorlogeSkynet (https://github.com/HorlogeSkynet/thunderbird-user.js)
|
|
* website : The Thunderbird Privacy Guide for Dummies!
|
|
* : https://12bytes.org/the-thunderbird-privacy-guide-for-dummies/
|
|
* code : https://codeberg.org/12bytes/thunderbird-user.js-supplement
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* !!! IMPORTANT !!! HOW TO WORK WITH THIS FILE !!! IMPORTANT !!!
|
|
* =============================================================================
|
|
*
|
|
* this file is an optional supplement that may be apended to the
|
|
* 'HorlogeSkynet' user.js and used in conjunction with the 'The Thunderbird
|
|
* Privacy Guide for Dummies!'
|
|
* (https://12bytes.org/the-thunderbird-privacy-guide-for-dummies/)
|
|
*
|
|
* the versioning scheme for this file is 'NrN' where the first 'N' is a
|
|
* number corresponding to the major version of Thunderbird for which this file
|
|
* is intended, the 'r' stands for 'revision' and the last 'N' is the revision
|
|
* number, so '12r3' would indicate this file is for Thunderbird 12.x and it is
|
|
* the 3rd revision of the file
|
|
*
|
|
* preferences may be tagged with one or more of [SET], [SAFE=*] and [PRIV=*]
|
|
* where 'SET' means the value must be checked, 'SAFE' is a safe value less
|
|
* likely to break mail functionality but may compromise privacy, and 'PRIV' is
|
|
* a value which is more protective of privacy but may break mail functionality
|
|
* more often - suggested values are marked with an asterik character ( * )
|
|
* inside the tag
|
|
*
|
|
* THIS FILE CONTAINS MY PERSONAL SETTINGS, SOME OF WHICH MAY NOT WORK FOR YOU
|
|
* and therefore it is important to go through it and make the required changes
|
|
* - AT A MINIMUM YOU SHOULD EVALUATE ALL PREFERENCES TAGGED WITH [SET]
|
|
*
|
|
* TO MAKE UPDATING THIS FILE EASIER, DO NOT EDIT ANY EXISTING PREFERENCES -
|
|
* instead, copy the entire line you want to change in this file or the
|
|
* 'HorlogeSkynet' user.js file to the USER CUSTOMIZATION section and change the
|
|
* preference value there, then when you update this file you can replace
|
|
* everything except your custom preferences - to make checking for updates
|
|
* easy, subscribe to the 'Thunderbird' category at:
|
|
* https://12bytes.org/subscribe
|
|
*
|
|
* CUSTOM PREFERENCES THAT YOU ADD AND LATER REMOVE WILL REMAIN ACTIVE IN
|
|
* prefs.js - to reset/remove a custom preference, the suggested method is to
|
|
* comment it out by preceeding it with 2 forward slaches ( // ) and then run
|
|
* the prefsCleaner.sh (Linux) or prefsCleaner.bat (Windows) script - make sure
|
|
* Thunderbird is closed when you run the prefsCleaner script - see:
|
|
* https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
|
*
|
|
* WHEN YOU ARE FINISHED EDITING, append this file to the 'HorlogeSkynet'
|
|
* user.js by copying the entire contents and pasting it on a blank line at the
|
|
* very end of the 'HorlogeSkynet' user.js then run the prefsCleaner.sh script
|
|
*
|
|
* YOU MUST PERFORM THE FOLLOWING INTEGRITY CHECKS AFTER UPDATING OR EDITING
|
|
* THIS FILE (you should disable your network connection prior):
|
|
*
|
|
* INTEGRITY CHECK 1: start Thunderbird and open its preferences dialog, then
|
|
* click the 'Advanced' button followed by the 'Config Editor' button - next
|
|
* find the "_user.js.parrot" troubleshooting preference and check that its
|
|
* value is "SUCCESS! USER SETTINGS LOADED" - if it is not then there is a
|
|
* syntax error in which case you need to search this file for the value of the
|
|
* "_user.js.parrot" troubleshooting preference - the error will be between that
|
|
* point and the very next "_user.js.parrot" troubleshooting preference - if you
|
|
* know how to use regular expressions the following may help locate the syntax
|
|
* error - this expression should highlight all lines except those containing
|
|
* the error:
|
|
*
|
|
* ^user_pref\("[a-zA-Z0-9._-]*", (?:true|false|""|\d*|"[!a-zA-Z0-9]*[ \w:/.%-@]*[a-zA-Z0-9]*"|"#[A-Z0-9]+")\);
|
|
*
|
|
* INTEGRITY CHECK 2: open the Error Console from the 'Tools' > 'Developer
|
|
* Tools' > 'Error Console' menu item (Ctrl+Shift+J might work) and check for
|
|
* any error messages related to preferences - to make these errors easy to
|
|
* find, filter the output using "user.js" or "prefs" - this is a sample error:
|
|
*
|
|
* /home/[user]/.thunderbird/[profile name]/user.js:[line no.]: prefs parse error: [error description]
|
|
*
|
|
* [line no.] will be a line number corrasponding to the line in user.js where
|
|
* the error lies - if you have not edited user.js, then search this file for
|
|
* the same line and correct the error here, then copy this entire file to the
|
|
* end of the user.js being careful to replace the old copy
|
|
*/
|
|
|
|
/**
|
|
* === HorlogeSkynet ACTIVE DIFFS ===
|
|
*
|
|
* [SET] these prefs are duplicates of *active* 'HorlogeSkynet' user.js prefs
|
|
*
|
|
* if the value of the "_user.js.parrot" pref in about:config is "syntax error @
|
|
* HorlogeSkynet DIFFS" then there is a syntax error between this
|
|
* point and the very next "_user.js.parrot" pref
|
|
*/
|
|
|
|
user_pref("_user.js.parrot", "DEAD BIRDY @ HorlogeSkynet ACTIVE DIFFS"); // do not edit
|
|
/**/
|
|
user_pref("browser.display.use_system_colors", false); // [set auto dark]whether to use the system color theme
|
|
user_pref("calendar.timezone.local", "America/New_York"); // set to "" to allow TB to aquire local time zone, or "UTC", or your local timezone
|
|
user_pref("devtools.debugger.remote-enabled", false); // [*SAFE=false] whether to enable remote debugging (needed for developer tools)
|
|
user_pref("mail.collect_email_address_outgoing", true); // whether to save outgoing mail address in the "Collected Address" address book
|
|
user_pref("mail.phishing.detection.enabled", false); // whether to enable phishing detection
|
|
user_pref("mailnews.headers.showUserAgent", true); // whether to display the user-agent string of the senders email client
|
|
user_pref("privacy.resistFingerprinting", true); // [*PRIV=true] whether to enable anti-fingerprinting - 'true' *may* break dates/times in mails and calandar(?) and color options for mail preview pane, options pages, etc. - if JS is disabled, most fingerprinting techniques should be thwarted even if this set to 'false'
|
|
user_pref("privacy.userContext.enabled", false); // whether to enable containers
|
|
user_pref("privacy.userContext.ui.enabled", false); // whether to enable the UI for containers
|
|
user_pref("security.external_protocol_requires_permission", true); // [*SAFE=true] whether to prompt when opening a link in an external program
|
|
|
|
/**
|
|
* -----------------------
|
|
* USER CUSTOM PREFERENCES
|
|
* -----------------------
|
|
*/
|
|
|
|
/**
|
|
* !!! IMPORTANT !!! !!! IMPORTANT !!! !!! IMPORTANT !!! !!! IMPORTANT !!!
|
|
* =============================================================================
|
|
*
|
|
* TO RESET/REMOVE/DELETE A PREFERENCE:
|
|
* ------------------------------------
|
|
* 1. exit Thunderbird
|
|
* 2. comment out the preference(s) by prefixing it with 2 forward slashes (//)
|
|
* and save your changes (do not move it to the DEPRECIATED/REMOVED PREFS
|
|
* section below)
|
|
* 3. copy this entire file to the very end of the 'HorlogeSkynet' user.js
|
|
* 4. run the 'ghacks' prefsCleaner script
|
|
*
|
|
* TO CHANGE THE VALUE OF A PREFERENCE:
|
|
* ------------------------------------
|
|
* 1. exit Thunderbird
|
|
* 2. copy the entire preference line to the CUSTOM CODE section below
|
|
* 3. change the preference value and save your changes
|
|
* 4. copy this entire file to the very end of the 'HorlogeSkynet' user.js
|
|
*
|
|
* TO FIND THE DEFAULT VALUE OF A PREFERENCE:
|
|
* ------------------------------------------
|
|
* 1. find the preference in Thunderbird > Preferences > Advanced > Config
|
|
* Editor
|
|
* 2. right click the preference and select 'Reset'
|
|
* note that not all preferences are listed in the Config Editor
|
|
*/
|
|
|
|
/**
|
|
* if the value of the "_user.js.parrot" pref in about:config is
|
|
* "syntax error @ BEGIN USER CUSTOMIZATIONS" then there is a syntax
|
|
* error between this point and the very next "_user.js.parrot" pref
|
|
*/
|
|
user_pref("_user.js.parrot", "syntax error @ USER CUSTOM PREFERENCES"); // do not edit
|
|
/**/
|
|
/**
|
|
* YOUR CUSTOM CODE GOES BELOW THIS LINE
|
|
* -------------------------------------
|
|
*
|
|
* note that these are my personal preferences - to reset any of these
|
|
* preferences, comment them out and move them to the DEPRECIATED/REMOVED PREFS
|
|
* section, save the file, then run the prefsCleaner script
|
|
*/
|
|
|
|
user_pref("browser.display.background_color", "#000000"); // [DARK MODE]
|
|
// user_pref("mailnews.auto_config_url", ""); // https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/3.1-OAuth2-Users
|
|
|
|
/**
|
|
* misc. prefs
|
|
*/
|
|
user_pref("accessibility.tabfocus", 3); // which elements can be focused using the Tab key - 1=text fields, 2=all form fields except text, 4=links ony (values can be added together)
|
|
user_pref("app.update.auto", false); // [SET] [*SAFE=true] whether to enable automatic updates (non-Windows)
|
|
user_pref("browser.safebrowsing.blockedURIs.enabled", false); // [SET] [*SAFE=true] it is not suggested to disable these safebrowsing features
|
|
user_pref("browser.safebrowsing.downloads.enabled", false); // [SET] [*SAFE=true] "
|
|
user_pref("browser.safebrowsing.malware.enabled", false); // [SET] [*SAFE=true] "
|
|
user_pref("browser.safebrowsing.phishing.enabled", false); // [SET] [*SAFE=true] "
|
|
user_pref("browser.search.update", false); // whether to disable search engine plugin updates
|
|
user_pref("browser.triple_click_selects_paragraph", false); // whether to select entire paragraph when text is triple clicked
|
|
user_pref("clipboard.plainTextOnly", true); // whether to retain formatting when copying(?)/pasting text
|
|
user_pref("extensions.getAddons.cache.enabled", false); // whether to enable extension metadata (extension detail tab)
|
|
user_pref("extensions.update.autoUpdateDefault", false); // [SET] whether to automatically install extension updates (after checking for updates)
|
|
user_pref("general.useragent.compatMode.firefox", true); // [*PRIV=true] whether to limit sending extra user-agent data
|
|
user_pref("image.animation_mode", "none"); // how to display animated GIF images - none=do not animate, once=play animation once, normal=play the animation normally
|
|
user_pref("intl.date_time.pattern_override.time_medium", "hh:mm:ss a"); // force 12 hr. time format for mail and calendar (may only be necessary on Linux)
|
|
user_pref("intl.date_time.pattern_override.time_short", "hh:mm a"); // force 12 hr. time format for mail and calendar (may only be necessary on Linux)
|
|
user_pref("mail.mdn.report.enabled", false); // whether to enable sending return receipts
|
|
user_pref("mailnews.database.global.indexer.enabled", false); // whether to enable the search indexer
|
|
user_pref("offline.autoDetect", false); // whether to auto-detect if Thunderbird is on/off line
|
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // whether to load user styles from chrome folder
|
|
user_pref("view_source.syntax_highlight", true); // whether to highlight the source code of a document when viewing it
|
|
|
|
/**
|
|
* [SET] the following preferences adjusts the smooth scrolling feature of
|
|
* Thunderbird when using a mouse wheel or keyboard keys to scroll
|
|
*/
|
|
user_pref("general.smoothscroll", true); // whether to enable smooth scrolling
|
|
user_pref("general.smoothScroll.lines.durationMaxMS", 400); // smooth the start/end of line scrolling operations in ms (up/down arrow/page keys)
|
|
user_pref("general.smoothScroll.lines.durationMinMS", 200); // smooth the start/end of line scrolling operations in ms (up/down arrow/page keys)
|
|
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 600); // smooth the start/end of scrolling operations in ms
|
|
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 300); // smooth the start/end of scrolling operations in ms
|
|
user_pref("general.smoothScroll.other.durationMaxMS", 400); // smooth the start/end of other scrolling operations in ms
|
|
user_pref("general.smoothScroll.other.durationMinMS", 200); // smooth the start/end of other scrolling operations in ms
|
|
user_pref("general.smoothScroll.pages.durationMaxMS", 400); // smooth the start/end of page scrolling operations in ms (PgUp/PgDn keys)
|
|
user_pref("general.smoothScroll.pages.durationMinMS", 200); // smooth the start/end of page scrolling operations in ms (PgUp/PgDn keys)
|
|
user_pref("mousewheel.acceleration.factor", 10); // sets acceleration factor if mouse wheel.acceleration.start > -1
|
|
user_pref("mousewheel.acceleration.start", 0); // when to apply mouse wheel.acceleration.factor (after how many scroll clicks of mouse wheel) - value must be greater than -1
|
|
user_pref("mousewheel.default.delta_multiplier_x", 85); // sets the x-axis step size
|
|
user_pref("mousewheel.default.delta_multiplier_y", 85); // sets the y-axis step size
|
|
user_pref("mousewheel.default.delta_multiplier_z", 85); // sets the z-axis step size
|
|
user_pref("mousewheel.min_line_scroll_amount", 10); // if the CSS line height is smaller than this value in pixels, each scroll click will scroll this amount
|
|
|
|
/*
|
|
* -------------------------------------
|
|
* YOUR CUSTOM CODE GOES ABOVE THIS LINE
|
|
*/
|
|
|
|
/**
|
|
* DEPRECIATED - DO NOT EDIT - these prefs are needed when running the prefsCleaner script
|
|
*/
|
|
// user_pref("browser.display.background_color", "");
|
|
// user_pref("browser.display.foreground_color", "");
|
|
// user_pref("msgcompose.background_color", "#2C2C31"); // [SET] compose mail background color
|
|
// user_pref("msgcompose.default_colors", false); // [SET] whether to use default colors when composing mail
|
|
// user_pref("msgcompose.text_color", "#D4D4DB"); // [SET] compose mail text color
|
|
|
|
/**
|
|
* !!! IMPORTANT !!! !!! IMPORTANT !!! !!! IMPORTANT !!! !!! IMPORTANT !!!
|
|
* =============================================================================
|
|
*
|
|
* below is the "_user.js.parrot" preference you must check in Thunderbird's
|
|
* Config Editor - if the value is "SUCCESS! USER SETTINGS LOADED" then there
|
|
* was no syntax error above
|
|
*/
|
|
user_pref("_user.js.parrot", "SUCCESS! USER SETTINGS LOADED"); // do not edit
|