ChromeからSafariのリーディングリストへ
2012年8月4日 Leave a comment
Macbook Air購入以来、改めてSafariの魅力発見中。Safariのリーディングリストはそもそもあまり使ったことがなかったのですが、そのシンプルさが好きになりつつあります。
ChromeからSafariに送りたい
でも、ふだんブラウザはSafariとChromeを併用しています。読みかけの記事を、SafariだけでなくChromeからもリーディングリストに送ることができればいいのに……!
いろいろ検索してみて、基本である「アドレス選択してメニューバーの『サービス』から『リーディングリストに追加』」というのも試してみました。が、うまくいく時といかない時があります。アドレスバーのurlがhttpから始まっていないとダメなのかなーとも思いますが、だったらどうすれば、というのが分からない(設定でどうにかなるんでしょうか?)。
そんな時はAppleScript
そんなとき見つけたのがこのページ。
Put the current Chrome URL in your Safari reading list :: dot unplanned
正確にいえば、このページのコメントにあるAppleScript(Put the current Chrome URL in your Safari reading list :: dot unplanned)。
tell application "Google Chrome" set myURL to get URL of active tab of first window set myTitle to get title of active tab of first window end tell tell application "Safari" to add reading list item myURL with title myTitle
上記の「おまじない」を、AppleScriptエディタでアプリとしてどこかへ保存します。
ChromeからSafariのリーディングリストに送りたい記事を見つけた時に、そのアプリを起動すると……リーディングリストにちゃんと追加されてます。これこそまさにわたしが求めていたもの。Chromeでリーディングリストを見ることこそできませんが、一元化できるし、動作も早いし正確です。
しかし欲を言えば、リーディングリストに送ったChromeのタブはすぱっと閉じてもらいたい。もう、「後で読む」として送ったんですしね。
タブを閉じる改良
タブタブタブ……と、「ChromeからSafariヘ送ってそのタブは閉じる」の、「そのタブを閉じる」を実現するために、上記スクリプトをしばらくにらんだあげく、次のページを見てヒントを得ました。
- AppleScript : Safari でウィンドウを開き、そのウィンドウを閉じる – GameSprit
- AS Hole(AppleScriptの穴) By Piyomaru Software » Google Chrome, Chromium
それで、なんとか改良してみました。
tell application "Google Chrome" set myURL to get URL of active tab of first window set myTitle to get title of active tab of first window tell active tab of first window to close end tell tell application "Safari" to add reading list item myURL with title myTitle
はっきり言って「4行目を追加しただけ」です。この1行にたどりつくにも紆余曲折ありました。
このスクリプトをアプリにして、再度挑戦。すると、うまくいきました! Chromeで、あるページを開いている時に実行すると、そのページがぱっと閉じ、Safariではリーディングリストにそのページが追加されます。
ついでにもう一工夫
では、このちっちゃなアプリを簡単に起動するにはどうするか。
そこは、NulanaのLauncherというソフトで解決します。
Chromeで開いているページを後で読みたいと思ったら、Launcherをショートカットで呼び出し、先ほどのアプリを呼び出してリターンで実行します。
*「save_chrome_url」という名前にしました。
どうでしょう? うまく行きましたか?
最初のAppleScriptを示唆してくれたコメントに感謝。でも「こんなもの、とっくにやってるわ〜。」という方もいるかも。そんな場合にはご勘弁を。
「後で読む」サービスは、「Instapaper」から「Pocket(Read It Later)」へと乗り換えてきたのですが、「Pocket」にはそれなりの不満があって、代替サービスを模索中です。これでリーディングリストも十分立派な候補になりました。