我正在尝试在 KDE4 中使用 KMail,但使用的是 XFCE4 面板而不是 Plasma 面板。到目前为止,我可以从其他应用程序获得大多数图标,但无法从 KMail 获得图标。
这似乎是因为 KMail 使用了 KSystemNotifierItem,这需要面板系统托盘小程序的特殊支持,而 XFCE4 面板似乎不支持它。
我该如何实现这一点?有没有办法为 XFCE4 面板启用 SNI 支持(如果尚未启用)?
答案1
好的,所以这个问题仅在使用 KMail+XFCE4 面板时发生,在 KDE 会话中.KStatusNotifier
似乎很聪明,它会以某种方式检查它是否在 KDE 中,并以此为基础制定机制。因此,要让 KMail 在 KDE 会话中正确使用 XFCE4 面板,我们必须诱使 KMail 认为它不在 KDE 中:
env -i HOME=$HOME DISPLAY=$DISPLAY kmail
上述命令清除环境变量,并在运行前仅保存HOME
和DISPLAY
变量kmail
。这些变量基本上就是 KMail 在没有 KDE 会话支持的情况下正常工作所需的全部变量。
实际上,这不仅适用于 KMail,也适用于几乎任何带有系统托盘图标的 KDE 应用程序:KTorrent、Amarok 等。上述技巧应该适用于所有应用程序(如果需要,也许可以添加更多变量)。
答案2
Ruslan 的答案有效。但是这会导致 kmail 在没有窗口管理器的情况下运行。但是,在 kmail 5.7.0 中,在设置/配置 kmail.../常规下有一个“系统托盘”面板,其中有一个“启用系统托盘图标”复选框。清除该复选框并单击确定,kmail 就可以在 xfce 下顺利运行。太棒了!