We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

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

Using Mozilla.cfg to focus a custom new tab page

  • 1 reply
  • 1 has this problem
  • 2 views
  • Last reply by Vallode

more options

Hi everyone,

I am having trouble getting my custom new tab page to be focused when opened (instead of the address bar).

I am currently using the `autoconfig.js` + `mozilla.cfg` approach to overriding the `AboutNewTab.jsm` service with a custom local file. This is working great with the two files containing this code:

autoconfig.js: ``` pref("general.config.filename", "mozilla.cfg"); pref("general.config.obscure_value", 0); ```

mozilla.cfg: ``` // Custom firefox config

let { classes:Cc, interfaces:Ci, utils:Cu } = Components;

try {

 Cu.import("resource:///modules/AboutNewTab.jsm");
 let newTabURL = "file:///home/vallode/Documents/test/index.html";
 AboutNewTab.newTabURL = newTabURL;

} catch(e) { Cu.reportError(e); } ```

I have been attempting to use the `gBrowser` global to add an event listener to the new tab opening, but with no success. Could anyone point me in the right direction for something like this?

Hi everyone, I am having trouble getting my custom new tab page to be focused when opened (instead of the address bar). I am currently using the `autoconfig.js` + `mozilla.cfg` approach to overriding the `AboutNewTab.jsm` service with a custom local file. This is working great with the two files containing this code: autoconfig.js: ``` pref("general.config.filename", "mozilla.cfg"); pref("general.config.obscure_value", 0); ``` mozilla.cfg: ``` // Custom firefox config let { classes:Cc, interfaces:Ci, utils:Cu } = Components; try { Cu.import("resource:///modules/AboutNewTab.jsm"); let newTabURL = "file:///home/vallode/Documents/test/index.html"; AboutNewTab.newTabURL = newTabURL; } catch(e) { Cu.reportError(e); } ``` I have been attempting to use the `gBrowser` global to add an event listener to the new tab opening, but with no success. Could anyone point me in the right direction for something like this?

Chosen solution

I've had good success using the following defined in my mozilla.cfg

   // Auto focus new tab content
   try {
     Cu.import("resource://gre/modules/Services.jsm");
     Cu.import("resource:///modules/BrowserWindowTracker.jsm");
   
     Services.obs.addObserver((event) => {
       window = BrowserWindowTracker.getTopWindow();
       window.gBrowser.selectedBrowser.focus();
     }, "browser-open-newtab-start");
   } catch(e) { Cu.reportError(e); }
Read this answer in context 👍 0

All Replies (1)

more options

Chosen Solution

I've had good success using the following defined in my mozilla.cfg

   // Auto focus new tab content
   try {
     Cu.import("resource://gre/modules/Services.jsm");
     Cu.import("resource:///modules/BrowserWindowTracker.jsm");
   
     Services.obs.addObserver((event) => {
       window = BrowserWindowTracker.getTopWindow();
       window.gBrowser.selectedBrowser.focus();
     }, "browser-open-newtab-start");
   } catch(e) { Cu.reportError(e); }