जवाबों:
पहले आपको यह सुनिश्चित करने .desktop
की आवश्यकता है कि XDG विनिर्देश द्वारा एक फ़ाइल आवश्यक है। जीयूआई कार्यक्रमों के लिए मौका अच्छा है कि पहले से ही एक उपयुक्त .desktop
फ़ाइल है, टर्मिनल अनुप्रयोगों के लिए आमतौर पर आपको अपना खुद का बनाना होगा। /usr/share/applications
मौजूदा फ़ाइलों के लिए निर्देशिका की जाँच करें। शायद वहाँ पहले से ही एक mutt.desktop
फ़ाइल है। अगर वहाँ नहीं है, तो एक बनाएँ।
फिर फ़ाइल को संपादित करें ~/.local/share/applications/mimeapps.list
और निम्न पंक्ति जोड़ें
[Default Applications]
x-scheme-handler/mailto=mutt.desktop;
यह mailto
हैंडलर के साथ उत्परिवर्तन को पंजीकृत करता है । आप के साथ एक सफल पंजीकरण की पुष्टि कर सकते हैं
xdg-mime query default 'x-scheme-handler/mailto'
जिसे आउटपुट देना चाहिए mutt.desktop
। अब आप क्रोमियम में "mailto" पर क्लिक कर सकते हैं और एक टर्मिनल को एक म्यूट उदाहरण के साथ पॉप अप करना चाहिए। डेस्कटॉप सत्र या ब्राउज़र को पुनरारंभ करने की भी आवश्यकता नहीं है।
आपको एक स्क्रिप्ट लिखने की ज़रूरत है जो उस टर्मिनल को निर्दिष्ट करती है जिसे आप mutt
खोलना चाहते हैं । फिर फ़ायरफ़ॉक्स में, आप इस स्क्रिप्ट को mailto लिंक के साथ जोड़ सकते हैं। उदाहरण के लिए, यदि आप टर्मिनेटर का उपयोग कर रहे हैं, तो आप निम्न स्क्रिप्ट बना सकते हैं।
#!/usr/bin/env bash
terminator -x "mutt '$@'"
मेरे मामले में, मेरे पास लगातार ड्रॉप-डाउन टर्मिनेटर है, इसलिए मैं इसे एक नए टैब में चाहता हूं। मुझे एक 256 रंग पैलेट की भी आवश्यकता है, इसलिए मैं उपयोग करता हूं
#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"
FWIW यह मेरी पूरी स्क्रिप्ट है, जो शॉर्टकट Ctrl+ का उपयोग करके टर्मिनेटर (यदि छिपा हुआ) को भी अनहाइड करता है Space, और इसे सामने लाता है।
#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"
# If necessary, unhide and focus terminator window.
windowlist=$(xprop -root | sed -rn 's/_NET_CLIENT_LIST_STACKING\(WINDOW\): window id # (.*)/\1/p' | tr -d ',')
terminator_visible=false
for i in $windowlist; do
[[ $(xprop -id $i | grep WM_CLASS\(STRING\)) == 'WM_CLASS(STRING) = "terminator", "Terminator"' ]] && terminator_visible=true && term_id=$i
done
if [[ $terminator_visible == false ]]; then # it's hidden
xdotool key --clearmodifiers ctrl+space
elif [[ $(xprop -id $(xdotool getactivewindow) | grep WM_CLASS\(STRING\)) != 'WM_CLASS(STRING) = "terminator", "Terminator"' ]]; then # it's visible, but not active
xdotool windowactivate $term_id 2> /dev/null # Gives error; not sure why. XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
fi
आप कौन सा डेस्कटॉप वातावरण चला रहे हैं? आपको यह जांचने की आवश्यकता है कि इस प्रकार की चीजों के लिए एक विशिष्ट हैंडलर कैसे सेट किया जाए, यह MIME टाइप हैंडलर की सेटिंग है।