5

我在 Ubuntu 12.10 下构建了 wxWidgets 2.9.3(目前我必须坚持这个版本),我似乎无法使用wxTaskBarIcon类。wxWidgets 提供的示例正在编译和运行,但图标本身并未显示在任务栏本身上。我检查了我的配置,我知道,wxWidgets 库的编译是使用默认设置执行的(对于任务栏支持来说是“是”)。

知道如何使它工作吗?这个问题与 wxWidgets 和/或 Ubuntu 版本有关吗?

编辑:绝对没有连接到 wxWidgets 版本(在 wx 2.8、2.9.3、2.9.4 下检查)。

编辑 2:如果重要:系统在 VirtualBox 4.2.6 上,安装时使用所有默认设置。我每周至少安装一次更新。

4

1 回答 1

3

在 Ubuntu 下,自 11.04 以来任务栏由 Unity 管理,默认情况下不允许所有程序将其图标放在那里。您必须将您的应用程序列入白名单才能访问任务栏。这是我最初找到答案的地方:

http://ubuntuforums.org/showthread.php?t=1737589

基本上你必须打电话:

gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'YOUR_APPLICATION']"

然后注销,登录。这会将 YOUR_APPLICATION 添加到 Unity.Panel 白名单中。请记住,在这种情况下,您还必须事先列出该列表中的项目。您可以通过调用以下方式检查白名单的外观:

gsettings get com.canonical.Unity.Panel systray-whitelist

就我而言(因为我正在开发环境中),我只是将其设置为"['all']". 这将允许所有应用程序访问任务栏。

请记住,Ubuntu 将放弃此类支持,将来您应该使用 AppIndicator 库来实现该目标。这意味着,除非它使用 AppIndicator 库,否则即使使用白名单 wxTaskBarIcon 也不会工作。

来源:http ://www.webupd8.org/2013/02/unity-notification-area-systray.html

于 2013-01-27T08:42:43.557 回答