我已经定义了带有颜色的标签:
grep 'mailnews.tags.' prefs.js
user_pref("mailnews.tags.test.color", "#f2a064");
user_pref("mailnews.tags.test.tag", "TEST");
user_pref("mailnews.tags.lists.color", "#3baff4");
user_pref("mailnews.tags.lists.tag", "lists");
当消息被标记时,文本具有上面定义的颜色。但是,当我移动光标时,选定的标记消息现在将此颜色(或其衍生物)用作背景颜色,并带有白色文本。当标签颜色也是浅色调时,这使得标签不可读。
我已经在我的用户Chrome.css:
treechildren::-moz-tree-cell(lc-F2A064, selected) {
background-color: #B63C29 !important;
}
treechildren::-moz-tree-cell-text(lc-F2A064, selected) {
color: #F7FF7C !important;
}
treechildren::-moz-tree-cell(lc-3BAFF4, selected) {
background-color: #B63C29 !important;
}
treechildren::-moz-tree-cell-text(lc-3BAFF4, selected) {
color: #F7FF7C !important;
}
但这似乎没有效果。
我在 Debian 上使用 Thunderbird 68.8
。
所以,简而言之,我知道如何定义标签文本颜色。但是,当选择标记消息时(光标当前位于消息上),如何定义背景颜色?
答案1
标签不再由“lc-”前缀颜色值引用。
前五个标签称为T_24label#
,其中#
是标签的编号。例如,默认的“重要”标签称为T_24label1
。 (根据我的经验,前五个标签即使已从默认值重命名,也如上所述。)
除了第五个之外,标签通过其小写名称并加前缀 来引用T
。例如,名为“Tech”的标签被称为Ttech
。但是,尚不清楚是否可以引用名称中包含空格的标签,例如“新消息”或“非常重要”。
以上信息是从回复中提炼出来的(不是“选择的解决方案”)发送至 Mozilla 支持帖子标签: 为背景而不是文本着色。
举个例子,这是我的全部用户Chrome.css文件:
treechildren::-moz-tree-cell-text(selected) {
background-color: lightgrey !important;
color: black !important;
}
treechildren::-moz-tree-cell-text(selected, focus) {
background-color: Highlight !important;
color: white !important;
}
treechildren::-moz-tree-row {
border: none !important;
background-color: white !important;
}
treechildren::-moz-tree-row(selected) {
background-color: lightgrey !important;
}
treechildren::-moz-tree-row(selected, focus) {
background-color: Highlight !important;
}
/* Tag Important */
treechildren::-moz-tree-cell(T_24label1) {
background-color: #BF4040 !important;
}
treechildren::-moz-tree-cell(T_24label1, selected) {
background-color: #FFCCCC !important;
}
treechildren::-moz-tree-cell(T_24label1, selected, focus) {
background-color: #FF0000 !important;
}
treechildren::-moz-tree-cell-text(T_24label1) {
color: #FFF !important;
}
treechildren::-moz-tree-cell-text(T_24label1, selected) {
background-color: #FFCCCC !important;
color: #000 !important;
}
treechildren::-moz-tree-cell-text(T_24label1, selected, focus) {
background-color: #FF0000 !important;
color: #FFF !important;
}
/* Tag Financial */
treechildren::-moz-tree-cell(T_24label3) {
background-color: #1A5B1A !important;
}
treechildren::-moz-tree-cell-text(T_24label3) {
color: #FFF !important;
}
/* Tag Tech (9th tag) */
treechildren::-moz-tree-cell(Ttech) {
background-color: #339999 !important;
}
treechildren::-moz-tree-cell(Ttech, selected) {
background-color: #1aeaea !important;
}
treechildren::-moz-tree-cell(Ttech, selected, focus) {
background-color: #32c7c7 !important;
}
treechildren::-moz-tree-cell-text(Ttech) {
color: #FFF !important;
}
treechildren::-moz-tree-cell-text(Ttech, selected) {
background-color: #1aeaea !important;
color: #000 !important;
}
treechildren::-moz-tree-cell-text(Ttech, selected, focus) {
background-color: #32c7c7 !important;
color: #FFF !important;
}
TEST
并且,参考问题定义标签中的标签,这里有一个最小的工作示例:
treechildren::-moz-tree-row(Ttest, selected) {
background-color: #B63C29 !important;
}
treechildren::-moz-tree-cell(Ttest, selected) {
background-color: #B63C29 !important;
}
treechildren::-moz-tree-cell-text(Ttest, selected) {
background-color: #B63C29 !important;
}
答案2
我认为事情比这更复杂一点,而且你实际上能处理文本包含空格的标签。
打开 about:config 并搜索“mailnews.tags”。您会看到类似“mainnews.tags.custom.color 和 mailnews.tags.custom.tag
模式是 mailnews.tags.XXX.color 和 mailnews.tags.XXX.tag
您在 CSS 中使用值 TXXX。但是,如果 XXX 类似于 $labelN,则使用“T_24labelN”
如果看起来,如果创建标签时有空格,它似乎会执行不同的操作,具体取决于创建标签时使用的 TB 版本。我有一个旧的使用模式 $labelN ,而我有一个新的,仅在空格所在的位置使用下划线。
请注意,如果您更改实际标签文本/值,mailnews.tag.XXX.color 和 mailnews.tags.XXX.tag 的“XXX”部分将不是改变。假设您最初使用“custom”创建了一个标签,然后将标签文本从“custom”更改为“whatever”,您仍然使用“Tcustom”,不是“无论如何”。配置条目仍然是mailnews.tag.custom.color和mailnews.tag.custom.tag。仅 mailnews.tag.custom.tag 的 VALUE 发生变化。
当然,我可能有一些错误,开发人员可以在需要时进行更改。