dms
(稻米鼠)
1
从Windows 键盘流快速启动器收集继续讨论:
啃了一两天文档( Flow Launcher - Documentation ),发现这东西有点意思,我这篇不是文档,但看完以后应该可以快速上手开发,因为这东西实在是太简单了。
JavaScript / TypeScript / Python 都差不多,我用的 JS。
- 它会在每次查询时调用你的脚本,就是命令行调用。JS 以 node.js 的方式调用
- 它把参数以 json 的形式传给你的脚本,解析一下就行了
JSON.parse(process.argv[2])
- 获得一个对象,其中三个属性:
method { string } 通过判断这个参数的值,来决定你的脚本要做什么,如果值是 query,那么当前是查询
parameters { array } 参数,如果是查询,这里第一项就是查询的内容。
settings { object } 插件设置
- 插件信息在
plugin.json 文件中设置
ActionKeyword 的值是触发关键词,如果用 "*" 表示所有查询都触发,如果有多个出发关键词则用 ActionKeywords 字段,后续给出一个关键词数组。
- 插件设置用
SettingsTemplate.yaml 文件定义,详细看官方文档,基本就是 HTML 表单项,只是描述格式换成了 yaml。所以也做不到某些官方插件的复杂度,以及不太好做动态。
- 脚本在命令行的输出应该是 json 格式(附在下方,其中的
method 如果是 Flow.Launcher.ShowMsg 形式就是调用 Flow Launcher 的 API,parameters 的内容作为参数。否则一般用来显示在查询结果中,然后点击就再次调用你的脚本,这时候就可以根据 method 的值进行不同的操作了。
- 因为是每次调用脚本,基本上修改以后立刻生效
- 如果是基础信息修改可以用命令
rpd(Reload Plugin Data)热重载
{
"result": [
{
"Title": "",
"Subtitle": "",
"JsonRPCAction": {
"method": "",
"parameters": []
},
"IcoPath": "",
"score": 0
}
]
}
2 个赞
"JsonRPCAction": {
"method": "Flow.Launcher.ShowMsg",
"parameters": [
"Excel Column Convertor",
query,
"Images/app.png"
]
}
如果想要让query生效的话,得前面使用了 query变量才行。
1 个赞