Great Extension for Theme Designers!!!

Discuss application theming and theme development.
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Great Extension for Theme Designers!!!

Post by Sailfish »

Pike has recently added theme support to his "Show Old Extensions" extension. While the name doesn't suggest anything about what this can do for theme designers, in fact, it offers them the ability to once again design and test their themes directly from their libraries (pre-0.9 had this capability already.)

For those of you who may not be familiar with this capability, I've explained it briefly here.

read/ignore.
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

thanks a lot, Sailfish. i think this is exactly what i've been looking for. i spent several hours last night trying to figure out how to get my theme back into "development mode" in 0.9 with not much success. i was able to replace the "classic/1.0" theme with it in installed-chrome.txt and have it "live" and editable, but it was far from ideal.

so i'm gonna go give SOE a try and finish dressing up my theme for 0.9. also, that second thread you linked had some pretty good discussion and ideas. i had thought about trying to install the theme in the profile, but wanted to avoid it for the same reasons you gave. hopefully i'll be able to get everything working again.

in the meantime, is there any "official" way to manually install themes/extensions into the app dir? Extensions.rdf doesn't seem to auto-update with new entries to installed-extensions[-processed].txt like chrome.rdf does with installed-chrome.txt.
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Post by Sailfish »

miahz, I think you'll find Pike's extension just what the doctor ordered. For testing purposes, I unarchived about 7 different themes and simply added the entry into the installed-chrome.txt file for each and, Voila!, the only thing that doesn't show up is the theme icon and any about.xul file you may have EM'd in the install.rdf file.

I've not kept abreast of the "global" install replacement option. The last I read was that it was going to be offered via some command line invocation but that was several weeks ago.
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

hmm, can't get it to work. i almost gave up, then i glanced back over Pike's site and saw the note about adding the "showoldexts.enable_theme_support" pref. but it still doesn't work after that. anything else i should look out for? it's possible i don't have my install.rdf totally sorted out, altho the same theme installs and works properly when packed up, so i'm not sure why it won't work this way. using SOE 0.1.4 on the Firefox 0.9 release.

edit - i should also note that it is being "installed" by installed-chrome.txt and is added to chrome.rdf, but it doesn't show up in the Themes manager.
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Post by Sailfish »

Could you post the entry you made in installed-chrome.txt for your theme?
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

ok, i got it to install and show up in the manager. it was due to an incomplete contents.rdf - i had removed some of the theme info which seemed to be redundant after install.rdf, but i guess it turns out that it's still needed. so anyway, it's in the manager, but it doesn't "take" when i click "Use Theme". i'm still hacking at it and i'm sure i'll get it eventually... it's probably just some other little incorrect line in one of the config files or something. any other suggestions are quite welcome. next i'll probably try to start with a fresh install in a new dir and new profile and work from there until i can track down the culprit.
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Post by Sailfish »

Hmm, do you have all of the mozapps sub-folders and did you include a RDF entry for the mozapps folder in your contents.rdf file?
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

yep. as i said - it works ok when packed up normally as a jar and installed. for the new mozapps dirs, i just copied them from the default theme temporarily, and they work fine as stand-ins - otherwise, it's pretty complete. i just read thru the SOE thread again, just to see if i missed anything.

the fresh install didn't reveal anything new - it still won't use the theme, but i've still got plenty things to try. thanks for sticking around and trying to help, Sailfish.
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Post by Sailfish »

Give me a url to your theme jar and I'll take a look at it and get back to you, if you don't mind an extra set of eyes on it?
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

ahhh yes. i got it.
in all my back-and-forth editing of install.rdf and contents.rdf the em:internalName and chrome:name got mismatched. fixed, and now it's working. the funny thing is - i had that problem before when i first stumbled into 0.9 so i knew to look out for it. but in my frustration, i started changing too many things at once. i probably would have had it working a little sooner, if i would have caught that.

thanks again, Sailfish, for your help.

