Freedom

淡泊以明志,宁静以致远。

Auto Open Browser After Copy URL

前段时间看过一篇叫 Automate Everyday Tasks 的博客,其中的一些见解很有意思,我们日常工作中有很多细小但是重复的事情,如果能够将某些工作自动完成,会让生活更加舒适。我很喜欢 Mac 上一个叫 PopClip 的小 app,可以大大减少很多重复的操作。这篇博客就是介绍如何制作一个 app,当复制 URL 时自动在浏览器中打开。

有了这个想法之后我先去找找看是否有类似的软件,但已有的剪贴板管理工具都没有这样的功能。于是决定自己动手做,因为没有开发 Mac app 的经验,首先想到的就是利用 Automator 来实现,可惜 Automator 不支持后台运行。经过搜索 StackExchange 上的一个问题给了我思路:用 AppleScript 来做。

AppleScript 程序

打开 AppleScript Editor,输入以下代码,代码大意是每隔 1 秒判断剪贴板内容是否为 URL,如果是就在浏览器中打开。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
property oldValue : missing value

on idle
    local newValue
    set newValue to the clipboard
    if oldValue is not equal to newValue then
        try
            if newValue starts with "http://" or newValue starts with "https://" then
                do shell script "open " & newValue
            end if
        end try
        set oldValue to newValue
    end if
    return 1
end idle

保存,「File Format」选「Application」,勾选「Stay open after run handler」。

设置后台运行

AppleScript 程序运行时会在 Dock 上显示一个图标,我们需要隐藏这个图标。

增加一个新的 key「Application is background only」,value 为「YES」。

设置登录自动启动

在 System Preferences → Users & Groups → Login Items 中添加刚才创建的 app,并设置为 hide 模式。

Comments