mozilla
Your Search Results

    Questions and answers from the newsgroups 2006 11 17

    Return to mozilla-dev-extensions


    FAQ

    (↑ top)

    Can Extensions create a global shortcut key or create an icon on the system tray in Windows, and react to the user input?

    As far as I know, you would need binary components.

    This bug has a patch supporting tray icon from XUL on Windows:

    https://bugzilla.mozilla.org/show_bug.cgi?id=325353

    It may be a good starting point.

    I was wondering if anyone can tell me how my addin can tell if the -console flag was specified on the FF or T-Bird command line?

    As far as I'm aware the only way to get a useful nsICommandLine is to implement a nsICommandLineHandler (which gets passed in a nsICommandLine from... umm, whoever has the actual thing.)

    I'm looking for a proper way to tell which application an extension, compatible with more than one is running in. Simply put, "Am I Firefox or Thunderbird?"

    There are a couple of ways to do this.

    1. Check the value of navigator.userAgent

    if (navigator.userAgent.search(/Thunderbird/gi) != -1) {
           // Thunderbird specific code
    } else {
           // Firefox code
    }
    

    2. You should use nsIXULAppInfo for that.

    http://developer.mozilla.org/en/docs..._nsIXULAppInfo

    http://developer.mozilla.org/en/docs...IXULAppInfo#ID

    You could also use nsIXULAppInfo.name, which is a human-readable name for the application, such as "Firefox".

    I have an extension, and I want to provide a mechanism to save off the preferences to a file, and then restore them on another machine. What's the best way of doing this?
    var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
    var prefs = [];
    var prefArray = prefService.getChildList(str_branch_name, prefs);
    

    You have to serialize the preferences to disk manually. And yes, extensions can perform I/O. Look here:

    In my code I call Components.utils.reportError() and pass in a string. I note that in T-Bird, the string is shown in the JavaScript Console available from the Tools menu. However, in FF's ErrorConsole available from the Tools menu, I do not see any entry. Any idea what is going wrong here?

    You don't have the javascript.options.showInConsole preference enabled. Or you've clicked the "Warnings" or "Messages" filter button in the Firefox JS Error Console but not Thunderbird. Make sure "Errors" or "All" is clicked instead.

    UAQ

    (↑ top)

    Document Tags and Contributors

    Contributors to this page: RichardChu
    Last updated by: RichardChu,