五月 16

linux下如何为某一扩展名定制图标?

最近经常使用HSpice,由于运行的文件是纯文本文件,运行后会软件会在目录下生成好多的纯文本文件,而这些文件的图标都是一样的,所以每次我要找.sp文件都特别考验眼力。很自然就想,怎么样能够像.doc .ppt那样自动有一个图标呢?这样找起来可就方便多了。谷歌找了一堆方法后不知为何没有效果,于是我就在ubuntu中文论坛上问了这个问题,在网友的帮助下解决了这个问题。

原链接:http://forum.ubuntu.org.cn/viewtopic.php?f=182&t=469669

以下是摘录:

linux中这些都是取决于文件的mime类型的,你需要给.sp注册一个包含图标信息的mime类型

先创建一个mime类型描述文件x-sp.xml,内容如下
代码:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-sp-file">
    <comment>SP File</comment>
    <glob pattern="*.sp"/>
    <icon name="sp_file_icon"/>
  </mime-type>
</mime-info> 

然后向系统注册此类型
代码:

xdg-mime install x-sp.xml

这样就将.sp关联到了application/x-sp-file类型,并指定其图标名称为sp_file_icon
然后找一个64*64的图标文件icon.png进行安装
代码:

xdg-icon-resource install --context mimetypes --size 64 icon.png sp_file_icon 

那么还有一个问题,如果找到的想作为图标的图片可能不是64*64的(可能别的大小的也可以,我没有试过),如何将这个图片改成64*64的呢?

既然在linux下那就打开inkscape!

File->Document properties 然后在Custom size 那改成64*64像素。这样工作区中就会有个64*64的小区域,只有这个小区域内的图片才能够被导出(我对这类软件不了解,不知道怎样表达)。现在需要做的就是将原图缩放成和那个区域一样大,并且完全和那个区域重合。

右键点击图片->Image Properties->设置大小为以上设置的大小,64*64,然后坐标为设置成0,0. 这样就会发现图片被缩小(或者放大)并且和那个小区域完全重合了。

最后File->Export Bitmap 大功告成。

最后来一张效果图
HW4_033

如果没有为.sp扩展名定制一个图标,那么可以看出每次寻找可是很辛苦的,而且还容易出错。

标签:

Posted 2015年5月16日 by zhangzimou in category computer&internet