jmozmoz wrote:CatThief wrote:
All code below "Message Header Pane - Button Icons" inside CompactHeader.css will seriously conflict with 3rd-party themes that are skinning these buttons with images (and margins) of their own.
!important flags can be added to theme code, but I just wanted to give you a heads up about a potential problem.
Is there a way to add icons to the buttons in case no theme has added ones? In the next step I would like to add the option to display Icon&Text, only Icon or only Text inside the buttons. The "only Icon" option wouldn't make sense if there is no.
Something like an "!insignificant" flag?
Your extension will add these images just fine if the theme does not include them. If the theme does include them, a simple workaround is to insert !important flags for the images, image regions, and in this case margins, just like we would for any other extension for which we include support. I can confirm that this does work with my own theme.
Your plan to include image-only and text-only options is likely to appeal to many users. I can't think of any conflicts with 3rd-party themes unless you decide to apply a binding that rearranges or renames the elements in question. (Oh please don't do that.
) I expect that all we'll need to do is tweak a few margins and attach conditions to them so that things appear centered under these conditions. Extra work, but not difficult to do.
Something to consider is what Paenglab said about margins ^^^. Including values for these inside an extension has the potential of causing many headaches with theme support for the extension.
I think your extension will be popular enough that themers will adjust their code to include support for it. Speaking for myself, I am very appreciative! Compact headers have always been my personal preference, and especially now that Tb3 has made the expanded header area so large. I'll bet the majority of users will not care for this new "enhancement" at all and will be quite surprised to see it after upgrading from Tb2.
Still passionate for Mozilla themes and extensions, just not actively developing them for public release anymore.