Hello,

I'm making a XUL app called the Home Button (found at 
http://home.no.net/trihand/mozilla/home/en/ ). In version 0.4 I added 
support for some of the themes at http://themes.mozdev.org/ , but I found 
out there were some problems with the theme support.

For all the themes that the user don't have, a blank line is added in the 
View > Apply Theme menu.

Secondly: My package is installed in the Chrome (Mozilla/chrome) folder, and 
the extra skin files are installed and registered in the Chrome folder too. 
This works well with Classic and Modern, but third-party themes are 
installed in the Profile folder.

How can I detect what themes are installed and only register them, or 
otherwise avoid the blank lines? Should I change my app to install in the 
Profile folder? (I have tried to experiment with it using a constant 
PROFILE_CHROME (the documentation doesn't mention it, seems to be outdated), 
but it didn't work.) Or should I give up and live at the mercy of the theme 
creators? Do something else?

If someone can help me, I will be very thankful, as this problem is stealing 
the time i ought to be sleeping.

Heres the install.js for 0.4:

initInstall("Home Button", "home", "0.4");
setPackageFolder(getFolder("Chrome"));
addFile("home.jar");
logComment("lastError "+getLastError());
registerChrome(CONTENT | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"content/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/classic/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/modern/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/ieskin/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/eskimo/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/littlemozilla/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/wood/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/lofi/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/pinball/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/skypilot/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/lopburi/");
registerChrome(SKIN | DELAYED_CHROME, getFolder("Chrome", "home.jar"), 
"skin/kzilla/");
var err = getLastError();
if(err == SUCCESS) {
logComment("Installing Home Button");
performInstall();
}
else {
logComment("Error installing Home Button " + err);
cancelInstall(err);
}

If you see something else that is wrong with the install script, please tell 
me.

Reidar Djupvik

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.

Reply via email to