Rob wrote:
Daniel <[email protected]> wrote:
Rob wrote:
Daniel <[email protected]> wrote:
Rob wrote:
Daniel <[email protected]> wrote:
Not wanting to get picky-picky (because of the work you do for us SM
users) but reading between the lines here, does this imply that hidden
prefs don't (necessarily) do anything, or did you just mis-type "hidden"
rather than "absent"??
You have to understand that in about:config you can basically type any
name you want and set it to any value you want. Only when the program
code is reading the name you typed it will do anything. There is a
pre-populated list of names and values that you see, but even that
does not guarantee that changing them actually has any effect at all.
There can be names/values in the list that are never (or no longer)
used anywhere in the program.
Rob, I am aware that "There is a pre-populated list of names and values
that you see". I am aware that more can be hand-added. I am also aware
that there is a pre-populated list of names and values that you *don't*
see i.e. hidden prefs.
But that is not correct. There is no such list.
Hidden prefs are those prefs that *are* read from the program code,
but are *not* in the list of prefs that you see. When you know the
name of such a pref, you can add it and set its value. Just you can
add "this.is.a.pref" and set it to 1. The difference is that no piece
of code checks the value of "this.is.a.pref" and so this setting has
no effect.
So, Rob, I typed there were prefs that we *don't* see, and you typed
there's no such list then you continued to typed that there are hidden
prefs as part of the program source code.
So which is it??
They are in the sourcecode, but not in a list. They are scattered all
over the source lines that together are seamonkey.
Take the pref "advanced.mailftp" as an example. It is referenced in
the sourcecode like this:
rv = prefs->GetBoolPref("advanced.mailftp", &useRealEmail);
This reads the advanced.mailftp pref and puts the value in useRealEmail.
It is also in the normal list of preferences because in all.js it shows:
pref("advanced.mailftp", false);
I.e. there is a visible pref advanced.mailftp and its default is false.
Now look at the pref "app.updatecheck.override". This is read in the
source code:
return !Services.prefs.getBoolPref("app.updatecheck.override");
However, it is not listed in all.js. And so you'll never know about
it when you open about:config unless someone has manually added that
pref and set a value. That is what is called a hidden pref.
To make a list of those, you would have to scan all sourcefiles for
calls to the functions that retrieve preferences, and get the parameters
of those functions. This is not a trivial task, because the parameter
may not be a literal (like in the examples above). The name can be
dynamically constructed from literal parts and variable parts, in a
program variable, which is then passed to the function.
So I cannot set this app.updatecheck.override according to how I might
*prefer*, so I don't think we are talking about a pref, just some
element/value that the programmers required!!
--
Daniel
User agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101
Firefox/25.0 SeaMonkey/2.22 Build identifier: 20131023190953
or
User agent: Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101
Firefox/25.0 SeaMonkey/2.22 Build identifier: 20131023190942
_______________________________________________
support-seamonkey mailing list
[email protected]
https://lists.mozilla.org/listinfo/support-seamonkey