क्या संकेतक एप्लेट में आइकन के क्रम को बदलना संभव है?


49

क्या संकेतक एप्लेट में दिखाए गए आइकन के क्रम को बदलना संभव है? टॉम्बॉय इंडिकेटर, वेदर इंडिकेटर, क्लिपबोर्ड-मैनेजर इंडिकेटर, उबंटू वन और ड्रॉपबॉक्स इंडिकेटर्स और बैटरी स्टेटस इंडिकेटर के अलावा क्लासिक मैसेज इंडिकेटर और साउंड मेन्यू इंडिकेटर के साथ मेरा इंडिकेटर एप्लेट थोड़ा गड़बड़ हो जाता है, आइकनों को छांटने से काफी मदद मिलेगी। ...


1
उत्तर नहीं है, लेकिन kde (kubuntu) के तहत, मैं डेस्कटॉप और पैनल की किसी भी चीज़ के बारे में बता सकता हूं या हटा सकता हूं, इसमें शामिल संकेतक।
जो

जवाबों:


29

सिस्टम संकेतक डिजाइन द्वारा एक निश्चित क्रम में हैं। जबकि आप आदेश पसंद नहीं कर सकते, यह एक निश्चित आदेश होने से समर्थन को आसान बनाता है (हम आदेश के बारे में अंतहीन बहस कर सकते हैं)। एप्लिकेशन संकेतक थोड़ा अलग तरीके से काम करते हैं, वे डिज़ाइन किए जाते हैं ताकि एक डिफ़ॉल्ट ऑर्डर हो लेकिन अनुप्रयोग निरंतरता के लिए इसे समायोजित कर सकते हैं। उदाहरण के लिए, यदि किसी एप्लिकेशन में दो संकेतक होते हैं जो एक दूसरे के बगल में चाहते थे।

क्योंकि यह प्रणाली एप्लिकेशन डेवलपर्स द्वारा एक संभावित दुरुपयोग की ओर ले जाती है, सिस्टम में ओवरराइड का एक सेट है। पहला सिस्टम स्तर पर है, ताकि इसे संकुल द्वारा प्रबंधित किया जा सके क्योंकि एक बार डिस्ट्रो फिगर का उपयोग करने के बाद इसे सभी उपयोगकर्ताओं के लिए ठीक किया जा सकता है। यह यहां स्थित है:

   /usr/share/indicator-application/ordering-override.keyfile

आप किसी भी स्टेटस नोटिफ़ायर आईडी को वहां रख सकते हैं और उसे एक नया ऑर्डरिंग इंडेक्स दे सकते हैं, क्योंकि उस एप्लिकेशन के लिए नया इंडेक्स होगा। एक प्रति-उपयोगकर्ता ओवरराइड फ़ाइल भी है जो आपके घर निर्देशिका में मौजूद हो सकती है:

  ~/.local/share/indicators/application/ordering-override.keyfile

उम्मीद है कि आपको अपने पैनल को उस तरह से समायोजित करने में कुछ मदद मिलेगी जो आप पसंद करते हैं!


मुझे पहली फ़ाइल में सूचीबद्ध सिस्टम संकेतक मिले। लेकिन एक ~/.local/share/indicatorsनिर्देशिका नहीं है । मदद!
चार्ली

2
यह उत्तर पुराना है, मेरे पास ऐसी कोई फ़ाइल नहीं है ~/.local। फ़ाइल में /usr/shareसभी संकेतक अनुप्रयोगों के लिए प्रविष्टियाँ नहीं होती हैं और इसे बदलने से कोई प्रभाव नहीं होता है। 14.04 का उत्तर देना अच्छा होगा।
लुइस डी सूसा

1
यह उबंटू 14.04 के साथ काम करता है, आपको बस फ़ाइल में उपयोग किए जाने वाले प्रत्येक संकेतक को स्पष्ट रूप से जोड़ना होगा। इस कमांड को यह जानने के लिए चलाएं कि आप किसका उपयोग कर रहे हैं: dbus-send --type=method_call --print-reply --dest=com.canonical.indicator.application /com/canonical/indicator/application/service com.canonical.indicator.application.service.GetApplications | grep "object path" | sed 's/_/-/g' | cut -d"/" -f5हालांकि यह ड्रॉपबॉक्स के साथ काम नहीं करेगा, क्योंकि ड्रॉपबॉक्स के पीआईडी ​​के आधार पर स्थिति नोटिफ़ायर आईडी बदल जाती है। मैंने ड्रॉपबॉक्स के पीआईडी ​​के आधार पर ऑर्डरिंग-ओवरराइड.कीफाइल को अपडेट करने के लिए नीचे एक उत्तर जोड़ा है।
ग्रुज़्ज़ेल्स

