wxTaskBarIcon在Ubuntu 12.10(wxTaskBarIcon in Ubuntu

2019-07-18 16:42发布

我内置的wxWidgets 2.9.3(目前我一定要坚持这个版本)的Ubuntu 12.10之下,我似乎无法使用wxTaskBarIcon类。 这与wxWidgets的是编译和运行,但是图标本身没有显示在任务栏上本身提供的示例。 我查了一下我的配置,我知道,wxWidgets库在编译都使用默认设置(这是“是”为任务栏的支持)执行。

任何想法如何使它工作? 与wxWidgets的和/或Ubuntu版本有关这个问题?

编辑:这绝对不是连接到wxWidgets版本(下WX 2.8,2.9.3,2.9.4选中)。

编辑2:如果它的事项:系统是VirtualBox的4.2.6,与所有默认设置安装。 我每周至少一次安装更新。

Answer 1:

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库,而不是实现这一目标。 这意味着,wxTaskBarIcon不会甚至白名单,除非将使用AppIndicator库工作。

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



文章来源: wxTaskBarIcon in Ubuntu 12.10