A very simple theme structure for SeaMonkey

Discuss application theming and theme development.
Post Reply
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

A very simple theme structure for SeaMonkey

Post by patrickjdempsey »

One of the benefits of switching over to SeaMonkey from Firefox as a theme developer is that SeaMonkey is still broken into several skins for theming. These days Firefox is 95% built in the /browser/ skin which makes it virtually impossible to avoid building a full complete theme. Within SeaMonkey, particularly the /navigator/ skin (roughly analogous to /browser/ in Firefox) is very small which makes it easy to support.

So my basic theme structure for SeaMonkey consists of two skin packages: an overlay skin for /navigator/ and an override skin for /global/ which I am calling /globalish/:

chrome/navigator/
chrome/globalish/

My /globalish/ skin includes CSS support for toolbars, findbars, statusbars, and the textboxes and buttons which appear in those areas. Most of the code in /globalish/ has !important tags on it just like a userChrome hack. Doing this allows us to get a universal toolbar style across your theme with minimal work.

My /navigator/ skin is basically a reproduction of the original /navigator/ but the files are restructured a little and I've migrated some images from other skins so I can support them without including those skin packages. I also have a third skin for Sea Fox support, but that's not necessary. My chrome.manifest looks like this:

Code: Select all

skin    navigator    themename    chrome/navigator/

#create our custom skin package:
skin     globalish      themename    chrome/globalish/

style     chrome://global/content/globalOverlay.xul               chrome://globalish/skin/global.css
style     chrome://communicator/content/bookmarks/bookmarksManager.xul  chrome://globalish/skin/global.css
style     chrome://help/content/help.xul                          chrome://globalish/skin/global.css


bookmarksManager.xul and help.xul have been added because apparently these windows do not normally call the globalOverlay, and therefore would be missing our toolbar modifications.

I've uploaded my sample theme on AMO and it should appear in a few days: https://addons.mozilla.org/en-US/seamon ... i-artemia/
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
User avatar
Aris
Posts: 3248
Joined: February 27th, 2011, 10:14 am

Re: A very simple theme structure for SeaMonkey

Post by Aris »

Good job partrick. Stratini Artemia is now visible on AMO.
User avatar
patrickjdempsey
Posts: 23686
Joined: October 23rd, 2008, 11:43 am
Location: Asheville NC
Contact:

Re: A very simple theme structure for SeaMonkey

Post by patrickjdempsey »

Thanks... when my summer slows down a bit more I'll post some more details about tricks I used to simplify the coding, as well as some of the (dare I say it?) cutting edge coding I'm using to get effects that I've yet to see anyone do. I actually did most of the work on this months ago and just never got around to publishing. Busiest summer of my life is drawing to a close! Not complaining, but I'm ready for some free time!
Tip of the day: If it has "toolbar" in the name, it's crap.
What my avatar is about: https://addons.mozilla.org/en-US/seamonkey/addon/sea-fox/
Post Reply