userChromeJS
resources: | Home FAQ |
---|
What's New
- 2008-12-22: Initial version 1.0 released
- 2009-05-22: v1.1
- 2010-07-22: v1.2
- 2011-02-22: v1.3
- 2011-08-22: v1.4
- mozdev.org
userChromeJS allows complete chrome customization when an
extension is excessive.
userChromeJS is derived from the original userChrome.js by zeniko. An import function has been added to enable greater flexibility in absolute/relative file management, along with some overlay tweaks. Thanks to zeniko for the original idea; the bug to implement this functionality in core Mozilla is Bug 332529.
Installation:
userChromeJS v1.4 (Gecko 2.0, Fx4.0+ and Tb3.3+ and Sm2.1+
userChromeJS v1.2 (Fx3.0-Fx3.6 and Tb3.0-Tb3.1
Requirements:
Platform: All OSs.
Applications: Firefox 3.0 and higher, Thunderbird 3.0 beta and higher, any
Gecko 1.9.0 and higher toolkit application. Older applications
should use userChrome.js 0.8.
Features:
- Complete chrome customization is possible by running custom javascript code or overlaying chrome with .xul overlays.
- An extension is not required for small code snippet tweaks or even larger UI modifications.
- An import function lets script and overlay files be organized and shared among profiles and even made portable.
Compatibility:
- No known problems.
Known Issues:
- Loading multiple overlays is hit or miss.
Due to
Bug 330458,
an overlay must finish before another can be called, otherwise neither
is successful. setTimout() values are used internally to minimize this
problem but there is no guarantee; overlay cdata (if any) needs to consider
overlay completions. See the FAQ for a workaround,
if necessary.
NOTE: the log message does not strictly mean an overlay has completed, but
rather that the overlay merge of the given file has been invoked.
NOTE: a proper fix would implement an observer and serialization, but it's
better if the core bug is fixed..
Localization:
There are only a few console error message strings; localizations welcome.
Support and Questions:
Please read the FAQ before posting to the userChromeJS Mozillazine thread. A collection of useful code snippets may be found here.
Version history:
- 1.4
- New: default charSet is now UTF-8.
- New: allow user settable charSet for files loaded using the import or importFolder functions. See the README.txt in the FAQ.
- New: add SeaMonkey 2.1 support. - 1.3
- Fix: change manifest xpcom registration to support Thunderbird.
- 1.2
- Update: compatibility with Gecko 2.0 (Fx4) xpcom registration changes.
- 1.1
- Fix: handle shortcut constants, when sometimes defined sometimes not.
- Doc: see the README.txt in the FAQ for info on userChromeJS console logging features. - 1.0
- New: initial release.