linux桌面菜单与文件关联

原文地址:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=259119&start=0

  菜单

  菜单包含三个部分来完成。menu 文件用来把 desktop 文件集中起来形成菜单的样式。directory 文件用来描述菜单的目录层次结构,因为只有 desktop 文件的话就没有目录的层次结构了。

  menu 文件的位置

  全局:/etc/xdg/menus/
  个人:~/.config/menus/

  directory 文件的位置

  全局:/usr/share/desktop-directories/
  个人:~/.local/share/desktop-directories/

  desktop 文件的位置

  全局:/usr/share/applications/
  个人:~/.local/share/applications/

  例如 xfce4 的 menu 文件 /etc/xdg/menus/xfce-applications.menu

  解释:

  <DefaultAppDirs/> 到默认的路径查找 desktop 文件,也就是上面列出的目录。
  <DefaultDirectoryDirs/> 到默认的路径查找 directory 文件
  <Filename> 可以直接插入一个 desktop 文件条目
  <Menuname>可以直接插入一个指定 name 的 menu
  <Merge type="all"/> 合并所有其它 menu
  <Category> 说的是一个类别,它会扫描所有的 desktop 文件(可以去看一个 desktop 文件,它一般有一个变量就指定了程序应该属于的分类)。把它包含在 <Include> 标识之间就是说在这里要插入所有 Category 是指定值的程序。

  文件关联

  /etc/gnome/defaults.list 保存了全局的打开方式
  ~/.local/share/applications/defaults.list 保存了个人的打开方式
  当两着不一致是,优先采用局部的个人设置。

  /usr/share/applications/mimeinfo.cache
  ~/.local/share/applications/mimeinfo.cache
  这两个分别是全局的和局部的打开方式缓存

  defaults.list 不是每个桌面环境都有的,xfce4 就没有,所以就不可用。
  mimeinfo.cache 是缓存文件,一段时间后会刷新,更改它也不起作用。事实上,需要修改的是 desktop 文件。

  对于 opera 来说,opera.desktop 文件的最后几行如下:

  ...
  Exec=opera %u
  Terminal=false
  Categories=Application;Qt;Network;WebBrowser;X-Ximian-Main;X-Ximian-Toplevel
  Icon=opera.png
  MimeType=text/html;text/xml;application/xhtml+xml;application/x-mimearchive;application/xml;application/rss+xml;application/rdf+xml;image/svg+xml;image/gif;image/jpeg;image/png;image/x-bmp;image/x-xbm;application/mime
  Comment=Web Browser
  Type=Application

  看它的 MimeType 属性,可以看到它带了太多的关联,一般我都会去掉它带的 image 关联。上面也可以看到 opera 是属于哪个 Categories,所以我们一般都可以在 Network 目录项中看到它。

《Linux Desktop Entry 文件深入解析》 http://www.ibm.com/developerworks/cn/linux/l-cn-dtef/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值