Its better to just go through the settings yourself then rely on arkenfox. This just adds a middleman into the process of keeping your settings updated.
Have you seen the user.js, you have to change a lot of settings and you cannot keep up to date with them, secondly Arkenfox prefers you to go over their user.js by your self and their updater script has the -c flag to show you the difference between current user.js and new user.js
Overall it would be very difficult to manage something like this on our own as most things are not visible on the settings page of Firefox
In addition, if you use user.js then you essentially cannot change those settings at runtime (via about:config or otherwise), because your user.js will override the settings on next startup. Maybe that’s desired for some, but good to keep in mind nonetheless.
I don’t think that could work. Not unless we are talking about different things, or unless you run their updater script everytime before starting Firefox.
If you use user-overrides.js, it adds your custom preferences at the bottom of the user.js, as the prefs are read from top to bottom, if a new duplicate exist in your user-overrides.js but with a different value the new value would be used as it is at the bottom.
Yes, but that is not what I’m talking about. What I mean is that when Firefox is running and you go to change some setting in say, Settings page, then the new value for that preference is stored into prefs.js (at latest on Firefox shutdown, it might remain only in-memory for some time I’m not sure). Anyway, the new value persists only for that browser session, because on next startup whatever value was set by user.js will override it.
Sure. For simplified example have only the following in your user.js file:
user_pref("browser.tabs.warnOnClose",true);
Start Firefox
Observe that the pref is indeed true
Go to Setting > General, observe that Confirm before closing multiple tabs is checked
Uncheck the option
In about:config observe that browser.tabs.warnOnClose is now false
Restart Firefox
Observe that the pref is again set to true
The reason is also very simple. Firefox will never write anything to user.js - thus any changes you do at runtime will only be stored to prefs.js. However, user.js always overrides prefs.jsat startup.
That is not how Arkenfox works. You apply the patch using the script, and then re-run this patch everytime Arkenfox receives an update. In between running, you can change settings in about:config and settings, but it will be overwritten if a different value is included in the user.js. A more permanent solution is using the user-overrides.js file required by the script before patching to create a persistent config.
What I’m trying to point out here, is that prefs declared in user.js (whether they are put there using scripting or otherwise) cannot be persistently modified at runtime from within Firefox. That may or may not be a huge problem, but something to be aware of.
Its better to just go through the settings yourself then rely on arkenfox. This just adds a middleman into the process of keeping your settings updated.
Have you seen the user.js, you have to change a lot of settings and you cannot keep up to date with them, secondly Arkenfox prefers you to go over their user.js by your self and their updater script has the -c flag to show you the difference between current user.js and new user.js
Overall it would be very difficult to manage something like this on our own as most things are not visible on the settings page of Firefox
than*
In addition, if you use user.js then you essentially cannot change those settings at runtime (via about:config or otherwise), because your user.js will override the settings on next startup. Maybe that’s desired for some, but good to keep in mind nonetheless.
There’s the provided user-overrides.js that’s meant to do this
I don’t think that could work. Not unless we are talking about different things, or unless you run their updater script everytime before starting Firefox.
If you use user-overrides.js, it adds your custom preferences at the bottom of the user.js, as the prefs are read from top to bottom, if a new duplicate exist in your user-overrides.js but with a different value the new value would be used as it is at the bottom.
Yes, but that is not what I’m talking about. What I mean is that when Firefox is running and you go to change some setting in say, Settings page, then the new value for that preference is stored into prefs.js (at latest on Firefox shutdown, it might remain only in-memory for some time I’m not sure). Anyway, the new value persists only for that browser session, because on next startup whatever value was set by user.js will override it.
Have you independently confirmed this?
What is preventing
user.js
from doing exactly what you’re describing right now on your system?Sure. For simplified example have only the following in your
user.js
file:user_pref("browser.tabs.warnOnClose",true);
Confirm before closing multiple tabs
is checkedbrowser.tabs.warnOnClose
is now falsetrue
The reason is also very simple. Firefox will never write anything to
user.js
- thus any changes you do at runtime will only be stored toprefs.js
. However,user.js
always overridesprefs.js
at startup.Understood, thanks. So on a clean install, I’m assuming
user.js
is either empty or missing, correct?That is not how Arkenfox works. You apply the patch using the script, and then re-run this patch everytime Arkenfox receives an update. In between running, you can change settings in about:config and settings, but it will be overwritten if a different value is included in the user.js. A more permanent solution is using the user-overrides.js file required by the script before patching to create a persistent config.
Something like: user_prefs(“privacy.resistFingerprinting.letterboxing” , “false”);
More details about user overrides can be found here.
I have independently tested you can change settings before. I will test again tomorrow if I remember to.
What I’m trying to point out here, is that prefs declared in user.js (whether they are put there using scripting or otherwise) cannot be persistently modified at runtime from within Firefox. That may or may not be a huge problem, but something to be aware of.