Thunderbird:将快速过滤工具栏移至主面板

400*_*Cat 5 thunderbird

当我在 Thunderbird 中打开“自定义”菜单时,我可以从工具栏中添加或删除项目。这样,我可以重新排列按钮“写”、“回复”、“回复全部”,或者完全删除它们。

快速过滤工具栏不能像这样移动。

曾经有一个名为 的插件quickfiltertoolbar,它可以像其他项目一样移动快速过滤器工具栏。

我做了一个截图来说明我的意思:

在此处输入图片说明

默认情况下,快速过滤器工具栏在主面板下占据自己的面板。插件允许将项目向上移动到主面板(我的屏幕截图上的紫色)并移动各种相关按钮(附件,...)

这样我可以节省空间,而且我不需要一个单独的快速过滤工具栏面板。

不幸的是,这个伟大的插件不再适用于当前的 Thunderbird 68.8

我正在寻找一种方法来实现相同的目标,可能通过使用userChrome.css,或者如果不可能通过编辑文件omni.ja

我已经在我的屏幕截图上展示了我想要实现的目标。

首先,从快速过滤器工具栏中删除愚蠢的无用按钮:“未读”、“已加星标”、“联系人”、“标签”。

然后,向上移动其余部分(图钉图标、附件和搜索字段。

最后,摆脱现在空的面板

这能实现吗?

tuk*_*kan 2

编辑:添加补丁脚本

该解决方案基于 Thunderbird 源代码。我已对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"
Run Code Online (Sandbox Code Playgroud)

请注意,整个部分已移至邮件工具栏部分。我还调整了这些值,使搜索栏更小。请注意,您可以通过添加到该部分来简单地隐藏该quickFilterBar项目hidden="true"。我已按照您的意愿将隐藏的 tak 也添加到整体中quickFilterBar vbox

接下来你需要修补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">
Run Code Online (Sandbox Code Playgroud)

在这里,您也希望与 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");
< }
< 
Run Code Online (Sandbox Code Playgroud)

添加图像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;
Run Code Online (Sandbox Code Playgroud)

需要最后一次修补才能使结果获得一种漂亮的(黄色)颜色。工具栏能够区分是否找到结果 - 绿色和未找到的红色。此解决方案仅对两个分支显示一种颜色黄色。您需要从 fastFilterBar.js 迁移代码,这可能会很棘手。

注意:应用更改时请不要忘记删除您的个人资料。

更改后看起来像这样

快速过滤工具栏移至主面板

Linux 的补丁

正如所承诺的,我现在正在为更改添加直接补丁文件(使用 sed (GNU sed) 4.8):Thunderbird 快速过滤器小部件移动到主工具栏 - patch。此补丁仅修补移动(不包括之前的补丁)。

编辑2:

如果您需要显示快速过滤器搜索按钮(SenderRecipientsSubjectBody),您需要注释掉此 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
Run Code Online (Sandbox Code Playgroud)

注释掉后,需要quick search toolbar重新激活。这将显示一条黑线,其quick search toolbar本身没有按钮。当输入过滤字符串时,过滤按钮(SenderRecipientsSubject、 )将会出现。Body