Themes suddenly stopped working after trying new theme
I installed a theme in TB and it looked nice, so I decided to try it in FF36.04. It worked, but when I tried to go back to my old theme (Same author), it didn't work and the area at the top went black with just the usual text. I tried to go back to my old theme (same Author) which has worked fine for years. When I went to Add-ons | themes it lists the various themes, but doesn't display pics. If you go to the specific page of the theme (via add-ons) it only shows the author and theme name along with the disable/remove button, no picture or any other details. This is the same for all themes.
I tried adding a new theme at random and it worked and displayed the picture in the themes tab, but the others still don't work. They show different colours if I enable different themes, which I assume is the background. I've tried all the usual things, going back to default (seems OK), tried restarting FF, Rebooting laptop, etc. but nothing gets my old theme back that I've had for years.
Because a new theme worked, I could presumably remove all my old themes and go and download them and install them again, but something went wrong and I'd like to fix whatever it is, rather than perhaps leave a hidden problem.
Any suggestions?
- Edit - Just updated to FF37.0.1 and no change. I have noticed though that the theme I tried to add originally (the one when the problem started) is not actually in the list of themes! It did work at first, it was when I went to change back to my old theme that the problem started.
.
Modified
Chosen solution
This is about the lightweightThemes.usedThemes pref that stores the Persona data in JSON format, so that is probably OK as that involves a fair amount of data especially if you have many lightweight themes installed.
Firefox places Persona images as lightweighttheme-header and lightweighttheme-footer in the Firefox profile folder (xxxxxxxx.default). The images will be resized and copied to the lwtheme folder and you need to delete the files in this folder to make Firefox use a new Persona. The lightweightThemes.usedThemes pref needs to be true to make Firefox use Persona images.
You can check the image files and you can possibly try to copy lightweighttheme-header and lightweighttheme-footer from the Thunderbird profile folder to the Firefox profile folder if they work in Thunderbird. You need to remove the current files in the lwtheme folder to make Firefox regenerate the files that will be used.
Read this answer in context 👍 0All Replies (10)
Is this about a lightweight theme (Persona) that only gives the user interface a background image?
It is possible that the image files are no longer present on the server.
Do you see any errors in the Browser Console (Firefox/Tools > Web Developer) about retrieving the image files?
- https://developer.mozilla.org/Tools/Browser_Console
- https://developer.mozilla.org/Tools/Browser_Console#Browser_Console_command_line
Firefox only stores the header and footer image files of the currently selected Persona in the profile folder. The image files of other installed Personas are loaded from the server when you select a different Persona via "Add-ons > Appearance". If the image files are missing or can't be retrieved then you only see the text and background colors as specified in the data of the Persona.
Thanks Cor-el Yes apparently these are the light 'personas'. The specific one I have run for quite some time is 'A tropical state of mind' by Sassygirl.
I loaded this theme in TB yesterday, along with a few others of hers and they still work fine now (I just changed the TB theme over to that one, just to be sure).
In the console, there was a fair bit of stuff I didn't understand, but I then set the above persona and checked the console output and it then adds this to the console -
NS_ERROR_FILE_NOT_FOUND: Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import] main4.js:6:0 Use of getPreventDefault() is deprecated. Use defaultPrevented instead. jquery-min.js:3:0 Warning: attempting to write 7465 bytes to preference usedThemes. This is bad for general performance and memory usage. Such an amount of data should rather be written to an external file. 1428193051331 Services.Metrics.Provider.org.mozilla.addons WARN Add-on type without field: dictionary 1428193051723 Services.Metrics.Provider.org.mozilla.addons WARN Add-on type without field: dictionary
Thanks for assisting.
Chosen Solution
This is about the lightweightThemes.usedThemes pref that stores the Persona data in JSON format, so that is probably OK as that involves a fair amount of data especially if you have many lightweight themes installed.
Firefox places Persona images as lightweighttheme-header and lightweighttheme-footer in the Firefox profile folder (xxxxxxxx.default). The images will be resized and copied to the lwtheme folder and you need to delete the files in this folder to make Firefox use a new Persona. The lightweightThemes.usedThemes pref needs to be true to make Firefox use Persona images.
You can check the image files and you can possibly try to copy lightweighttheme-header and lightweighttheme-footer from the Thunderbird profile folder to the Firefox profile folder if they work in Thunderbird. You need to remove the current files in the lwtheme folder to make Firefox regenerate the files that will be used.
If it helps I could post all of the console output.
Sorry, I was posting while you were!
It just puzzles me that all new personas work fine, but the old ones won't. There was originally 8 of them and in testing I added 3. I'm not sure if that's considered a lot, but if you think I should reduce that then please let me know, as most of the time I only use the 1, the others are to show friends occasionally and rarely used.
The thing I found interesting is that persona I installed and then tried to change back to my original one, is nowhere to be seen, it's not in the list, even though all the other original ones are and all the new ones I tried since then are.
I'm not sure if this makes any diff, but I have run the FEBE add-on for some time to backup things like that. I restored the lightweight themes (using FEBE) prior to asking for help and it made no difference at all.
I found the directory and the lightweighttheme-header and lightweighttheme-footer files, which had no extension. I had a look at their contents (I use Z-Tree) and they are HTML files, not images, perhaps I'm misunderstanding. Should I delete these? As yet I don't have all the personas in TB, only a few, so I'm not sure copying those over from TB would be correct.
I checked and there is no lwtheme folder under xxxxxx.default, or anywhere else on the system (Checked with the excellent 'Everything' from voidtools.com) other than under the TB directory. The closest I could find was ...\Profiles\xxxxxxxx.default\personas\cache\36084\ and under there there is a footer.jpg and header.jpg, dated from 2012, both of which are the correct 'persona' I've been using for some years. I imagine this could possibly be an old folder that is no longer used?
I don't want to chew up too much of your time, so if you think it's easier I can just delete all the personas and reload them one by one, I was only concerned if there were perhaps other underlying problems that might cause issues later.
Thanks so much for taking the time to assist me, it's greatly appreciated.
Modified
A bit more information. I found the lightweighttheme-header and lightweighttheme-footer would change to HTML files if I set the default FF theme. I renamed those for safe keeping and copied the picture files of the same name from TB, which I confirmed were the correct pictures.
Restarted FF and no change (tried changing personas, etc). It did not create a lwthemes directory. I copied the 2 files from the lwthemes directory of TB over to a new lwthemes under FF's xxxxx.default and started FF again, but still no change.
I checked the prefs.js and found the 'A Tropical State of Mind' referenced in numerous places, along with other personas. Also found these settings -
user_pref("lightweightThemes.isThemeSelected", true); user_pref("lightweightThemes.persisted.footerURL", false); user_pref("lightweightThemes.persisted.headerURL", false); user_pref("lightweightThemes.usedThemes", "[{\"id\":\"360804\",\"name\":\"A TROPICAL STATE OF MIND\",\"headerURL\":\"https://addons.mozilla.org/_files/277332/atropicalattitudeofmind.jpg?1296426260\",\"footerURL\":\"https://addons.mozilla.org/_files/277332/atropicalattitudeofmindF.jpg?1296426260\",\"textcolor\":\"#000000\",\"iconURL\":\"https://addons.mozilla.org/_files/277332/preview_small.jpg?1296426260\",\"previewURL\":\"https://addons.mozilla.org/_files/277332/preview.jpg?1296426260\",\"author\":\"ÔÿàSaSSyGirLÔÿà\",\"updateURL\":\"https://versioncheck.addons.mozilla.org/en-US/themes/update-check/360804?src=gp\",\"version\":\"0\"},{\"id\":\"277395\",\"name\":\"COLORFUL HONG KONG\",\"headerURL\":\"http://getpersonas-cdn.mozilla.net/static/9/5/277395/HK.JPG?1321450621\",\"footerURL
......Goes on with other personas
I changed the lightweightThemes.persisted.footerURL and headerURL to true and I now have the correct pictures back in FF - However when I go to the ad-ons | Appearance, the list of personas still has no pictures and the individual pages for those personas are the same (blank other than the name and buttons), even the 'A tropical state of mind' one that is now showing correctly at the top of FF. It has updated the files in the lwthemes directory.
I then tried to select another persona with no picture and it's now back to the same problem with just the background (presumably) up, even when changing back to the tropical one that was just working.
OK, it seems your advice about the URL was spot on. When I copied and pasted a couple of the URL's from the prefs.js, they couldn't be found. I did find the new URL's by searching through Mozilla's pages -e.g. https://addons.mozilla.org/en-US/firefox/addon/a-tropical-attitude-of-mind/
Seems the URL's must have changed, but for some reason these weren't updated in the prefs. I'm guessing there is nothing to update the URLs for personas, which would seem to be a rather large hole potentially!
So probably the easiest thing for me to do is just remove all the previous personas and reload them, would you agree?
Thanks for your help
Modified
Yes, best would be to start anew with lightweight themes to avoid issues with a Persona that has been removed or at least its image files are missing. lightweighttheme-header and lightweighttheme-footer should be image files and not contain HTML code. The latter would clearly indicate that the server didn't find the files and has send an error message.
If you like a Persona then it is always best to save a copy of the lightweighttheme-header and lightweighttheme-footer files in the Firefox Profile Folder in case the Persona is no longer available on the Persona server.
A possible way to make Firefox use the lightweighttheme-header and lightweighttheme-footer files is using prefs like this by editing prefs.js or temporarily use a user,js file to initialize prefs once. Delete the remove the current files in the lwtheme folder if you want to switch the persona.
user_pref("lightweightThemes.isThemeSelected", true); user_pref("lightweightThemes.usedThemes", "[{\"id\":\"1\",\"name\":\"Unknown\",\"accentcolor\":\"-moz-dialog\",\"textcolor\":\"black\",\"description\":\"Unknown\",\"author\":\"Unknown\",\"headerURL\":\"\"https://addons.cdn.mozilla.net/user-media/addons/\",\"footerURL\":\"\"https://addons.cdn.mozilla.net/user-media/addons/\",\"previewURL\":\"\",\"iconURL\":\"\":\"\"}]");
Thanks for all your help Cor-el. I removed all the old personas and references to them in prefs.js and reloaded the new ones and all worked fine. I'll probably back them up like your suggestion so I can possibly use them later if they disapper.
I am surprised though they there isn't some mechanism to change the URL or at the very least throw up an error message saying it couldn't find the persona. Instead it just shows a blank page. Doesn't seem up to FF's usual standards.
Anyway, it's all going again, so thank you.
You're welcome.
You will probably see an error message in the Browser Console (Firefox/Tools > Web Developer) when the images can't be retrieved.