... लेकिन यह बहुत काम की तरह लग रहा है ...
यह वास्तव में बहुत बुरा नहीं है, कम से कम क्रूड जेनेरिक समाधान के लिए।
यहाँ मेरे उत्तर से पिछले वर्ष (सितंबर 2012) तक के विवरण की एक प्रति है
नेटवर्क-मैनेजर से अधिसूचना कैसे निष्क्रिय करें ।
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
string "NetworkManager"
अवरुद्ध निर्धारित करने के लिए वांछित आरई के साथ बदलें ।
चलाने के लिए क्या देखने के लिए आरई पैटर्न मैच का एक विचार प्राप्त करने के लिए:
dbus-monitor "interface='org.freedesktop.Notifications'"
और आउटपुट को देखो, जबकि सूचनाएं पॉप-अप कर रही हैं।
अर्थात। notify-send
संदेशों को भी निकालने के लिए , इस grep
लाइन का उपयोग करें :
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
कैविएट :
killall notify-osd
गैर-भेदभावपूर्ण है और पूरी तरह से किसी भी लंबित संदेशों की अधिसूचना स्टैक को पूरी तरह से मिटा देता है, भले ही वह गैर- अधिसूचित एजेंट हो NetworkManager
या नहीं notify-send
।
एक "ईमानदार" समाधान के लिए संभावित दौड़ की स्थिति को ध्यान में रखना आवश्यक है जब एक अधिसूचना पर्ज निर्धारित करने के बीच की आवश्यकता होती है और फिर ऐसा करते समय, एक और अधिसूचना आती है जिसमें पॉप-अप होना चाहिए और बाकी के साथ शुद्ध नहीं होना चाहिए।
इसके अलावा, यदि नोटिफिकेशन लंबित है, जब अवरुद्ध होने वाली स्थिति में आते हैं, तो वे सभी शुद्ध हो जाएंगे। इस स्थिति को कम से कम dbus
लंबित सूचनाओं की प्रतिलिपि बनाकर हल किया जा सकता है और फिर पर्स के notify-send
बाद वांछित लोगों को फिर से जारी किया जा सकता है ।
यह मैन्युअल रूप से श्रम गहन काम का एक सा है!
आदर्श रूप में, प्रत्यक्ष dbus का उपयोग
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
विशेष रूप से सिर्फ वांछित सूचनाओं को लक्षित करने के लिए, दुर्भाग्य से स्पष्ट नहीं है ... हालांकि ...
एक अन्य उत्तर
क्या org.freedesktop.Notifications.CloseNotification (uint id) को DBus के माध्यम से ट्रिगर और लागू किया जा सकता है?
दिखाता है कि [1]
कम से कम कैसे उपयोग किया जाए notify-send
, लेकिन दुर्भाग्य से मनमानी नोटों के लिए नहीं। हालांकि कुछ aps। पॉप-अप सूचनाओं को नियंत्रित करने के लिए कस्टम इंटरफेस है।
पार refs .: