最近深入研究文件图标的正确性问题,终于搞清楚了LINUX处理逻辑。把结果开放出来。其实这些东西别人都会,只是没有人明说而已。开放出来,后来人可以节省力气。
weight优先原则
多个mime文件都设置某种文件的图标,系统会比较不同文件中的图标weight。数值越大越优先。能不能超出100?没有试过。
如果weight相同呢?
先入为主原则(按照文件名排序)
两个mime xml文件,都试图设置某种文件的图标,怎么办?这个时候是先入为主。即同等条件下,以先处理的那个文件为准。
处理顺序是什么呢?按照文件名排序。
也就是说,如果两个文件分别是a、b,那么处理顺序一定是a、b。自然的,要想让自己的设置生效,文件名最好就是a开头。
本地优先原则
mimetyps的xml文件有两个目录存放:
/usr/share/mime/packages ${HOME}/.local/share/mime/packages # 使用这个命令更新: # update-mime-database -V /usr/share/mime # update-mime-database -V ${HOME}/.local/share/mime
如果对某个文件有不同的设置,以本地为准。
明白了这个道理,问题自然容易解决。