2013-01-25 15 views
5

में wxTaskBarIcon मैंने उबंटू 12.10 के तहत wxwidgets 2.9.3 बनाया (इस पल के लिए मुझे इस संस्करण में रहना चाहिए) और मैं wxTaskBarIcon कक्षा का उपयोग नहीं कर सकता। WxWidgets के साथ वितरित नमूना संकलित और चल रहा है, लेकिन आइकन स्वयं टास्कबार पर नहीं दिख रहा है। मैंने अपनी कॉन्फ़िगरेशन की जांच की, और मुझे पता है कि WxWidgets लाइब्रेरीज़ का संकलन डिफ़ॉल्ट सेटिंग के साथ निष्पादित किया गया था (जो टास्कबार समर्थन के लिए "हाँ" है)।उबंटू 12.10

कोई विचार यह कैसे काम करना है? क्या यह समस्या wxwidgets और/या उबंटू संस्करण से संबंधित है?

संपादित करें: यह निश्चित रूप से WxWidgets संस्करण से कनेक्ट नहीं है (Wx 2.8, 2.9.3, 2.9.4 के तहत चेक किया गया है)।

संपादित करें 2: यदि यह महत्वपूर्ण है: सिस्टम वर्चुअलबॉक्स 4.2.6 पर है, जो सभी डिफ़ॉल्ट सेटिंग्स के साथ स्थापित है। मैं सप्ताह में कम-से-कम एक बार अपडेट इंस्टॉल कर रहा हूं।

+0

हो सकता है कि आप कर सकते हैं एक [SSCCE] (http://sscce.org/) हमें दिखाने के लिए आप क्या किया है? –

+0

आप किस विंडो प्रबंधक का उपयोग कर रहे हैं? Http://docs.wxwidgets.org/2.8/wx_wxtaskbaricon.html –

+0

@JoachimPileborg के शीर्ष पर दाईं ओर उल्लिखित बहुत सी चेतावनीएं हैं, मैं अपना कोड उदाहरण पोस्ट कर सकता हूं, लेकिन यह अनावश्यक हो सकता है क्योंकि डिफ़ॉल्ट नमूना काम नहीं करता है या तो। – Rivenris

उत्तर

3

उबंटू के तहत 11.04 टास्कबार एकता द्वारा प्रबंधित किया जाता है जो डिफ़ॉल्ट रूप से सभी प्रोग्रामों को उनके आइकन रखने की अनुमति नहीं देता है। आपको टास्कबार तक पहुंचने के लिए अपने एप्लिकेशन को श्वेतसूची में रखना होगा। यहाँ है जहाँ मैं इस सवाल का जवाब मूल रूप से पाया जाता है:

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

मूल रूप से आप कॉल करना होगा:।

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

फिर, लॉग आउट में प्रवेश करें यह Unity.Panel श्वेतसूची में YOUR_APPLICATION जोड़ देगा। ध्यान रखें कि इस मामले में आपको उस सूची में पहले से सूचीबद्ध वस्तुओं को भी सूचीबद्ध करना होगा। आप देख सकते हैं कि कैसे श्वेत सूची दिखता फोन करके:

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

मेरे मामले में (के रूप में मैं विकास के वातावरण पर काम कर रहा हूँ) मैं सिर्फ "['all']" पर सेट करें। यह सभी अनुप्रयोगों को टास्कबार तक पहुंचने की अनुमति देगा।

ध्यान रखें कि उबंटू इस तरह के समर्थन को छोड़ देगा और भविष्य में आपको उस लक्ष्य को प्राप्त करने के बजाय ऐप इंडिकेटर लाइब्रेरी का उपयोग करना चाहिए। इसका मतलब यह है कि WxTaskBarIcon श्वेतसूची के साथ भी काम नहीं करेगा जब तक कि यह ऐप इंडिकेटर लाइब्रेरी का उपयोग नहीं करेगा।

स्रोत: http://www.webupd8.org/2013/02/unity-notification-area-systray.html

+1

क्या कोई कारण है कि wxwidgets पीछे पीछे है? निश्चित रूप से 'wxTaskBarIcon' को' एपिंडिकेटर 'कार्यान्वयन – fatuhoku

+0

प्राप्त करना चाहिए, मैं केवल अनुमान लगा सकता हूं कि यह तथ्य से जुड़ा हुआ है, कि wxwidgets बल्कि जीबीके उन्मुख है, उबंटू नहीं। उबंटू को 'wxTaskBarIcon' को समायोजित करना मुश्किल हो सकता है, खासकर जब' AppIndicator 'के पास gtk आइकन (शो पर ईवेंट आदि) की तुलना में कम संभावनाएं होती हैं।इसके अलावा मेरे अनुभव 'AppIndicator' में भी कम भरोसेमंद है क्योंकि मुझे वहां बहुत सारी बग और अजीब व्यवहार मिला है। – Rivenris