可以通过修改 /usr/share/indicator-application/ordering-override.keyfile
这个文件来改变托盘图标的显示顺序。
直接修改这个文件会在所有用户中生效,如果只要在当前用户改变图标顺序,把这个文件复制到 ~/.local/share/indicators/application
目录下就可以了:
mkdir -p ~/.local/share/indicators/application
# 默认不存在该目录,所以先创建一个
cp /usr/share/indicator-application/ordering-override.keyfile
~/.local/share/indicators/application/
文件的内容类似这样(顺序越大则显示在托盘越左侧):
[Ordering Index Overrides]
nm-applet=1
gnome-power-manager=2
ibus=3
gst-keyboard-xkb=4
gsd-keyboard-xkb=5
要修改托盘图标的顺序,就必须先知道各个 indicator
的名字,可以这个脚本来查看当前托盘显示的 indicators
:
脚本链接
#!/bin/sh
dbus-send --type=method_call --print-reply --dest=com.canonical.indicator.application /com/canonical/indicator/application/service com.canonical.indicator.application.service.GetApplications | grep "string" > /tmp/indicators.txt
c=$(wc -l < /tmp/indicators.txt)
i=$((c / 8))
s=6
while [ "$i" != "0" ]; do
echo $(awk -v n=$s '/string/ && !--n {getline; print; exit}' /tmp/indicators.txt)
s=$(( $s + 8 ))
i=$(( $i - 1 ))
done
需要注意的是,想要将一个托盘图标设置在最左边,只修改该 indicator
的顺序值是不行的,要修改所有在它右边的 indicators
的顺序值。
修改完成后可以直接运行 $restart unity-panel-service
使改变生效,如果命令不可用,注销并重新登入即可。