workflow有哪些功能经典且好玩的Alfred workflow

小帽子作为macOS上的最佳效率软件应该没太大争议(),而其中最强大的部分即为Alfred 2.0推出的特性;其允许你将日常重复性的工作使用脚本语言(目前支持:bash,
zsh, php, python, ruby, perl, osascript(AppleScript, JavaScript))封装起来,以Alfred作为统一的入口和呈现来使用,大大提高效率;本文将对其开发的一般流程进行讲述,并最终实现两个实例:
CDto: 打开Terminal并转到任意文件夹或文件所在目录,使用
bash+osascript 实现
Effective IP: 查询本机和外网IP地址,解析任意URL和域名的IP地址,同时进行归属地和运营商查询,使用
python 实现
本文源代码地址:,如果喜欢请,谢谢!
Alfred Workflow的整体架构,极度类似于Windows中的Direct Show,首先由一个Input开始,中间经过一堆filter,然后到一个Output结束,中间通过Pin连接,上一个Output Pin作为输入传递给下一个Input Pin,从而形成一个完整的Graph,而最终传递给Alfred做输出呈现的内容必须符合下面的形式:
&?xml version=&1.0& encoding=&utf-8&?&
&item valid=&yes&&
&title&10.0.2.11&/title&
&subtitle&45.76.65.119 美国新泽西州皮斯卡特维 choopa.com&/subtitle&
&icon&Info.icns&/icon&
Alfred上每一行显示对应一个item,如果显示多行,那就在items下放入多个item即可
valid 表现为可不可以选择,点击,再次传递title 主标题subtitle 副标题icon 图标
使用[Option+空格]调出Alfred,输入alfred打开Alfred Preferences:
点击Workflows按钮,然后点击最下面的 + 按钮,创建一个Blank Workflow,按照提示填入信息:
Bundle Id 作为该Workflow的标识为必填内容,如果不填或与其他重复,有可能造成其不能正常运行
Workflow - CDto
使用Terminal的一般步骤大概是运行Terminal,然后一路cd到目标文件夹后开始使用;虽然Finder有cd to插件,但也需要你一路点到指定文件夹后,才能调起来;虽然Alfred的Right Arrow按键里面有Open Terminal Here操作,但排在太后面了,打开的操作路径至少需要:Right Arrow -& 输入o -& [Command + 3]三步才能完成:
作为一个需要频繁和Terminal交互的码农这完全不能忍,下面我们就利用Workflow做个一步到位的CDto神器
在Alfred Workflows的工作区点右键,选择菜单[Inputs -& File Filter],并按下图设置好,其他两个选项卡使用默认设置即可:
在刚才插入的[File Filter]上点击右键,选择菜单[Insert After -& Actions -& Run Script],并按照下图设置好,最下面的Escaping表示对指定字符进行转义,比如说:/Users/$a1,如果不对$转义,那外部会把$a1一起当做一个变量,而这个变量未定义也就是为空,传递进来的参数最终变成:/Users/,:
Workflow - Effective IP
现在我们使用Python来做个更复杂的例子,,具体分析见下图:
我们基于进行开发,具体的内容请参考前面的内容和,
这里我只对两个设置界面进行必要的解释:
主设置界面
直接输入ip无参形式是查询本机的本地和公网地址,有参形式是进行DNS解析,因此参数是可选的,需要设置为:[Argument Optional]点击Run Behaviour按钮,进行运行行为设置
运行行为设置
如果输入发生变化,我们肯定是希望得到之后的结果,因此我们需要即时结束掉之前的查询在输入过程中不进行查询,Alfred通过最后一个字符输入延迟来判断输入结束后才进行查询
左边列表区域里点右键选择[Open in Finder]可以打开该Workflow的目录进行文件查看和编辑点此可以调出调试窗口,查看调试信息
访问:2632次
排名:千里之外
原创:10篇
转载:16篇Alfred的配置和使用
Alfred的配置和使用
Alfred:mac上的神兵利器,提升工作效率*n,快捷键:option + 空格。
鉴于是看了池老师的《人生元编程》才全面使用Alfred,所以先标出池老师的博客:
,这个更精彩;
下面开始是我的使用心得
代替spotlight
程序的快速启动入口
强大的workflow
: 定位文件
: 定位并且打开文件
: 在文件中检索
...文件操作还有更多强大的功能,比如拷贝. 移动文件...
系统自带功能
在设置 -& Features 中有许多功能;
关机 退出所有程序...等
输入运算公式,直接调用计算器
输入define 直接用系统的词典查单词,查询用的关键字可以自行修改
还有好多其他功能可以在Features中去探索,重点说一下自定义快捷搜索
在features中有个web search 选项,默认情况下输入非关键字的语句会用google搜索;这里也可以自己配置一些其他的检索方式;
经常用github搜索开源库,一般你要先打开浏览器,到github主页,然后搜索,如果使用alfed配置一下,结果就是你可以在任何场景下 option + 空格 呼出alfed,输入gh afn,回车后就看到了,全自动化;gh是我自定义的搜索关键字
具体如何设置,用一张图说明
如何获得检索的url,以github搜索为例,先手动的打开github随便搜索点什么,在地址栏中得到了url:
把搜索内容afn改为:{query}得到:https://github.com/search?utf8=%E2%9C%93&q={query},over;
按照这种方式可以自定义一些其他搜索,提升效率;
强大的workflow
workflow是alfred最强大的功能;有了workflow,alfred就像个中心调度器,成为一切的交通枢纽;
** 自定义一般的工作流**
以打开xcode的来说,目前来说操作流程是:option + 空格 -& 键入xcode -& 回车;如果使用workflow的工作流还能进一步简化流程;
在alfed设置界面,选择workflow区,点击右下角的+添加自定义工作流,
依次选择Templates -& Files And Apps
-& Launch fi 通过热键(快捷键打开某些文件或者启动app);
弹出框可以随意填写,create后看到如图
左边配置快捷键(例如option + x),右边配置需要打开的apps或者file;
app从finder中的应用程序中拖,选项Toggle visibility for apps建议打钩,打钩后快捷键兼具隐藏功能;
配置完成后,任何情况下直接组合使用:option + x,即可打开或者隐藏xcode,其他程序同样...;
workflow也可以用来配置系统命令,比如退出当前运行的所有程序,同样可以配置快捷键...;
配置和编写复杂的工作流
Alfred同样拥有许多或好玩或有用的插件,都是第三方程序员开发,同样你也可以为Alfred开发插件,下面举几个例子;
有道网络查单词:
百度地图搜索插件
需要说明百度地图搜索到以后并不需要打开浏览器,点击shift后可以预览网页
功能比较强大的一款插件是 马尔福:通过Aflred快速发微博...
可以说Alfred几乎无所不能而且快速高效;
更多的插件,可以在
下载试玩;下载后直接拖到workflow中即可使用;
如果你有兴趣为workflow编写插件,可以参考一下两篇文章
Sublime Text:一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受。相比于难于上手的Vim,浮肿沉重的Eclipse,VS,即便体积轻巧迅速启动的Editplus、Notepad++,在...
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS 介绍 这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库. 具体内容 ============================= 版本管理@ 依赖管理@ G...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
【《徐芒耀的油画世界》连载25】 【回顾(十七)师从王德威和全山石】 王德威导师兼任副院长,是七人研究生班的创作教师,也意味着在毕业创作的时候才来上课,前期全是习作课,由全山石导师负责习作课的教学。 说起徐芒耀与他的研究生导师全山石的经历,可以说是“无处不相逢”。 “我和全...
AppDelegate中获取UINavigationController或者UITabBarController // 在AppDelegate中收到推送消息后可以用这个方法拿到控制器直接完成跳转.
用茯茶素调治代谢性慢病的功效得到了越来越广泛的认可!本文将饮用茯茶素调治慢性病全过程中一些规律性的“好转反应”分享给大家! 01 了解“好转反应”的必要性 随着饮用臻溪·TNA茯茶素受益人士不断增加,尤其是社会各界精英人士关于用茯茶素调治慢性病历时六至十二个月的过程中,就不...
1.临泽 老夏、敏杰、李冰和我被安排在一个方舱里,由开始的热到后来的冷又到最后的热,这天气真的随海拔的变化和山的阻隔有很大的不同来。到目的地的时候已近中午,艳阳高照,秃山随地,我们四人拖着行囊小心地找寻着该去的地方。实在干渴饥饿至极,每个人都拿出带的吃的东西,坐在一个小山包...
旅行是一场放空心灵的盛宴
读万卷书,行万里路,书在路前,没有任何文化准备的旅行无非是走马观花。有人说:所以的城市都是高楼,所有的自然景观无非是树、木、山、川、花、草、小溪、大海而已,他们说的都对,世间确实由这些组成,可是你知道的故事和你的目的、感受却是完全不同的,如果...如何用 Python 写 Alfred Workflow
用 Mac 的同学应该都听过 Alfred,号称效率神器。但是,你有没有想过可以用 Python 自己写一个 Workflow 呢?
作者:_CallMe靠谱叔
原文:http://www.jianshu.com/p/4b980a0193b6
Alfred 的是公认的 MacBook 效率神器,入坑 Mac 这么久用了很多别人写的 workflow 觉着真心不错。学了一点 python 终于可以写个简单的 workflow 了,先上效果图:
先上效果图。
关于Alfred的介绍可以看看「少数派」的系列文章:。
准备工作:
MacBook + Alfred 2或3 + Alfred Powerpack
下载 deanishe 的 python alfred 框架 ,我们可以用他造的轮子完成我们自己的workflow了。
注册和风天气,用天气API获取我们要在alfred输出的天气数据。
1.新建个空白的 workflow :
2.选中刚才新建的 workflow ,右边空白区域右键选择 Inputs - s ,会弹出一个新的设置窗口:
keyword :在 alfred 里输入这个值,就会调起这个 ; Language :这里是指脚本使用的编程语言,虽然我们用的是 python ,但是为了便于调试,建议还是用 bash 调用自己写的脚本。
3.打开这个 workflow 的位置
在 finder 里面打开 workflow
4.把 deanishe 的 workflow 框架和自己的。 py 脚本放在这个文件夹。
# -*- coding:utf-8 -*-
importjson
fromdatetime importdatetime
fromworkflow importWorkflow,web
reload(sys)# Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入
sys.setdefaultencoding('utf-8')
# 这个是和风天气的API key,替换成你自己的就行
API_KEY ='你的API_KEY'
# 返回某日是星期几
defthe_day(num):
week =['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
returnweek[num]
defmain(wf):
url ='https://free-api.heweather.com/x3/weather?cityid=CN&key='+API_KEY
# 这里用了deanishe 的框架里面的web模块来请求页面,web模块类似requests库
r =web.get(url=url)
r.raise_for_status()
resp =r.text
data =json.loads(resp)
d =data['HeWeather data service 3.0'][0]
city =d['basic']['city']
# 获取一周内的数据
forn inrange(0,7):
day =d['daily_forecast'][n]
# 把API获取的天气、温度、风力等信息拼接成 alfred条目的标题、副标题
title =city +'t'+the_day(datetime.weekday(datetime.strptime(
day['date'],'%Y-%m-%d')))+'t'+day['cond']['txt_d']
subtitle ='白天 {weather_day}|'
'夜间 {weather_night} |'
' {tmp_low}~{tmp_high}摄氏度|'
' {wind_dir} {wind_sc}'.format(
weather_day=day['cond']['txt_d'],
weather_night=day['cond']['txt_n'],
tmp_high=day['tmp']['max'],
tmp_low=day['tmp']['min'],
wind_sc=day['wind']['sc'],
wind_dir=day['wind']['dir']
# 向alfred添加条目,传标题、副标题、图片路径(图片直接用的和风天气提供的天气图,每个图片的命名对应天气状态码)
wf.add_item(title=title,subtitle=subtitle,
icon='images/{code}.png'.format(code=day['cond']['code_d']))
wf.send_feedback()
if__name__ =='__main__':
wf =Workflow()
sys.exit(wf.run(main))
5.天气的 icon 放在 workflow 所在的文件夹 6.给你的 workflow 添加一个版本文件
7.在 Alfred 中调试 workflow
代码不完善的地方欢迎留言讨论,如果您觉得这篇文章对您有帮助请点个赞哟。
题图:pexels,CC0 授权。
点击阅读原文,查看更多 Python 教程和资源。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点1,337被浏览140,040分享邀请回答&?xml version="1.0"?&
&item uid="1." arg="工作流 ['wə:k,fləu]" valid="yes" autocomplete=""&
&title&工作流 ['wə:k,fləu]&/title&
&subtitle&翻译结果&/subtitle&
&icon&icon.png&/icon&
&item uid="1." arg="n. 工作流,工作流程" valid="yes" autocomplete=""&
&title&n. 工作流,工作流程&/title&
&subtitle&简明释义&/subtitle&
&icon&icon.png&/icon&
&item uid="2." arg="工作流, 工作流技术, 工作流程" valid="yes" autocomplete=""&
&title&工作流, 工作流技术, 工作流程&/title&
&subtitle&网络释义:Workflow&/subtitle&
&icon&icon.png&/icon&
&item uid="3." arg="工作流管理, 流程管理, 工作流程管理" valid="yes" autocomplete=""&
&title&工作流管理, 流程管理, 工作流程管理&/title&
&subtitle&网络释义:workflow management&/subtitle&
&icon&icon.png&/icon&
&item uid="4." arg="工作流程动作, 工作流程操作, 工作流操作" valid="yes" autocomplete=""&
&title&工作流程动作, 工作流程操作, 工作流操作&/title&
&subtitle&网络释义:workflow action&/subtitle&
&icon&icon.png&/icon&
因为中文字符有转码,所以看起来有点像乱码:( ,这里跟微信公众帐号的工作方式很想吧。Actions对应选中项后执行的操作,比如在我的Proxy Toggle中,用户执行全局代理切换的工作脚本就写在actions中。Outputs一般用于显示操作的结果,提示操作成功与否,以Post Notification较为常见,通过Mac的notification center提示。以有道翻译为例,workflow中各部分示意图如下:至于调试,貌似也用不到什么技巧,我都是测过脚本语法没问题后直接在本机上执行。希望以上能对想入门的同学有帮助,这里有我自己写或修改过的几个workflow ,都是比较简单的。我觉得workflow实现复杂与否不重要,关键在于使用频繁,是否能提高效率。关键还是多实践,了解workflow工作方式之后,写workflow也就跟开发其他脚本一样了。10410 条评论分享收藏感谢收起bash, zsh, PHP, Ruby, Python, Perl, Apple Script
只要开发者会使用上面任意的语言,就可以开始编写 Alfred Workflow 了。为了方便开发者了解Workflow 的运行机制,官方在 App 中内置了很多 范例:有了这些 Examples 就能了解到 Workflow 的运行机制和书写方法。总的来说,多看看其他 Workflow 的源码(都是开源的,大部分Github上有托管),就可以快速上手,开始行动吧。PS1:所有已经提交到 List 里的 Workflow 源码都可以在 Github 里查到:PS2:官方的论坛里,全球的开发者和用户都很活跃,如果你是普通用户,也可以把你的好 idea 发出来,很多开发者顺手就给做出来了。815 条评论分享收藏感谢收起

我要回帖

更多关于 workflow有安卓版吗 的文章

 

随机推荐