Я знаю, что это возможно, изменить порядок расположения аппендикаторов в трее (этот вопрос задавался несколько раз)
/usr/share/indicator-application/ordering-override.keyfile
, и я знаю, что можно получить имя разных аппендикаторов с помощью этой команды qdbus:
qdbus --literal com.canonical.AppMenu.Registrar /com/canonical/Unity/Panel/Service com.canonical.Unity.Panel.Service.Sync | sed -e 's/[^{]*{\(.*\)}\]/\1/' | sed -e 's/\[[^"]*/[/g' | sed -e 's/\[\(\(\("[^"]*"\|[^,"]*\), \)\{4\}\)[^]]*,\([^,]*\)\]/[\4, \1]/g' | sed -e 's/\[\([^,]*\, \)\("[^"]*",\)/[ \1\2 /g' | sed -e 's/\[ *\(....,.\{24\}\) */[\1/g' | sed -e 's/\], \[/]\n[/g' | sort -n -k2
моя проблема: dropbox-client меняет свое имя appindicator (всегда «dropbox-client-» и случайное (?) число).
Возможно ли все же переместить dropbox-appindicator (что-то вроде получения номера заранее и изменения файла скриптом bash?)
спасибо
Я понял это сам, надеюсь, что смогу помочь любому с той же проблемой (может быть, немного «грязно», но это работает!)
Я создал файл bash dropbox.sh: #! / bin / bash
dropbox start -i
sleep 1
b=`pidof dropbox`
c=`echo $b | cut -d' ' -f1`
c1=`echo $b | cut -d' ' -f2`
d="dropbox-client-$c=8"
d1="dropbox-client-$c1=8"
filename=~/.local/share/indicators/application/ordering-override.keyfile
count=0
while read LINE
do
let count++
if [[ $LINE == *dropbox* ]];then
c=$LINE
e=$count
e1=$(($e + 1))
break
fi
done < $filename
sed -i "$e s/.*/$d/" $filename
sed -i "$e1 s/.*/$d1/" $filename
и заменил команду запуска dropbox на этот bash-скрипт, voilá!
edit: очевидно, вам нужны две строки dropbox в файле ordering-override.keyfile, так как есть два возможных pid для dropbox после запуска