ابحث في الدعم

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

What is the Firefox equivalent of Windows' %username%?

  • 4 ردود
  • 1 has this problem
  • 3 views
  • آخر ردّ كتبه cor-el

more options

I'm trying to setup username variables in about:config, notably default download location and browser.cache.disk.parent_directory . When I use the standard %username% variable in these settings, Firefox interprets them literally. Does Firefox have an equivalent %username% variable?

This happened

Every time Firefox opened

== Always

I'm trying to setup username variables in about:config, notably default download location and browser.cache.disk.parent_directory . When I use the standard %username% variable in these settings, Firefox interprets them literally. Does Firefox have an equivalent %username% variable? == This happened == Every time Firefox opened == Always

All Replies (4)

more options

No. You do not have access to environment variables on the about:config page.

You can get that value via the Tools > Error Console if necessary. Copy and Paste this code in the Code field and click evaluate.

Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');

Modified by cor-el

more options

With that code snippet, can the response be injected into the browser.cache.disk.parent_directory setting?

more options

An extension should be able to do that quite easily.
Try this code in the Tools Error Console.
You can create an extension to make the change.

const Cc = Components.classes, Ci = Components.interfaces;
var PB = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService).getBranch("");
var PN = "browser.cache.disk.parent_directory";
var curVal = PB.getCharPref(PN);
var userName = Cc["@mozilla.org/process/environment;1"].getService(Ci.nsIEnvironment).get('USERNAME');
newVal = curVal.replace(/%USERNAME%/i, userName);
PB.setCharPref(PN, newVal);

See also:

Modified by cor-el

more options

By "create an extension", do you mean just paste that code into a XPI?