评分5星,满分5星

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;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 ?

评分5星,满分5星

Version 1.2 made Thunderbird Supernova convenient for me ref https://support.mozilla.org/en-US/questions/1428352

评分5星,满分5星

Not work with 115. Please update thx.

这个评论是针对附加组件的一个早期版本的(1.0.1)。 

评分5星,满分5星

@Dan: In order to make it work, you need to change getURLSpecFromFile to getURLSpecFromActualFile.

这个评论是针对附加组件的一个早期版本的(1.0.1)。 

That fix was already made in v1.0.1 which was released on July 4.

评分5星,满分5星

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.

这个评论是针对附加组件的一个早期版本的(1.0)。  对这个附加组件,此用户曾发表过1个评价

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.

评分5星,满分5星

I appreciate you making the addon work

这个评论是针对附加组件的一个早期版本的(1.0)。 

评分5星,满分5星

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!

这个评论是针对附加组件的一个早期版本的(1.0)。 

评分4星,满分5星

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.

这个评论是针对附加组件的一个早期版本的(0.0.5)。 

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
});
}