——首先恭喜少数派新版上线,撒花。

——其次,文中 Omnifocus 除特别指出外,都为 Omnifocus for iOS。

——最后,我喜欢写一些冷门的小偏方。

起因

《Omnifocus+邮箱,我的 GTD 工作流 | 2016 与我的数字生活》中,我的日常工作方式以 Omnifocus 为主,邮箱为辅。圈内人都知道,Omnifocus 无 Windows 客户端。这对于以 PC 为主力的我来说,添加新任务到 Omnifocus 只有两个途径:
  1. iOS 客户端:拿起手机→3D Touch 新建收件箱→输入文字→返回主屏幕后锁屏
  2. 官方 Mail Drop:打开邮箱→新建邮件→输入Mail Drop Address→关闭邮箱
可以看到,上述两种方式相当不便利,尤其是当任务多时,一天要 N 次上述步骤。况且针对 iOS 设备,还要忍受一段时间后系统自动删除 Omnifocus 客户端后台导致的重新加载时间。

对于效率至上的我来说,简直不能忍。

转机

后来 Omnifocus 2.14 版更新,增加了很多 Powerful URL Schemes(对本次更新详细介绍参考《OmniFocus 的 URL Schemes 用法》),而且 Omnifocus 开始支持 Taskpaper 格式批量导入任务。这对于经常需要批量导入项目和任务的我来说,简直大福利。然后——被官网安利买了 Editorial。再然后,为了充分利用 Editorial 的功能,自学 Python(只学了皮毛,后来也不了了之╮(╯_╰)╭)。

再后来,在少数派看到《Windows 上的 Alfred,免费开源的效率启动器:Wox》,对这款软件第一印象挺不错,很赞的效率工具。最重要的是支持自编 Python 插件。

麒麟臂开始隐隐发做,感觉可以折腾些什么。

何不让 Wox 快速发邮件给 Omnifocus Mail Drop 呢,Wox 呼出输入界面的速度简直快得不要不要的。

成果

快捷键快速呼出 Wox 界面,输入关键字“t”(后期可自定义),输入标题和注释(注释用“&”和标题连接),回车,Omnifcous 同步一下(开启后台刷新后貌似会自动同步)。如果任务多,晚上回家后在 Mac Omnifocus 上整理。
图1. 等待输入
图2. 输入任务

Let's start !

一、准备工作

二、设置

1、安装 Wox,通知栏右键 Wox 选择 Setting;

设置 Python 安装路径


2、打开 Wox 安装路径,把插件包解压到 Plugins 文件夹;

路径类似如下:

C:\Users\用户名\AppData\Local\Wox\app-1.3.357\Plugins


3、插件包文件设置;

记事本打开 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.py"   //执行文件入口,如果是C#插件则填写DLL路径,
如果是pyhton则填写python文件路径
}


4、邮箱帐号设置;

因本人使用 QQ 邮箱服务,QQ 邮箱使用 SSL 设置,所以单纯的输入邮箱密码无效,第三方客户端需用授权码验证。

生成授权码

5、woxmail.py 填入邮箱相关信息。

woxmail.py 右键以 Edit with IDLE 打开,不建议用第三方编辑器。按照文档注释填入相应信息。

修改 woxmail.py 文件

Try it!


结语

Omnifocus 在 GTD 领域绝对数一数二,但是对于非 Mac 作为主力的用户多少有些不便,本文曲线救国也算是一些安慰。

在编写 Python 插件代码过程中遇到一些难点,当时既想快点解决,又不想太快解决。难点就好比电影里的高潮,解决意味着高潮已过,对这件事的兴趣开始降低,需要寻找新的难点来刺激自己。这种害怕题目做完的感觉不知能否体会?

如何串联已有知识来服务新需求,是我一直关注的,并且这过程让我乐此不疲。