Mar*_* Ba 8 css thunderbird thunderbird-lightning thunderbird-addon
(注意:虽然我不完全确定在SuperUser上是否会更好地询问这个问题,但我猜你可能不得不在使用css设置的xpi/jar文件中乱七八糟,应该使它适合SO.)
Mozilla Thunderbird的日历扩展,Lightning,将针对不同的日历使用不同的颜色,并且只使用窄的垂直条作为类别颜色:(浅蓝色作为日历颜色,红色作为类别颜色)

我想知道的是我如何改变/"黑客"css样式 - 肯定 - 必须与此相关联,埋在插件目录中的某处,以便在上面的示例中,事件将是完全的红色的.
谁知道如何实现这一目标?
Phi*_*sch 10
category-overlay.png图像仅仅是一个渐变叠加,以使类别栏看起来正确.
这里有两个选择.一个更容易但不可靠,另一个更难:
在$ profile/chrome /目录中创建userChrome.css.它应包含以下内容:
.calendar-color-box[categories~="mycategory"],
.calendar-event-box-container[categories~="mycategory"] {
background-color: #abc123 !important;
}
您需要为要更改颜色的每个类别执行此操作.请注意,更改"闪电"选项中类别的颜色不会更改您在此处设置的类别颜色.
你需要在这里修改lightning.xpi中的一些文件.此解决方案仅需要您在Lightning中设置类别颜色,并且还适用于新添加的类别.请注意,这种方式没有类别的事件是透明的,如果你想要更多,你必须自己做.
如果你想看一个补丁,这适用于最新的comm-central源:
diff --git a/calendar/base/content/calendar-month-view.xml b/calendar/base/content/calendar-month-view.xml
--- a/calendar/base/content/calendar-month-view.xml
+++ b/calendar/base/content/calendar-month-view.xml
@@ -52,21 +52,20 @@
<bindings id="calendar-month-view-bindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="calendar-month-day-box-item" extends="chrome://calendar/content/calendar-view-core.xml#calendar-editable-item">
- <content mousethrough="never" tooltip="itemTooltip">
+ <content mousethrough="never" tooltip="itemTooltip" class="category-color-box">
<xul:vbox flex="1">
<xul:hbox>
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
class="calendar-event-box-container"
xbl:inherits="readonly,flashing,alarm,allday,priority,progress,status,calendar,categories"
flex="1">
<xul:hbox class="calendar-event-details">
diff --git a/calendar/base/content/calendar-multiday-view.xml b/calendar/base/content/calendar-multiday-view.xml
--- a/calendar/base/content/calendar-multiday-view.xml
+++ b/calendar/base/content/calendar-multiday-view.xml
@@ -2119,20 +2119,19 @@
]]></handler>
</handlers>
</binding>
<!--
- An individual event box, to be inserted into a column.
-->
<binding id="calendar-event-box" extends="chrome://calendar/content/calendar-view-core.xml#calendar-editable-item">
- <content mousethrough="never" tooltip="itemTooltip">
+ <content mousethrough="never" tooltip="itemTooltip" class="category-color-box">
<xul:box xbl:inherits="orient,width,height" flex="1">
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="orient,readonly,flashing,alarm,allday,priority,progress,status,calendar,categories,calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
align="stretch"
class="calendar-event-box-container"
flex="1"
xbl:inherits="context,parentorient=orient,readonly,flashing,alarm,allday,priority,progress,status,calendar,categories">
diff --git a/calendar/base/content/calendar-view-core.xml b/calendar/base/content/calendar-view-core.xml
--- a/calendar/base/content/calendar-view-core.xml
+++ b/calendar/base/content/calendar-view-core.xml
@@ -46,21 +46,21 @@
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="calendar-editable-item">
<content mousethrough="never"
tooltip="itemTooltip"
- tabindex="-1">
+ tabindex="-1"
+ class="category-color-box">
<xul:vbox flex="1">
<xul:hbox>
<xul:box anonid="event-container"
- class="calendar-color-box"
xbl:inherits="calendar-uri,calendar-id"
flex="1">
<xul:box class="calendar-event-selection" orient="horizontal" flex="1">
<xul:stack anonid="eventbox"
class="calendar-event-box-container"
flex="1"
xbl:inherits="readonly,flashing,alarm,allday,priority,progress,status,calendar,categories">
<xul:hbox class="calendar-event-details">
Run Code Online (Sandbox Code Playgroud)
这将是最好的工作黑客,虽然它需要javascript更改.按选项B中所述打开calendar.jar并查看calendar-views.js,有两个功能:updateStyleSheetForViews()和updateStyleSheetForCategory().我会把这个留给想要自己修补它的人,但想法是添加一个规则来.calendar-color-box[categories~=...]覆盖默认规则,以防有类别.这样,如果没有设置类别,则使用日历颜色,否则使用所需的类别颜色.
玩得开心 :)
此扩展程序看起来非常适合您想要的功能.
https://addons.mozilla.org/en-us/thunderbird/addon/calendar-tweaks/
要拥有这个,取消选中所有选项,并检查以下内容:
十年后,之前的所有答案要么已经过时,要么过于复杂。
此答案针对最新的 Thunderbird (v102.6.0),支持原生类别颜色,并且仅包含 3 行自定义 CSS。
请按照以下步骤操作:
解锁自定义 CSS,如本文中所述:
转到Tools > Settings > General > Config Editor...,然后设置toolkit.legacyUserProfileCustomizations.stylesheets为true。
找到本文中提到的您的个人资料文件夹:
%APPDATA%\Thunderbird\Profiles\xxxxxxxx.default\~/.thunderbird/profiles/xxxxxxxx.default/~/Library/Thunderbird/Profiles/xxxxxxxx.default/chrome/userChrome.css在配置文件文件夹下创建。例如,Windows 的完整路径如下所示:%APPDATA%\Thunderbird\Profiles\xxxxxxxx.default\chrome\userChrome.css
修改chrome/userChrome.css为包含以下 CSS:
.calendar-category-box {
width: 100% !important;
}
Run Code Online (Sandbox Code Playgroud)
重新启动雷鸟
将日历颜色更改为白色以获得更好的视觉效果:
(可选)自定义类别颜色:
转到Tools > Settings > Calendar > Categories并设置自定义类别颜色。
全做完了!
将来,如果 Thunderbird 引入重大更改,您可能需要根据 中的检查结果稍微修改 CSS Tools > Developer Tools > Developer Toolbox。