我之前写过《手动修改Firefox状态栏图标顺序》,通过修改“extensions.ini”文件,把Echonfon的图标弄回靠右的位置,但那个方法有一个问题,就是当你添加、删除、更新、启用和禁用过扩展后,图标顺序就打回原形了,得再修改一次,很烦,于是我就研究一下怎么永久固定它。
排序原因
经我研究,“extensions.ini”文件里的顺序就是按照扩展的名称的字母来排序的,扩展面板里也是这样。对于状态栏图标,从左边开始排序, 即名称的字母越靠前,图标就越靠左。但也有特例的,我装的“CS Lite”这个扩展就在最左边,可能它的代码特别指定了位置。
所以这就能解释为什么之前“Twitterfox”会在右边第二位置,在我安装的扩展中,名称排在它后面的只有“Yet Another Smooth Scrolling”,“而改成了“Echofon”后,就排在其它扩展前面了。所以把名称改回“Twitterfox”就行了,”Echofon”这名字实在太失败了。
修改方法
用文本编辑器打开“你的Firefox配置文件夹/extensions/twitternotifier@naan.net/install.rdf”这个文件,开头如下代码
<em:id>twitternotifier@naan.net</em:id> <em:name>Echofon</em:name> <em:version>1.9.5.1</em:version>
把中间那行“Echofon”改回“Twitterfox”就行了。接下来就是让Firefox重新读取这个扩展信息,有两个方法
- 反复启用/禁用Echofon,重启Firefox若干次,直到名称和状态栏图标位置改变。我也找不到规律,总之反复重启几次就行了。
- 或者干脆点先卸载再重新安装,在“twitternotifier@naan.net”目录里,全选,把所有文件打包为zip,再改扩展名为”xpi“,然后在扩展面板里卸载掉Echofon,重启Firefox,再拉进这个xpi文件来安装。

一直用 Organize Status Bar 搞定这东西,估计也是这个原理……
干吗要这么麻烦呢?直接在userchrome.css就能给状态栏排序,只需要设定各个图标的-moz-box-ordinal-group值就行了。
我认为七星的方法最简便了。
至于userchrome.css,要用InspectorWidget配合dominspctor找id,如果漏了某id还是会有小问题的。
我直接将代码加载到stylish,开关或者修改都很方便。