我在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上,安装了所有默认设置。我每周至少安装一次更新。
答案 0 :(得分: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库来实现这个目标。这意味着,即使使用白名单,wxTaskBarIcon也不会正常工作,除非它将使用AppIndicator库。
来源:http://www.webupd8.org/2013/02/unity-notification-area-systray.html