बुकमार्क: नोटिफ़िकेशन-ओएसडी पर क्लोज़ बटन?
संदर्भ:
प्रेस्टो साबित, bash'डी OSD पॉप-अप भित्तिचित्र "अक्षम" समाधान की परिकल्पना की गई है और इस प्रकार है:
dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "member=Notify" | \
sed -u -e 's/.*/killall notify-osd/g' | \
bash
इसे टर्मिनल में या पृष्ठभूमि कार्य के रूप में चलाया जा सकता है - इसे रोकें और पॉप-अप भित्तिचित्रों को फिर से शुरू करें।
ओपी ने कहा "नहीं, मैं इसे अक्षम नहीं कर सकता"। यदि इसके द्वारा इसका मतलब है कि अधिसूचना प्रणाली को पॉसर द्वारा अक्षम नहीं किया जाना है, तो यह समाधान उसी के अनुरूप है। सिस्टम बरकरार है। यदि इसका मतलब है कि पोजर ऐसा करने के लिए नहीं जानता है, तो फिर से समाधान उचित है।
विवरण नीचे पंक्ति में बताया गया है। परम को सीधे आमंत्रित करने के लिए DBus पर (इन?) सब कुछ एम्बेड करना होगा
qdbus org.freedesktop.Notifications \
/org/freedesktop/Notifications \
org.freedesktop.Notifications.CloseNotification(uint id)
एक बहुत, बहुत, बहुत ही भोली-भाली समाधान, जो कि व्यावहारिक, अनिवार्य रूप से "अक्षम" notify-osd(या कम से कम इसके प्रभावों) की तुलना में अवधारणा का अधिक प्रमाण है । परीक्षण किए जाने पर इसे समाप्त करना न भूलें! ETX'ng द्वारा <ctrl> -C या टर्मिनल विंडो आदि को बंद करने से यह अपना काम करता है लेकिन बहुत व्यावहारिक रूप से नहीं! दुर्भाग्य से अन्य नौकरियों के लिए उनकी कोशिश कर पीड़ित ...
while true; do killall notify-osd; done
(प्रासंगिक गतिविधि "सुनने" के लिए आप " grepआउट" करना चाह सकते हैं)
notify-osd: no process found ....
)
इसे टर्मिनल विंडो में चलाकर और किसी अन्य टर्मिनल विंडो से परीक्षण करके देखें:
notify-send "test 1" "now you see it not"
notify-send "test 2" "you see it not after test 1 evaporates"
notify-send "test 3" "finally after test 2 evaporates"
पहले प्रक्रिया को रोकें और फिर संदेशों को फिर से आज़माएँ।
शायद आह्वान के notify-osdलिए एक संकेतक । हॉट स्पॉटेड क्लोज़ बटन अधिसूचना विंडो पर निवासी नहीं हो सकता (और नहीं!) लेकिन यह संकेतक पैनल पर उपलब्ध होगा। यह उसी अवधारणा के लिए पूरी तरह से विनम्र है जो एकता ने खिड़कियों के लिए की है। नोटिफिकेशन क्लोजिंग के लिए टॉप बार का उपयोग उसी तरह से होता है जैसे एकता टॉप मेनू बार में क्लोज, मिनी, मैक्सी बॉक्स के साथ विंडो मेन्यू निकालती है। unity-panel-servicekillall notify-osd
एक सही मायने में सुरुचिपूर्ण समाधान के लिए संकेतक तब दिखाई देगा जब मैनिफ़ेस्ट के लिए DBus गतिविधि notify-osdऔर गायब हो जाते हैं जब कोई लंबित सूचनाएं नहीं होती हैं।
यह स्टैक्ड नोटिफिकेशन की समस्या को भी हल कर सकता है - एक समय में केवल एक ही देखा जा सकता है और यदि कई सूचनाएं लंबित हैं, तो प्रत्येक को अगले प्रकट होने से पहले वाष्पित होना चाहिए - उन्हें आमतौर पर एक साथ नहीं देखा जा सकता है।
DBus-monitornotify-osdअधिसूचना इंटरफ़ेस के एनजी हालांकि, लंबित नोटिस की तत्काल पावती प्रदान करेगा, भले ही कोई पहले से ही दिखा रहा हो। (और अगर killall notify-osdतुरंत जारी किया जाता है - प्रेस्टो पूफ!)
सभी विंडो का चयन करें, ड्रैग एंड ड्रॉप करें
notify-send "test 1" "now you see it"
notify-send "test 2" "you see it after test 1 evaporates"
notify-send "test 3" "finally after test 2 evaporates"
अब p {r} oof के साथ भी ऐसा ही करें:
notify-send "test 1" "now you don't"
notify-send "test 2" "you see it not! after test 1 evaporates"
notify-send "test 3" "NOT finally after test 2 evaporates"
killall notify-osd
notify-send "gonzo" "gone nada zip zilch"
killall notify-osdसुझाव दिया समाधान में जब ट्रिगर हो जाएगा DBus monitorपहचान लेता है OSD पॉप-अप भित्तिचित्रों गतिविधि।