当我在 Thunderbird 中打开“自定义”菜单时,我可以从工具栏中添加或删除项目。这样,我可以对“写入”、“回复”、“回复全部”按钮重新排序,或者将它们完全删除。
快速过滤工具栏不能这样移动。
曾经有一个名为 的插件quickfiltertoolbar
,它可以像其他项目一样移动快速过滤工具栏。
我制作了一个屏幕截图来说明我的意思:
默认情况下,快速过滤工具栏在主面板下方占据自己的面板。该插件允许的是将项目移动到主面板(我的屏幕截图上的紫色)并移动各种相关的按钮(附件,...)
这样我可以节省空间,并且不需要快速过滤工具栏的单独面板。
不幸的是,这个伟大的插件不再适用于当前的 Thunderbird 68.8
。
我正在寻找一种方法来实现相同的目的,也许可以使用userChrome.css
,或者如果不可能的话,可以通过编辑文件omni.ja
。
我已经在屏幕截图中展示了我想要实现的目标。
首先,从快速过滤工具栏中删除愚蠢无用的按钮:“未读”、“已加星标”、“联系人”、“标签”。
然后,将其余部分向上移动(图钉图标、附件和搜索字段)。
最后,去掉现在空的面板
这能实现吗?
答案1
编辑:添加补丁脚本
该解决方案基于 Thunderbird 源代码。我已应用这些更改雷鸟 68.8.0(Opensuse 68.8.0-1.1 上的软件包 | x86_64)。
您需要omni.ja
按照我指示的方式解压缩编辑/替换文件,然后omni.ja
再次打包(与路径脚本的方式相同)。
首先你需要修补的是messenger.xul
文件:
diff -r chrome\messenger\content\messenger\messenger.xul chrome\messenger\content\messenger\messenger.xul
4798,4824d4797
< <toolbarbutton id="qfb-sticky" type="checkbox"
< class="toolbarbutton-1" orient="horizontal"
< crop="none" minwidth="16"
< tooltiptext="&quickFilterBar.sticky.tooltip;"/>
< <label id="qfb-results-label"
< minwidth="&quickFilterBar.resultsLabel.minWidth;"
< value=""
< somefmtstring="&quickFilterBar.resultsLabel.some.formatString;"
< noresultsstring="&quickFilterBar.resultsLabel.none;"/>
< <textbox is="search-textbox" id="qfb-qs-textbox"
< align="center"
< flex="3"
< class="searchBox"
< placeholder=""
< emptytextbase="&quickFilterBar.textbox.emptyText.base1;"
< keyLabelNonMac="&quickFilterBar.textbox.emptyText.keyLabel2.nonmac;"
< keyLabelMac="&quickFilterBar.textbox.emptyText.keyLabel2.mac;"
< timeout="500"
< maxlength="100"
< width="170"
< minwidth="160">
< </textbox>
< <toolbarbutton id="qfb-attachment" type="checkbox"
< class="toolbarbutton-1" orient="horizontal"
< crop="none" minwidth="16"
< label="&quickFilterBar.attachment.label;"
< tooltiptext="&quickFilterBar.attachment.tooltip;"/>
4967a4941
>
4975c4949
< defaultset="button-getmsg,button-newmsg,button-chat,button-address,separator,button-tag,separator,qfb-sticky,qfb-results-label,qfb-qs-textbox,qfb-attachment,qfb-show-filter-bar,spring,gloda-search,button-appmenu">
---
> defaultset="button-getmsg,button-newmsg,button-chat,button-address,separator,button-tag,qfb-show-filter-bar,spring,gloda-search,button-appmenu">
5067c5041,5042
< <vbox id="quick-filter-bar" hidden="true">
---
>
> <vbox id="quick-filter-bar">
5076d5050
< hidden="true"
5082c5056
< <toolbarseparator/>
---
> <toolbarseparator id="qfb-separator"/>
5085,5086c5059
< hidden="true"
< align="center"
---
> crop="none" minwidth="16"
5090c5063
< <toolbarbutton id="qfb-starred" type="checkbox"
---
> <toolbarbutton id="qfb-starred" type="checkbox"
5092d5064
< hidden="true"
5099d5070
< hidden="true"
5106d5076
< hidden="true"
5113d5082
< hidden="true"
5122d5090
< hidden="true"
5129d5096
< hidden="true"
请注意,整个部分已移至邮件工具栏部分。我还调整了这些值,使搜索栏更小。请注意,您可以quickFilterBar
通过添加到该部分来简单地隐藏该项目hidden="true"
。我已quickFilterBar
vbox
按照您的意愿 将隐藏的 tak 也添加到整体中。
接下来你需要修补messageWindow.xul
:
diff -r chrome\messenger\content\messenger\messageWindow.xul chrome\messenger\content\messenger\messageWindow.xul
4531c4531
< defaultset="button-getmsg,button-newmsg,button-chat,button-address,separator,button-tag,separator,qfb-sticky,qfb-results-label,qfb-qs-textbox,qfb-attachment,qfb-show-filter-bar,spring,gloda-search,button-appmenu">
---
> defaultset="button-getmsg,button-newmsg,button-chat,button-address,separator,button-tag,qfb-show-filter-bar,spring,gloda-search,button-appmenu">
在这里,您也希望与 messageWindow 保持一致。
接下来你需要修补primaryToolbar.css
:
diff -r chrome\classic\skin\classic\messenger\primaryToolbar.css chrome\classic\skin\classic\messenger\primaryToolbar.css
479,504d478
< #qfb-sticky {
< list-style-image: url("chrome://messenger/skin/icons/sticky.svg");
< }
<
< /*
< * The coloring based on the matches of the filter is defined at quickFilterBar.js.
< * It would have to be ported to work within the mail toolbar.
< *
< * #qfb-results-label {
< * color: #4e9a06; // was GrayText
< * text-align: end;
< * visibility: hidden;
< * }
< *
< * #quick-filter-bar[filterActive="matches"] #qfb-results-label {
< * color: #4e9a06;
< * }
< *
< * #quick-filter-bar[filterActive="nomatches"] #qfb-results-label {
< * color: #f66;
< * }
< */
< #qfb-attachment {
< list-style-image: url("chrome://messenger/skin/icons/attach.svg");
< }
<
添加图像primaryToolbar.css
以及参考如果您想在使用滤镜时具有不同的颜色该怎么做。
最后但是同样重要的quickFilterBar.css
:
diff -r chrome\messenger\content\messenger\quickFilterBar.css chrome\messenger\content\messenger\quickFilterBar.css
42c42
< color: #fff200; /* was GrayText */
---
> color: GrayText;
需要最后一次修补才能使结果获得一种漂亮的(黄色)颜色。工具栏能够区分是否找到结果 - 绿色和未找到的红色。此解决方案仅对两个分支显示一种颜色黄色。您需要从 fastFilterBar.js 迁移代码,这可能会很棘手。
笔记:应用更改时,请不要忘记删除您的个人资料。
更改后看起来像这样
Linux 的补丁
正如所承诺的,我现在添加一个直接的补丁文件来进行更改(使用 sed (GNU sed) 4.8):Thunderbird 快速过滤器小部件移至主工具栏 - 补丁。此补丁仅修补移动(不包括之前的补丁)。
编辑2:
如果您需要显示快速过滤器搜索按钮(Sender
、Recipients
、Subject
、Body
),您需要注释掉此 sed:
# hiding the whole box
sed -E -i -e 's:(\s*<\w+\s\w+="quick-filter-bar")(>):\1 hidden="true"\2:' chrome/messenger/content/messenger/messenger.xul
注释掉后,需要quick search toolbar
重新激活。这将显示一条黑线,其quick search toolbar
本身没有按钮。当输入过滤字符串时,过滤按钮(Sender
、Recipients
、Subject
、 )将会出现。Body