क्या यह 15.04 के लिए काम करता है? मैंने फ़ाइल बनाई है .local, लेकिन उसे काम करते हुए नहीं देखता। मूल वैश्विक फ़ाइल /usr/shareमौजूद है, जो बताती है कि इसे काम करना चाहिए। क्या इस फ़ाइल की पार्सिंग कहीं भी लॉग इन हो जाती है? क्या कुछ गलत हो रहा है तो डिबग करने का एक तरीका है?
जीन जॉर्डन

@ ted-gould क्या आप संकेतक-एप्लेट स्रोत में कोड को इंगित कर सकते हैं जो क्रम तय करता है?
खुर्शीद आलम

17

आधिकारिक ubuntu वाले (मौसम, ubu-one, बैटरी, संदेश, मुझे, ध्वनि, शटडाउन) जगह में हार्डकोड किए गए हैं। बेकार है। दूसरे लोगों को पहले आओ पहले पाओ, दाएं-बाएं की मिसाल का कानून का इस्तेमाल करते हुए अपना आदेश लेना चाहिए। इस विचार मंथन / सुविधा अनुरोध को देखते हुए , इसका उत्तर है: नहीं, आप मैन्युअल रूप से gui के माध्यम से आइकन के क्रम को नहीं बदल सकते। लेकिन देखिए @ टेड गोल्ड का जवाब।


1
मैं उस बग को बहुत पसंद करूंगा। अच्छा लगा। धन्यवाद।
21

11

एकता पैनल पर एप्लिकेशन संकेतक स्थिति को बदलने के लिए, आपको एक फ़ाइल को संपादित करना होगा जिसे कहा जाता ordering-override.keyfileहै /usr/share/indicator-application। चूंकि यह फ़ाइल सभी उपयोगकर्ताओं के लिए सेटिंग्स बदल जाएगी, आप इसे ~/.local/share/indicators/application/ordering-override.keyfileकेवल अपने उपयोगकर्ता के लिए कॉपी कर सकते हैं और बदल सकते हैं:

mkdir -p ~/.local/share/indicators/application
cp /usr/share/indicator-application/ordering-override.keyfile ~/.local/share/indicators/application/

अब टर्मिनल में निम्न कमांड चलाकर फाइल खोलें:

gedit ~/.local/share/indicators/application/ordering-override.keyfile

इस फ़ाइल में आपको पैनल पर एप्लिकेशन इंडिकेटर्स ऑर्डर के लिए मौजूदा नियमों को देखना चाहिए। पहला एक है nm-appletऔर "1" का मान है, जिसका अर्थ है कि यह पैनल पर प्रदर्शित होने वाला पहला एप्लिकेशन संकेतक होगा, दाएं से बाएं।

एक उदाहरण के रूप में इसका उपयोग करते हुए, आप अपने स्वयं के एप्लिकेशन संकेतक जोड़ सकते हैं और अपना नाम और एक नंबर दर्ज करके अपनी स्थिति निर्दिष्ट कर सकते हैं, जैसे transmission=6कि ट्रांसमिशन एप्लिकेशन इंडिकेटर पैनल पर 6 वें संकेतक के रूप में दिखाई देगा (दाएं से बाएं), यदि अन्य 5 संकेतक मौजूद हैं।

स्रोत: http://www.webupd8.org/2011/06/how-to-change-application-indicators.html

अब, आपके मामले में, ordering-override.keyfileफ़ाइल को इस तरह दिखना चाहिए:

[Ordering Index Overrides]
nm-applet=1
My_Weather_Indicator=2
lang_indicator=3
bluetooth_manager=4
indicator_sysmonitor=5
transmission=6

1
@ जेम्स यह स्पष्ट रूप से एप्लिकेशन-प्रदान किए गए संकेतकों पर भी लागू होता है, क्योंकि ट्रांसमिशन एक उदाहरण के रूप में उपयोग किया जाता है।
लीयो लैम

क्या यह 15.04 के लिए काम करता है? मैंने फ़ाइल बनाई है .local, लेकिन उसे काम करते हुए नहीं देखता। मूल वैश्विक फ़ाइल /usr/shareमौजूद है, जो बताती है कि इसे काम करना चाहिए। क्या इस फ़ाइल की पार्सिंग कहीं भी लॉग इन हो जाती है? क्या कुछ गलत हो रहा है तो डिबग करने का एक तरीका है?
जीन जोर्डन

