我已经使用Thunderbird多年了,现在我有兴趣开发一些自己的扩展.我查看了他们官方网站上的文档,但发现很少支持入门.我有一些python,perl,php的经验,如果你能推荐我一些入门材料,那么这个"你好世界"会很棒.
(注意:虽然我不完全确定在SuperUser上是否会更好地询问这个问题,但我猜你可能不得不在使用css设置的xpi/jar文件中乱七八糟,应该使它适合SO.)
Mozilla Thunderbird的日历扩展,Lightning,将针对不同的日历使用不同的颜色,并且只使用窄的垂直条作为类别颜色:(浅蓝色作为日历颜色,红色作为类别颜色)

我想知道的是我如何改变/"黑客"css样式 - 肯定 - 必须与此相关联,埋在插件目录中的某处,以便在上面的示例中,事件将是完全的红色的.
谁知道如何实现这一目标?
我想在Thunderbird的主窗口中显示之前修改一条消息.我似乎无法找到1)打开/查看新消息时将触发的事件2)修改消息显示内容的方法.
我相信我需要chrome://messenger/content/messenger.xul叠加层,并且可以使用如下的监听器:
window.addEventListener( "SOME MAGIC HERE", modify_message_handler, true );
Run Code Online (Sandbox Code Playgroud)
但是那个事件是什么,我不确定,还有我会得到什么对象(消息标题?)以及我可以轻松修改显示的内容.
所以问题是:
我正在开发一个 Thunderbird 扩展程序,不幸的是,我无法从哪些内容中区分出哪些仍然有效。网上有很多东西,但是,其中大部分不再适用于最近的 Thunderbird。
至少,我需要一种从扩展中查看日志消息的方法,以便我可以看到哪些有效,哪些无效。理想情况下,我想要一个完整的调试控制台。Stackoverflow 上有对 Thunderbird Developer Tools 的参考,但似乎没有下载它们的方法。
我还希望能够执行可以通过控制台引用我的扩展程序的 Javascript。当我通过 Thunderbird 的控制台尝试此操作时,我收到错误消息。即使在使用其他人的扩展时我也会得到这个,所以我必须假设扩展超出了控制台的范围
如何获得新的 Thunderbird 扩展的可见性和交互性?
我想开发一个Thunderbird 12插件.我写了一个简单的JS函数.(文件:"chrome\content\myApp.js").该文件由xul-'onclick'事件调用.我已将我的插件打包为.xpi文件,然后我安装了它.(好的,它正在工作!)
现在我想调试我的JS函数.但我找不到一个有效的JS Debugger.我试过这个插件:
javascript debugging thunderbird javascript-debugger thunderbird-addon
如果您正在为其中一个mozilla应用程序(例如Firefox,Thunderbird等)开发扩展,则在install.rdf中定义扩展ID.
如果由于某种原因你需要知道扩展名id,例如在本地文件系统(1)中检索扩展名dir,或者如果你想将它发送到webservice(useage统计)等,那么从安装中获取它会很好.rdf赞成在你的javascript代码中硬编码.
但是如何从我的扩展程序中访问扩展程序ID?
1)示例代码:
var extId = "myspecialthunderbirdextid@mydomain.com";
var filename = "install.rdf";
var file = extManager.getInstallLocation(extId).getItemFile(extId, filename);
var fullPathToFile = file.path;
Run Code Online (Sandbox Code Playgroud) javascript firefox thunderbird firefox-addon thunderbird-addon
我对电子邮件客户端(例如Mozilla Thunderbird)的备用标准视图有一个想法。我需要在一个供稿中显示展开的邮件正文(例如Google Reader显示RSS),而不是标题列表和一个邮件正文。
让我想象一下。标准视图:http : //i.stack.imgur.com/R5OZ4.jpg。Google阅读器视图:http : //i.stack.imgur.com/CRBoM.jpg
我认为正确的方法是隐藏XUL元素(例如threadPaneBox和messagepanebox),然后插入一个新元素。在启动时,我将加载当前文件夹的消息并将其呈现在此新容器中。
因此,问题是-在Thunderbird中自定义消息视图是否正确?什么是正确的方法?问这个问题的正确位置是什么(也许最好去一些Thunderbird开发者论坛)?最后,为Thunderbird编写扩展名是将我的想法付诸实践的最佳方法吗?
所以基本上我试图用一个打开URL的按钮来创建一个非常简单的Thunderbird-Add-On.
所以我尝试了一些Firefox-Example-Plugins(https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs),但它们都因为以下原因而失败:
读取清单:处理browser_action时出错:在WebExtension清单中发现了一个意外的属性.
我找不到任何文档Thunderbird 60+与Firefox的不同之处以及如何为Thunderbird重新创建browser_action
有没有一种方法可以像通过 addon/webextension 处理应用程序的其他部分一样挂钩 Thunderbird 中的任务?
据我了解,任务是日历的一部分,而日历又属于闪电插件 - 这就是为什么 Thunderbird 开发人员文档中没有涵盖任务的原因?
如果这种方法不可行,那么我想要实现的目标是:我想将我的 todoist 任务与 Thunderbird 任务同步。Todoist本身仅提供与截止日期同步的任务,但这些任务作为日历事件导入,这对我来说没有用,因为许多任务没有截止日期。
唯一能够同步的扩展是 Google 任务的扩展,但是,我无法获得其源代码,也许无法了解他们是如何完成此操作的。
thunderbird thunderbird-lightning thunderbird-addon todoist thunderbird-webextensions
我已经按照教程进行了Thunderbird扩展,并成功获得了使用"load"事件的扩展(基本的"日期"示例和使用alert("hey");这两种工作的随机文本).
但是,我似乎无法触发任何基于消息的事件.我尝试过使用各种类型的警报,看起来我的代码似乎没有运行.例如:
function send_event_handler( evt ) {
alert("hohoho");
}
window.addEventListener( "compose-send-message", send_event_handler, true );
Run Code Online (Sandbox Code Playgroud)
如何触发允许我修改邮件正文的事件?
我的测试平台正在使用Thunderbird 13.
我的清单是:
content thundersafe chrome/content/
overlay chrome://messenger/content/messenger.xul chrome://thundersafe/content/thundersafe.xul
Run Code Online (Sandbox Code Playgroud)