在Ubuntu 11.04下,Unity中沒有托盤。Ubuntu 11.04上的wx.TaskBarIcon
我該如何讓圖標出現在Unity的某處? wx.TaskBarIcon不會出現在任何地方。 感謝
在Ubuntu 11.04下,Unity中沒有托盤。Ubuntu 11.04上的wx.TaskBarIcon
我該如何讓圖標出現在Unity的某處? wx.TaskBarIcon不會出現在任何地方。 感謝
最佳答案給的是從官方文檔:
在X窗口系統,窗口管理器必須由freedesktop.org支持無論是 系統托盤協議(使用現代桌面 環境窗口管理器如GNOME> = 2,KDE> = 3和XFCE> = 4全部都是這樣)或GNOME 1.2和KDE 1和2中使用的舊方法。如果不存在,則 圖標將顯示爲頂級窗口用戶的桌面。
因爲不是所有的窗口管理器具有系統托盤,但也不能保證 是wxTaskBarIcon將正常運行X Window系統下等 應用程序應該使用它只是作爲他們的 用戶界面的一個可選組件。應該要求用戶明確啓用Unix上的任務欄圖標 ,它不應默認爲開啓。
http://docs.wxwidgets.org/stable/wx_wxtaskbaricon.html
所以這是關係到你的窗口管理器,而不是編程wxWidgets的。 wxTaskbarIcon在wxMSW下是唯一可靠的,不知道mac。 最好是避免它,如果你想真正的XPlatform應用程序。
對於Ubuntu Unity桌面環境(即Ubuntu 11.04或11.10),您需要將應用程序「白名單」。
從命令行使用'gsettings'應用程序有多種不同的方法。
我不得不這樣做,讓Skype等程序再次顯示在系統托盤中,而不僅僅是我自己的使用wxPython的自定義應用程序。
如果您正在製作新的應用程序,請考慮使用更新的libappindicator庫 - 它是Ubuntu的繼任者,它至少應與GNOME 2.x兼容。 (我不知道GNOME 3或KDE是否支持在任何地方顯示libappindicator通知。)
對於13.04 [白名單已過時](http://www.webupd8.org/2013/02/unity-notification-area -systray.html)。現在的解決方案是什麼? – fatuhoku
我已經從這篇文章中刪除了一個鏈接,因爲它需要登錄(據推測它本來不是)。 – halfer