इसके बाद kill $(pgrep unity-panel-service)यह काम करता है :-) मैंने बनाने के बाद रिबूट किया है ordering-override.keyfile, इसलिए मुझे नहीं पता कि इस पैनल के पुनरारंभ के बाद इसे "क्यों" लिया गया।
जीन जॉर्डन

पैनल को फिर से शुरू करने का यह तरीका root@laptop:~# restart unity-panel-serviceकिसी भी अधिक काम नहीं करता है:restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
जीन जोर्डन

4

ड्रॉपबॉक्स संकेतक को छाँटने में सक्षम करने के निर्देश

टेड गोल्ड के निर्देशों का पालन करें, यदि आप ड्रॉपबॉक्स संकेतक को क्रमबद्ध करना चाहते हैं, तो यहां कुछ और कदम हैं:

नोट : यदि आप में फ़ाइल संपादित करते हैं /usr/share/...तो आप में स्क्रिप्ट डाल करना होगा /etc/rc.local(के लिए देखोनीचे ध्यान दें )

क्योंकि ड्रॉपबॉक्स पीआईडी ​​को संकेतक नाम से जोड़ता है, और यह हर बार ड्रॉपबॉक्स शुरू होने पर बदल जाता है, आपको हर बार ड्रॉपबॉक्स शुरू होने पर अपडेट करने की आवश्यकता ordering-override.keyfileहोती है।

ऐसा करने के लिए, आप एक टेक्स्ट एडिटर खोल सकते हैं, निम्नलिखित स्क्रिप्ट को कॉपी और पेस्ट कर सकते हैं, और इसे कुछ नाम दे सकते हैं start-dropbox.sh। फिर या तो राइट क्लिक करें, "गुण" चुनें, "अनुमतियाँ" टैब पर जाएं, और "प्रोग्राम के रूप में फ़ाइल निष्पादित करने की अनुमति दें" बॉक्स को चेक करें, या एक टर्मिनल खोलें, उस फ़ोल्डर पर नेविगेट करें जिसे आपने स्क्रिप्ट में रखा है और रन करेंsudo chmod 755 ./start-dropbox.sh

#!/bin/bash
#Disclaimer: This script is intended for use with Ubuntu 14.04. You alone are responsible any consequence resulting from its use.
#The purpose of this script is to start dropbox, update the keyfile, and restart the indicator panel.

#Start dropbox if not already started (for some reason pgrep didn't work)
[[ $(ps aux | grep dropbox | grep dist | awk '{print $2 }') = "" ]] && dropbox start -i

#If the override file exists
if [[ -e ~/.local/share/indicators/application/ordering-override.keyfile ]]
then
    while [ "$(ps aux | grep dropbox | grep dist | awk '{print $2 }')" = "" ]; do
        sleep 1s
    done
    sleep 5s #dropbox creates several PIDs, so wait a bit before continuing
    sed -e "s/dropbox-client-.*=/dropbox-client-$(ps aux | grep dropbox | grep dist | awk '{print $2 }')=/g" -i ~/.local/share/indicators/application/ordering-override.keyfile
    restart unity-panel-service
fi

अब आप "Startup Applications" खोल सकते हैं, और एक नई प्रविष्टि कर सकते हैं, अपनी स्क्रिप्ट के लिए "कमांड" के रूप में पूर्ण पथ का उपयोग करके (~ / start-dropbox.sh काम नहीं करेंगे, आपको करना होगा / घर / अपना नाम / शुरुआत -dropbox.sh)।

** नोट : यह वह जगह है जहाँ आप पूर्ण स्क्रिप्ट पथ को अंत तक जोड़ देंगे/etc/rc.local

एक वैकल्पिक कदम ड्रॉपबॉक्स सेटिंग्स को खोलना और "सिस्टम स्टार्टअप पर स्टार्ट ड्रॉपबॉक्स" को अनचेक करना है। आप केवल ड्रॉपबॉक्स के लिए कमांड को नहीं बदल सकते जो पहले से ही स्टार्टअप एप्लिकेशन सूची में है, क्योंकि ड्रॉपबॉक्स हर बार यह शुरू होने पर इसे अधिलेखित कर देता है।

हो गया!

यहाँ मेरी ~/.local/share/indicators/application/ordering-override.keyfileतरह दिखता है:

[Ordering Index Overrides]
multiload=13
My-Weather-Indicator=12
redshift=11
Diodon=10
Chars=9
indicator-brightness=8
dropbox-client-24651=7
nm-applet=6
gnome-power-manager=5
ibus=4
gst-keyboard-xkb=3
gsd-keyboard-xkb=2
chrome-app-indicator-1=1

root@laptop:~# restart unity-panel-service restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
ज्यां जॉर्डन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.