Переместить приложение dropbox-client

Я знаю, что это возможно, изменить порядок расположения аппендикаторов в трее (этот вопрос задавался несколько раз)

/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?)

спасибо

2
задан 18 June 2013 в 18:20

1 ответ

Я понял это сам, надеюсь, что смогу помочь любому с той же проблемой (может быть, немного «грязно», но это работает!)

Я создал файл 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 после запуска

0
ответ дан 18 June 2013 в 18:20

Другие вопросы по тегам:

Похожие вопросы: