干货分享|教你如何编写桌面快捷方式文件
导读
快捷方式是 Windows 提供的一种快速开启程序、打开文件或文件夹的方法,拓展名为*.lnk。
Linux 提供类似功能,叫做桌面入口(Desktop Entry),拓展名为*.desktop。本文将结合优麒麟操作系统,对桌面条目(快捷方式)协议进行详细介绍。
01 文件名
1. 一般桌面入口(快捷方式)文件(类型为 Application 和 Link 的文件)使用.desktop 扩展名。Type 键为 Directory 的文件使用 .directory 扩展名。
2. 文件名以 ASCII 字母开头,后续字符可以使用 ASCII 字母[a-zA-Z]、数字[0-9]、下划线(_)、短划线(-)、点(.)。
3. 建议使用反域名格式。例如:cn.kylinos.desktop。
4. 建议用程序作者控制的域名字段加应用程序名称对文件进行命名。域名字段为小写。应用程序名为大驼峰。例如:域名字段为 example.org,应用程序名为 fooViewer。文件名为 org.example.FooViewer.desktop。
5. 不建议使用破折号。
02 文件存储位置
在优麒麟操作系统下,桌面条目(快捷方式)文件一般存储在“/usr/share/applications”目录下。
03 文件格式
(1)文件编码格式为:UTF-8。
(2)文件内容每一行以换行符分隔。
(3)使用“#”可进行单行注释。
(4)大小写敏感。
(5)组头:
● 当组名为 groupname,组头为[groupname]。
● 组后面的键值对都是属于该组的。
(6)项:
● 文件中项是“键值对”格式。
● 键=值应忽略等号前后的空格。“=”符号是实际的分隔符。
● 键名中只能使用 ASCII 字符或数字或短划线。
● 同一组中的键不能同名。
(7)项中值的类型:
● 项中的值类型有 string、localestring、iconstring、boolean、numeric。
● string:除控制字符以外的所有 ASCII 字符。
● localestring:本地化字符串。
● iconstring:图标字符串。
● boolean:布尔值,只能是 true 或 false。
● numeric:浮点值。
(8)键本地化:
● 值类型为 localestring 和 iconstring 对应的键可本地化,即键可以后缀[LOCALE]。
● LOCALE 必须为 lang_COUNTRY@MODIFIER、lang_COUNTRY、lang@MODIFIER、lang 中的一种。
● 如果出现后缀键,则没有后缀的相同键也必须存在。
● 本地化键格式为 Key[Locale]。
● Locale 的优先级从高到低分为 lang_COUNTRY@MODIFIER、lang_COUNTRY、
lang@MODIFIER、lang、默认值。
● 例子:依据优先级有后缀的键只有 sr_YU 被优先使用
Name=Foo
Name[sr_YU]=...
Name[sr@Latn]=...
Name[sr]=...
(9)关键字键
● 有些键是可选的,有些键是必须的。
● 某些键需要另一些键被设为特定值时才有意义。例如 Terimnal 键在 Type 键为 Application 时才能使用。
● 某些键存在,则另一些键必须存在。例如 Type 键为 Link 时,URL 键必须存在。
(10)Exec 键详情:
● Exec 键必须包含命令行。
● 命令行由可选的可执行程序组成,包含一个或多个参数。
● 可执行程序可以指定其完整路径或仅包含可执行文件的名称。
● 如果没有提供完整路径,可在 $PATH 环境变量中查找可执行文件桌面环境。
● 可执行程序的名称或路径不能包含相等的符号(“=”)。
● 参数用空格分隔。
● 可识别的域代码如下:
04 示例:桌面条目(快捷方式)文件
该桌面条目示例文件实现了通过浏览器自动打开指定网页的功能。
[Desktop Entry]
#指定使用的协议版本
Version=1.0
#设置需要调用的信息类型
Type=Application
#默认情况下,desktop 在桌面或菜单栏出现的名字
Name=app.web.baidu.naotu
#在中文_中国环境下,desktop 在桌面或菜单栏出现的名字
Name[zh_CN]=百度脑图网页版
#desktop 图标的位置
Icon=/usr/share/icons/kylin-auto-web/app.web.baidu.naotu.png
#在中文_中国环境下,对这个 desktop 的介绍。
Comment[zh_CN]=便捷的脑图编辑工具 - 控制创意,如此简单。让您在线上直接创建、保存并分享你的思路。免安装、云存储易分享、体验舒适、功能丰富
#检查是否有 xdg-open 程序
TryExec=xdg-open
#调用 xdg-open 程序并输入网址参数
Exec=xdg-open https://naotu.baidu.com/
#设置不打开终端
Terminal=false
#设置这个 desktop 所属分类,在开始菜单中,可以依据此分类找到图标
Categories=Development;Network;
以上就是关于桌面快捷方式规范协议的全部内容,关于如何更好地编写桌面条目(快捷方式)文件,大家可以参考制定该协议的官网:https://specifications.freedesktop.org/