熟悉苹果系统的用户大都知道在每个应用程序主菜单下,都有一个「服务」菜单,如下图所示:
在雪豹(Mac OS X 10.6)之前的系统中,服务菜单往往被用户所忽视,多数人甚至不知道究竟该菜单究竟有什么用处。
而从雪豹开始,苹果重新定义了「服务」在系统中的概念,简单的说,就是根据应用程序上下文判断用户所需的服务,例如当你选择了一张图片文件时,则出现图片相关的服务,如旋转,裁剪,转换成其他格式等。
如图:
同时,新的「服务」允许用户扩展程序并未集成的功能,也可以下载他人制作的「服务」来免去重复性的工作,并不需要,或者只需要少量的编程知识。
例如,当你选择了一段文本时,会出现文本相关的服务,如翻译,发送文本至某人,或者是让系统朗读该文本等。但是系统本身只带有英文辞典,虽然可以通过第三方辞典库扩充,但是至今没有找到满意的能够发声的汉英辞典,又鉴于本人喜欢 Dict.cn 翻译的结果,于是就有了这个服务:
或者选取文本后点击右键:
这个服务的功能十分简单,dict.cn 的查询形式是 http://dict.cn/***.htm,其中「***」代表你所查询的单词或者短语,当我点击「Dict.cn翻译」 以后,系统就会打开新的浏览器页面并跳转到所查询的词条。虽然不如第三方开发者提供的服务那样智能,但是也省去了很多繁琐的操作(开浏览器,键入地址,查询单词之类的)。
制作的方法十分简单,基本的思路是提取当前选中的文字,并将该文字串到「http://dict.cn/***.htm」这样的 URL 中,然后在浏览器里打开这个 URL。
◎首先,启动系统自带的Auto机器人(Automator),选择文件类型(这里选服务),接着点击「提取」。
◎然后在这一栏里选择服务接受选定的对象类型,可选的有图片,URL,地址,电话号码,电子邮件地址等等。在这里,我们选择「文本」,这样,在选定某个单词时候,相应的菜单才会显示出来。
另外还可以指定是否只在某个应用程序中启用该功能,这里我们选择「任何应用程序」。
接收的文本会以变量的形式传递到下一个工作流程中,这里我们将该文本传递到Shell脚本中,并运行 echo "http://dict.cn/$1.htm" 命令,这里的"$1"会自动替换成所传入的第一个参数,也就是所选取的文本。
◎从左侧资源库窗口的「实用工具」下找到「运行Shell脚本」的操作选项(也可以直接搜索Shell),并拖到右边的工作流程中
◎找到「显示网页」并拖到工作流程中。
到此工作就完成啦。 :D 将文件保存为你想要的名字,该名字就会显示在服务菜单中。也可以把这个文件发送给别人,或者提供下载,那么其他用户就可以使用相同的功能了。
Auto机器人除了本身提供的许多系统功能以外,还支持的语言十分广泛,除了自家的 AppleScript、Objective-C 以外,还支持所有主流的脚本语言,配合 Xcode 还能够用利用 C、C++、Java 等编程语言做出专业级的应用。
其实开头所演示的关于图片的操作,也都是从苹果官方网站下载下来的,这里还有一些很酷的应用:
Bit.ly 缩短网址:可以把文本内的长 URL 替换成缩短后的网址:
替换前:
替换后:
批量修改文件名(不用借助第三方程序了):
http://macosxautomation.com/ 是一个专门搜集 Services 的英文网站,感兴趣的同学可以去下载试用 :D
目前应用还不多,希望不久以后可以看到更多有趣的应用 :D