Wox - Windows上的效率工具

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
禁用插件
  1. 打开Wox设置界面,并切换到插件页。
  2. 选择你想禁用的插件,勾选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两个库, 方便用户进行网络访问与解析。

参考项目:Wox.Plugin.HackerNews

创建Python插件的步骤如下:

  1. 创建plugin.json文件
  2. 创建一个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你不喜欢,可以查看官网主题进行挑选,或者自己编写。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353