I can help in that respect, for themes at least (that is,
"complete themes", not lightweight themes/Personas). Assuming the theme that needs to be ported is compatible with Firefox 24 (if it's not, make sure it is before continuing), the work that needs doing is minimal. If it is compatible with Firefox 24 though, in theory it should work even without porting; some elements, like the URLbar RSS icon, will be missing however.
First of all and most importantly, edit
install.rdf to change the UUID from Firefox to Pale Moon (as in, change
{ec8030f7-c20a-464f-9b0e-13a3a9e97384} to
{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}). Then, make sure minVersion is at least 24.0 (25.0 might work, though best be safe).
For the actual theme, add the following to
browser.css; this is the URLbar feed icon, that shows whenever a page has an RSS feed:
Code: Select all
#ub-feed-button,
#ub-feed-button > .button-box,
#ub-feed-button:hover:active > .button-box {
padding: 0px;
margin: 0px;
border: 0px;
background-color: transparent !important;
}
#ub-feed-button {
-moz-appearance: none;
min-width: 0px;
list-style-image: url("chrome://browser/skin/feeds/feedIcon16.png");
}
Note that you can, of course, change the icon path/use a different icon/add hover/clicked states; this is just the easiest path if you want a no-frills icon. As long as those selector names stay the same, you're golden.
(OPTIONAL*) You can also implement support for Pale Moon's URLbar security padlocks. By default, they show in the identity box on secure sites. Add the following to either browser.css or a new CSS file (I recommend the latter personally, keeps thing tidy):
Code: Select all
#padlock-ib[padshow="ib-trans-bg"][level="ev"] {
list-style-image: url("padlock_mod_ev.png") !important;
background-color: transparent;
}
#padlock-ib[padshow="ib-trans-bg"][level="high"] {
list-style-image: url("padlock_mod_https.png") !important;
background-color: transparent;
}
#padlock-ib[padshow="ib-trans-bg"][level="low"] {
list-style-image: url("padlock_mod_low.png") !important;
background-color: transparent;
}
#padlock-ib[padshow="ib-trans-bg"][level="broken"] {
list-style-image: url("padlock_mod_broken.png") !important;
background-color: transparent;
}
#padlock-ib-left[padshow="ib-left"][level="ev"] {
list-style-image: url("padlock_mod_ev.png") !important;
padding:2px;
background-color: transparent;
}
#padlock-ib-left[padshow="ib-left"][level="high"] {
list-style-image: url("padlock_mod_https.png") !important;
padding:2px;
background-color: transparent;
}
#padlock-ib-left[padshow="ib-left"][level="low"] {
list-style-image: url("padlock_mod_low.png") !important;
padding:2px;
background-color: transparent;
}
#padlock-ib-left[padshow="ib-left"][level="broken"] {
list-style-image: url("padlock_mod_broken.png") !important;
padding:2px;
background-color: transparent;
}
#padlock-ub-right[padshow="ub-right"][level="ev"] {
list-style-image: url("padlock_mod_ev.png") !important;
background-color: transparent;
}
#padlock-ub-right[padshow="ub-right"][level="high"] {
list-style-image: url("padlock_mod_https.png") !important;
background-color: transparent;
}
#padlock-ub-right[padshow="ub-right"][level="low"] {
list-style-image: url("padlock_mod_low.png") !important;
background-color: transparent;
}
#padlock-ub-right[padshow="ub-right"][level="broken"] {
list-style-image: url("padlock_mod_broken.png") !important;
background-color: transparent;
}
#padlock-sb[padshow="statbar"][level="ev"] {
list-style-image: url("padlock_mod_ev.png") !important;
background-color: transparent;
}
#padlock-sb[padshow="statbar"][level="high"] {
list-style-image: url("padlock_mod_https.png") !important;
background-color: transparent;
}
#padlock-sb[padshow="statbar"][level="low"] {
list-style-image: url("padlock_mod_low.png") !important;
background-color: transparent;
}
#padlock-sb[padshow="statbar"][level="broken"] {
list-style-image: url("padlock_mod_broken.png") !important;
background-color: transparent;
}
#padlock-tab[padshow="tabs-bar"][level="ev"] {
list-style-image: url("padlock_mod_ev.png") !important;
background-color: transparent;
}
#padlock-tab[padshow="tabs-bar"][level="high"] {
list-style-image: url("padlock_mod_https.png") !important;
background-color: transparent;
}
#padlock-tab[padshow="tabs-bar"][level="low"] {
list-style-image: url("padlock_mod_low.png") !important;
background-color: transparent;
}
#padlock-tab[padshow="tabs-bar"][level="broken"] {
list-style-image: url("padlock_mod_broken.png") !important;
background-color: transparent;
}
Note that this requires 4 icons, 3 of which you should already have elsewhere: padlock_mod_ev.png (should be identity-icons-https-ev.png in existing themes), padlock_mod_https.png (identity-icons-https.png), padlock_mod_low.png (identity-icons-mixed-active.png), and padlock_mod_broken.png (this icon doesn't already exist; you will need to make it!). You can, of course, add hover/clicked states as required; I just provided the easiest path to achieving full compatibility.
Hopefully anyone that wanted to port a FF24 theme to PM25 and up found this helpful.
*: Theming the padlocks is purely optional; if you don't, Pale Moon will provide its default icons. However, as these are fairly light-coloured to match the default theme, it might break UX a little, especially for dark themes.