Wox - Windows上的效率工具
timg-2
目录:
[TOC]
简介
Wox 是一款在Windows上使用的快捷启动器,它可以启动程序、执行命令行、搜索网页,还可以自定义各种功能。
Wox官网地址
Wox可以做什么
Wox基础功能篇
安装好Wox之后,Alt + Space即可打开(可在 Settings - HotKey 中进行自定义设置打开快捷键)。
快捷调用
执行Shell命令
输入英文状态下">",空格后接命令即可
15465670824685
快捷计算
15465671384649快捷显示颜色
输入以#开头的Hex颜色,即可快速查看颜色效果。
15465772913873
系统命令
关闭电脑
输入命令“shutdown”
15465694601073
重启电脑
输入命令“restart”
15465695459025
锁定
输入命令“lock”
15465695939508
休眠
输入命令“sleep”
15465696203696
打开相关
快捷打开本地软件、文件等。
打开链接
打开Wox后输入链接,回车后会用默认浏览器打开当前链接。
15465669509075
打开软件
输入要打开的软件名(中文或软件英文包名均可),如“微信”或“WeChat”。
15465697717763
打开文件
输入想要打开的文件名,即可自动搜索所有。
15465698963567
搜索相关
搜索本地文件可直接输入文件名、文件夹名。网络搜索按在什么网站进行搜索具体添加触发关键词。
搜索本地文件
15465702608694网络搜索
网络搜索的格式是:触发词 搜索内容
默认触发关键词
触发关键词 | 描述 |
---|---|
bd | 在百度搜索之后内容 |
bing | 在必应搜索之后内容 |
例如:
15465712810292 15465712974624
输入完成后,回车即可自动打开默认浏览器,使用输入触发词网站进行相应搜索。
其它关键词添加
Wox已经默认配置了很多,但是大多为Google相关国内并不能使用。这里补充几个国内常用的,添加方式为“Settings - 插件 - 网页搜索 - 添加”,如下图所示。
15465720944304 配置完成后的效果
你可以输入自己喜欢的标题、触发字、图标等,上图是以京东为例进行的填写,下面表格提供相应URL
搜索站点 | URL |
---|---|
简书 | http://www.jianshu.com/search?q={q}&page=1&type=notes |
京东 | http://search.jd.com/Search?keyword={q}&enc=utf-8&pvid=klithfni.741mvl |
淘宝 | http://s.taobao.com/search?q={q} |
豆瓣 | https://movie.douban.com/subject_search?search_text={q}&cat=1002 |
进阶功能
插件
插件安装
官网插件列表地址
安装命令格式:wpm install 插件名称
以安装Weather.Open为例,输入插件安装命令wpm install Weather.Open,安装完成后重启Wox即可使用。
Weather.Open默认的触发关键词是forecast,可以在Settings - 插件 - Weather.Open中进行设置。
15465735777738
插件卸载
命令格式: wpm uninstall 插件名称
查看已安装插件
已安装插件命令格式: wpm list
15465766770108
禁用插件
- 打开Wox设置界面,并切换到插件页。
- 选择你想禁用的插件,勾选disable勾选框即可。这一操作是即时生效的。
编写插件
在编写Wox插件之前,需要明白Wox使用的插件机制。
简单来说,Wox与插件之间通过标准输入输出的方式通信,使用JSONRPC来完成通信。使用这种方式,将极大的提高Wox支持的插件种类, 几乎任何语言都可以用来编写Wox插件。
下图展示了Wox与插件之间的通信原理:
JSONRPC
在创建Wox的时候,用户必须在插件的根目录方式一个名为plugin.json的文件。该文件中包含了该插件的一些基本信息。在用户上传插件到getwox.com的时候, Wox会读取这个文件中的信息。
plugin.json的格式如下: 请在粘贴下面代码的时候移除其中的注释
{
"ID":"D2D2C23B084D411DB66FE0C79D6C2A6H", //插件ID,32位的UUID
"ActionKeyword":"wpm", //插件默认的触发关键字
"Name":"WPM", //插件名字
"Description":"Wox Package Management", //插件介绍
"Author":"qianlifeng", //作者
"Version":"1.0.0", //插件版本,必须是x.x.x的格式
"Language":"csharp", //插件语言,目前支持csharp,python
"Website":"http://www.getwox.com", //插件网站或者个人网站
"IcoPath": "Images\\pic.png", //插件图标,路径是相对插件根目录的路径
"ExecuteFileName":"PluginManagement.dll" //执行文件入口,如果是C#插件则填写DLL路径,如果是pyhton则填写python文件路径
}
Python插件编写
Wox支持使用Python进行插件的开发。Wox自带了一个打包的Python及其标准库,所以使用Python 插件的用户不必自己再安装Python环境。同时,Wox还打包了requests和beautifulsoup4两个库, 方便用户进行网络访问与解析。
创建Python插件的步骤如下:
- 创建plugin.json文件
- 创建一个python文件,一个简单的例子如下:
#encoding=utf8
import requests
from bs4 import BeautifulSoup
import webbrowser
from wox import Wox,WoxAPI
#用户写的Python类必须继承Wox类 https://github.com/qianlifeng/Wox/blob/master/PythonHome/wox.py
#这里的Wox基类做了一些工作,简化了与Wox通信的步骤。
class Main(Wox):
def request(self,url):
#如果用户配置了代理,那么可以在这里设置。这里的self.proxy来自Wox封装好的对象
if self.proxy and self.proxy.get("enabled") and self.proxy.get("server"):
proxies = {
"http":"http://{}:{}".format(self.proxy.get("server"),self.proxy.get("port")),
"https":"http://{}:{}".format(self.proxy.get("server"),self.proxy.get("port"))}
return requests.get(url,proxies = proxies)
else:
return requests.get(url)
#必须有一个query方法,用户执行查询的时候会自动调用query方法
def query(self,key):
r = self.request('https://news.ycombinator.com/')
bs = BeautifulSoup(r.text)
results = []
for i in bs.select(".comhead"):
title = i.previous_sibling.text
url = i.previous_sibling["href"]
results.append({
"Title": title ,
"SubTitle":title,
"IcoPath":"Images/app.ico",
"JsonRPCAction":{
#这里除了自已定义的方法,还可以调用Wox的API。调用格式如下:Wox.xxxx方法名
#方法名字可以从这里查阅https://github.com/qianlifeng/Wox/blob/master/Wox.Plugin/IPublicAPI.cs 直接同名方法即可
"method": "openUrl",
#参数必须以数组的形式传过去
"parameters":[url],
#是否隐藏窗口
"dontHideAfterAction":True
}
})
return results
def openUrl(self,url):
webbrowser.open(url)
WoxAPI.change_query(url)
#以下代码是必须的
if __name__ == "__main__":
Main()
主题
可以在 Settings - 主题下进行主题设置
自定义主题
如果Wox自带的UI你不喜欢,可以查看官网主题进行挑选,或者自己编写。
网友评论