ok, summary of what we've learned today:<ol><li>install Show Old Extensions</li><li>enable old theme support by adding the pref "showoldexts.enable_theme_support" set to "true" in about:config, prefs.js, etc.</li><li>in installed-chrome.txt, add an install entry which points to the dir containing contents.rdf (same as before 0.9)</li><li>make sure both contents.rdf and install.rdf follow the proper format.</li><li>make sure the chrome:name in contents.rdf and the em:internalName in install.rdf match, or else you won't be able to use the theme even if it appears in the manager</li><li>you'll need to update your theme with the new mozapps content to prevent the GSOD, ensuring the Themes manager displays properly, allowing you to switch back to other themes</ol><ul><li>in the Themes manager, the information displayed is from contents.rdf not install.rdf. so there is no icon or version number; but it you right-click>About [theme]... you'll get a dialog with all the info from contents.rdf that was displayed in the old themes options panel</li><li>the Update (obviously) and Uninstall buttons do not work for themes installed in this manner</ul>
Sailfish
Posts: 5681
Joined: November 5th, 2002, 4:58 pm

Post by Sailfish »

miahz wrote:ok, summary of what we've learned today:
...

Very complete and very good.

Congrats on getting to work, I couldn't imagine having to work on my themes using the bad old method of change/rejar/replace jar :)
Reality
Posts: 195
Joined: December 13th, 2003, 9:07 pm
Contact:

Post by Reality »

Found this thread, but I can't get the above way to work. I installed the extension (version 1.5), added "showoldexts.enable_theme_support", added this to installed-chrome
skin,install,url,file:///C:/Windows/Profiles/Windows/Desktop/Runes/

The names in the install.rtf and contents.rtf files match. Here's my contents.rtf file:

<?xml version="1.0"?>

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

<!-- List all the skins being supplied by this theme -->
<RDF:Seq about="urn:mozilla:skin:root">
<RDF:li resource="urn:mozilla:skin:Runes" />
</RDF:Seq>

<!-- classic Information -->
<RDF:Description about="urn:mozilla:skin:Runes"
chrome:displayName="Runes"
chrome:accessKey="N"
chrome:author="David Bruhn"
chrome:authorURL="http://www.tobemade.com/"
chrome:description="Clear, original icons on a blue background."
chrome:name="Runes"
chrome:image="preview.png">
<chrome:packages>
<RDF:Seq about="urn:mozilla:skin:Runes:packages">
<RDF:li resource="urn:mozilla:skin:Runes:browser"/>
<RDF:li resource="urn:mozilla:skin:Runes:communicator"/>
<RDF:li resource="urn:mozilla:skin:Runes:global"/>
<RDF:li resource="urn:mozilla:skin:Runes:mozapps"/>
</RDF:Seq>
</chrome:packages>
</RDF:Description>

<!-- Version Information. State that we work only with major version 1 of this package. -->
<RDF:Description about="urn:mozilla:skin:Runes:browser" chrome:skinVersion="1.5"/>
<RDF:Description about="urn:mozilla:skin:Runes:communicator" chrome:skinVersion="1.5"/>
<RDF:Description about="urn:mozilla:skin:Runes:global" chrome:skinVersion="1.5"/>
<RDF:Description about="urn:mozilla:skin:Runes:mozapps" chrome:skinVersion="1.5"/>
</RDF:RDF>


I have a mozapps content. My theme based off Noia (extreme). It works as a jar file. What's wrong?
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

Well, first of all, it's install.rdf and contents.rdf not .rtf - i'm sure it's a typo, but just in case... Otherwise, your contents file looks ok. Might be something off in the install file. Both of them need to be in the dir you point to in installed-chrome.txt. Kinda hard to diagnose with just that one file. We might be able to help with a little more info.
Reality
Posts: 195
Joined: December 13th, 2003, 9:07 pm
Contact:

Post by Reality »

Like what? Install.rdf, or the whole jar file?
Old miahz
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Old miahz »

Well, you say the whole .JAR file works ok, so that probably wouldn't be necessary, though, if you are able and willing to put it up somewhere, it wouldn't hurt. The problem most likely lies with the .RDF files, installed-chrome.txt, or maybe one of the other steps to set it all up. When you say that you can't get it to work, does that mean it doesn't even show up in the Themes manager, or you aren't able to use it, or what? I've recently run into problems of my own with the new theme/extension format, so it's very possible there's some other thing i could be overlooking. Someone else may have some other ideas.

Oh, just had a thought - you said it installed fine as a .JAR, right? So if it's still installed, that may be conflicting with this one you're trying to install. You can't have two themes with the same chrome:name and guid installed or else weird/bad things happen. Try uninstalling the old .JAR one first if you haven't already done so.
Post Reply