यह एक सामान्य समस्या का एक विशिष्ट उदाहरण है जिसका मैं अभी तक कोई समाधान नहीं निकाल पाया हूँ।
मेरा एक प्रोग्राम है (Android वर्चुअल डिवाइस मैनेजर) जो 'सब-प्रोग्राम्स' (यानी एमुलेटर या वर्चुअल डिवाइसेस) को अपने भीतर से लॉन्च करता है (जहाँ से भी लॉन्च किया जा सकता है)। मैं चाहता हूं कि इन कार्यक्रमों के किसी भी उदाहरण को एक ही एकता चिह्न के तहत समूहीकृत किया जाए।
मैंने इसे .desktop
आज़माने और पूरा करने के लिए एक फ़ाइल बनाई है, लेकिन इसके बारे में कैसे जाना जाए, यह बिल्कुल नहीं पता। डेस्कटॉप फ़ाइल इस प्रकार है:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Android Virtual Device
Icon=/home/ben/.icons/android.svg
Exec=/home/ben/usr/bin/android avd
StartupWMClass=Android Virtual Device Manager
जो मैं समझता हूं, StartupWMClass
वह वही है जिसे मुझे इसे सही ढंग से प्राप्त करने के लिए निर्धारित करने की आवश्यकता है। मैंने दो क्लास के नाम ('एंड्रॉइड वर्चुअल डिवाइस मैनेजर' और 'एमुलेटर64-आर्म') xprop WM_CLASS
को रिस्पेक्टिव विंडो पर उपयोग करके प्राप्त किया है। दोनों व्यक्तिगत रूप से काम करते हैं (लॉन्चर आइकन सही तरीके से प्रोग्राम से जुड़ा हुआ है चाहे वह किस तरह से लॉन्च किया गया हो), लेकिन मैं दोनों के लिए काम करने के लिए इसे प्राप्त नहीं कर सकता।
मैं यह मान रहा हूं कि मुझे किसी तरह दो मूल्यों को निर्धारित करने की आवश्यकता है, StartupWMClass
लेकिन इसे सही तरीके से करने में सक्षम नहीं है (या पता है कि यह एक वैध संचालन है)। मैंने कोशिश की है, बृहदान्त्र पर्यावरण चर की तरह अलग हो गया, अल्पविराम अलग हो गया, उद्धरण, आदि और मुझे आधिकारिक दस्तावेज में कोई संकेत नहीं मिल सकता है ।
कोई सुझाव?
संपादित करें:
एक और, अधिक पांडित्य, लेकिन शायद अधिक पहचान योग्य उदाहरण के साथ है Matlab
। मैं 2013a और स्प्लैश स्क्रीन चला रहा हूं जो शुरू में दिखाता है और कार्यक्रम में पूरी तरह से अलग WM_CLASS
मूल्य हैं। इसका मतलब है, जब मैं इसमें अपने लॉन्चर को क्लिक करता हूं StartupWMClass=com-mathworks-util-PostVMInit
, तो स्प्लैश स्क्रीन एक अलग (डिफ़ॉल्ट अज्ञात) Unity
आइकन के साथ आती है , जबकि शेष मेरे लॉन्चर के तहत समूहीकृत होती है।
xprop WMCLASS
पहले स्प्लैश स्क्रीन का उपयोग और क्लिक करके, फिर एक सक्रिय Matlab
सत्र के साथ दोहराते हुए मुझे निम्नलिखित टर्मिनल आउटपुट मिलता है:
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "MATLAB", "MATLAB"
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "com-mathworks-util-PostVMInit"
अगर मैं कुछ लाइनों के साथ निर्दिष्ट कर सकता है:
StartupWMClass=com-mathworks-util-PostVMInit&&MATLAB
यह पूरी तरह से काम करेगा (जैसा कि दोनों अलग-अलग काम करते हैं) लेकिन मुझे सिंटैक्स का कोई पता नहीं है, अगर यह मौजूद है। मुझे अभी कुछ भी नहीं पता है कि मैंने कोशिश की है इस तरह से काम किया है।
किसी भी तरह की मदद या एक निश्चित जवाब बहुत अच्छा होगा क्योंकि मेरा मानना है कि यह एक अच्छी तरह से काम कर रहे डेस्कटॉप का एक मौलिक तत्व है।
Drawers
उस लिंक के वीडियो को देखा है और वे जो दिखाते हैं, वह केवल लिंक को समूहित करता है, जब आप किसी भी उप आइटम पर क्लिक करते हैं, तो यह अभी भी Unity
लांचर में अपने स्वयं के आइकन के साथ बनाया जाता है, जिसे मैं रोकने की कोशिश कर रहा हूं