移动 dropbox-client appindicator

移动 dropbox-client appindicator

我知道,可以重新排列托盘中应用程序指示器的顺序(这个问题已经问过几次了)

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

并且我知道可以通过这个 qdbus 命令获取不同 appindicators 的名称:

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 脚本更改文件?)

谢谢

答案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

并用这个 bash 脚本替换了 dropbox 的启动命令,瞧!

编辑:显然你需要在 ordering-override.keyfile 中添加两行 dropbox,因为启动后 dropbox 可能有两个 pid

相关内容