- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Ubuntu 12.10 下构建了 wxWidgets 2.9.3(目前我必须坚持使用这个版本),但我似乎无法使用 wxTaskBarIcon
类。 wxWidgets 附带的示例正在编译和运行,但图标本身没有显示在任务栏上。我检查了我的配置,我知道,wxWidgets 库的编译是使用默认设置执行的(对于任务栏支持,这是"is")。
知道如何让它工作吗?这个问题与 wxWidgets 和/或 Ubuntu 版本有关吗?
编辑:肯定和wxWidgets版本没有关联(在wx 2.8、2.9.3、2.9.4下查过)。
编辑 2:万一重要:系统在 VirtualBox 4.2.6 上,安装了所有默认设置。我每周至少安装一次更新。
最佳答案
在 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
关于c++ - Ubuntu 12.10 中的 wxTaskBarIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14521006/
我第一次尝试在 wxWidget 程序中使用它,我不知道我错过了什么,但是当我右键单击我的图标时,没有任何反应。我试图开始一个事件表,但是 BEGIN_EVENT_TABLE(wxTaskBarIco
我在 Ubuntu 12.10 下构建了 wxWidgets 2.9.3(目前我必须坚持使用这个版本),但我似乎无法使用 wxTaskBarIcon 类。 wxWidgets 附带的示例正在编译和运行
我是一名优秀的程序员,十分优秀!