To try the thousands of add-ons available here, download Mozilla Firefox, a fast, free way to surf the Web!
CloseWelcome to Firefox Add-ons.
Choose from thousands of extra features and styles to make Firefox your own.
CloseReviews for userChromeJS
8 reviews for this add-on
Rated 5 out of 5 stars
Excellent! I've been hacking the UI a lot. This is essential to me.
I've used it to get rid of the Windows-supplied title bar and have added my own to several of the Thunderbird Windows &amp; Dialogs, like how tabs-in-titlebar (Advanced Preferences: "browser.tabs.inTitlebar" (oops! Is that "mail.tabs.drawInTitlebar" instead???), <body> tag attribute "tabsintitlebar") work in the main Window.
Enhancement Idea:
- add more Window/Dialog types - I hacked this extension to add filterListDialog and FilterEditor. Perhaps more coming.
Can you submit a pull request for your changes at https://github.com/Extended-Thunder/userChromeJS ?
Rated 5 out of 5 stars
Version 1.2 made Thunderbird Supernova convenient for me ref https://support.mozilla.org/en-US/questions/1428352
Rated 5 out of 5 stars
Not work with 115. Please update thx.
This review is for a previous version of the add-on (1.0.1).Rated 5 out of 5 stars
@Dan: In order to make it work, you need to change getURLSpecFromFile to getURLSpecFromActualFile.
This review is for a previous version of the add-on (1.0.1).That fix was already made in v1.0.1 which was released on July 4.
Rated 5 out of 5 stars
Lost all my buttons with 102.0. Will an update for the new version be possible?
Edit: thanks for the reply.
Ok found the problem. Your addon is indeed still working however the code for creating separate buttons with .uc extension no longer does. You posted it previously:
let protocolHandler = Services.io.getProtocolHandler("file").
QueryInterface(Components.interfaces.nsIFileProtocolHandler);
let userChromeDirectory = Services.dirsvc.get("UChrm", Ci.nsIFile);
for (let file of userChromeDirectory.directoryEntries) {
if (! file.leafName.endsWith(".uc.js"))
continue;
let url = protocolHandler.getURLSpecFromFile(file);
Services.scriptloader.loadSubScriptWithOptions(url, {
target: document.defaultView,
charset: "UTF-8",
ignoreCache: true
});
}
If the code is placed in userchrome then it's good.
I'm not sure what you mean by "buttons" or what "buttons" have to do with userChromeJS. I just tested userChromeJS with TB102 today and it seems to work just fine. If there is code in your userChrome.js file that's creating buttons of some sort, and that code is no longer working in TB102, then I don't think that's because userChromeJS isn't working, I think it's because the code isn't working, and that's not anything userChromeJS can fix.
In any case this isn't the right place to seek support for the add-on. Please see the support email address on the add-on home page for further assistance.
Rated 5 out of 5 stars
I appreciate you making the addon work
This review is for a previous version of the add-on (1.0).Rated 5 out of 5 stars
Thanks. This addon was recommended to add some code so that Lightning calendar events could be edited when clicked on in Thunderbird 91 (rather than the extra step introduced) . It all worked perfectly!
This review is for a previous version of the add-on (1.0).Rated 4 out of 5 stars
Well, it works, but not without problems (I think so)...
I have some little scripts for custom buttons, they work fine with the setup in thunderbirds 68.x folders described here:
https://www.thunderbird-mail.de/forum/thread/80290-anpassung-per-userchromejs-per-script-ab-version-60/
I switched full to this AddOn (have deleted all added extra files from above).
Now only userChrome.js is loaded. Scripts in this file works well. But no extra userscript named as *.uc.js will work.
It is not possible to set userChrome.import("*", "UChrm").
And I can't figure out how to run the userscripts.
So I deleted this add-on, but:
Don't know for sure, but after deleting this addon I had trouble to clear the profile. I had duplicate custom buttons (no double scripts) in the menu and the positions of the buttons won't save.
I copied a backup profile and worked on, everything is fine again.
This add-on has nothing to do with the problems you had after deleting it.
This add-on is not a full replacement for the old one. It doesn't claim to be. As the description says, all this add-on does is load userChrome.js in every window.
I'm happy to accept pull requests to add additional functionality. See jikamens/userChromeJS on github.
Here's an example of how to implement the *.uc.js functionality yourself in your userChrome.js file:
let protocolHandler = Services.io.getProtocolHandler("file").
QueryInterface(Components.interfaces.nsIFileProtocolHandler);
let userChromeDirectory = Services.dirsvc.get("UChrm", Ci.nsIFile);
for (let file of userChromeDirectory.directoryEntries) {
if (! file.leafName.endsWith(".uc.js"))
continue;
let url = protocolHandler.getURLSpecFromFile(file);
Services.scriptloader.loadSubScriptWithOptions(url, {
target: document.defaultView,
charset: "UTF-8",
ignoreCache: true
});
}
To create your own collections, you must have a Mozilla Add-ons account.