Googleマップのルート検索結果をカレンダーに追加するサービスメニュー

iOS 版の Google Maps アプリは電車やバスを使う場合のルート検索結果の詳細表示画面で、再下方にスクロールすると「カレンダーに追加」ボタンがありカレンダーアプリに予定を追加することができますが、MacOS のブラウザを使った場合に同じことができないものかと模索した結果、Automator でサービスメニューに追加するべくワークフローを作成することにしました。ファイルは Dropbox に置いたのでご自由にお使いください。

GMapルート検索結果をカレンダーに追加.workflow

使い方は、

  1. ダウンロード後、ZIP 解凍してダブルクリックをするとサービスインストーラーのダイアログが表示されるのでインストールボタンを押してください。
  2. ルート検索の詳細を表示した画面で、サービス>GMapルート検索結果をカレンダーに追加をメニューから選択してください。現在、Safari と Chrome のみ対応しています。

    電車/バスルート検索の詳細画面以外でサービスを実行するとエラーを返します。

  3. カレンダーアプリが前面に来て一覧を表示するので、予定を入れるカレンダー名を選択して OK を押してください。
  4. 予定の内容は、可能な限り iOS 版に近いものにしました。日跨ぎの予定に対応し、出発/到着時間の指定により一週間内で日付を判定して追加するようにしました。

出発/到着時間の設定にカレンダーで選択ができるにも関わらずその指定日へ予定が追加できないのは、グーグルが電車やバスの運行状況を曜日毎でのみデータを保持しているからなのか、検索結果に曜日しか表示されないという理由があります。AppleScript のソースコードは最初の手順で Automator で開くと見ることができるので、改変などご自由にどうぞ。

技術的な余談で言うと、Yosemite から利用できる JavaScript for Automation (JXA) での記述も検討したのですが、2つのブラウザの処理の違いとコード量、結局 JavaScript で DOM 操作をすることなどを考えると従来の方法になってしまいました。

参考:

ChromeからSafariで開くサービスメニュー

Google リーダーの終了に伴って Feedly へ移行することにしたのだけど、元々このサービスは Google Chrome の機能拡張を主に構築されていたことや、OS X のアップグレードを前に Safari が大分もっさりしていることなどから、開発用途でもあるデフォルトブラウザを Safari にしつつもニュースリーダーとして Google Chrome を使う事にした。ところがページロールがあり広告だらけな長めの読み物を見る時にはどうしても Safari のリーダー機能を使いたくなる時があって、いちいちアドレスバーの文字列をコピペして移動するのは面倒なので表題のものを Automator で作る事にした。

作るのは至って簡単な数分の作業です。

  1. Automator を起動し、ファイル>新規>サービス というメニューコマンドをクリックしたら選択ボタンを押します。
  2. “サービス”は、次の項目を受け取ります:入力なし/検索対象:Google Chrome.app とします。
  3. 左側のパネルにある “AppleScript を実行” というアクションを右側のパネルにドロップし gist:5575774 をコピペします。
  4. “Safariで開く”というような適当な名前を付けて保存します。(保存先と拡張子は Automator にお任せ)

そうすると、Google Chrome を前面に持ってきた際に「Chrome>サービス>Safariで開く」というメニューコマンドが確認できるようになります。(本来は副クリックでも表示できれば良いのですが、Google Chrome がその機能を書き換えてしまっているのでちょっと不便ですねえ。)

加えて参考リンクにも解説されているように、各サービスには独自のショートカットキーを割り当てられるので「>システム環境設定>キーボード>サービス」と進み、スクロール下方の一般カテゴリに先ほど作成したサービス名が見えると思うので他と衝突しないキーの組み合わせを割り当てます。例では「コマンド+シフト+O」としていますが、ドックにウィンドウが入ってた場合に隠し機能でもあるゆっくりとしたアニメーション効果がイラッとする場合があるのでシフトキーを使わないようにすると良いかと思います。(このスローアニメーションをオフにする方法は現在無いようで…)

スクリーンショット 2013-06-29 4.39.44

そうしてる内にもこんな知らせを受けて、ジェスチャーにもキーにも対応している Reeder へ戻る羽目になりそうな予感です。

参考:

選択部分から新規メモを作成サービスメニュー for Mountain Lion

以前作成していた「選択部分から新規メモを作成サービスメニュー」が Mountain Lion になってから Notes(日本名「メモ」)アプリの登場と、ダウンロードしたアプリケーションの実行を許可する「セキュリティとプライバシー」環境設定という2つの仕様変更から問題があったので更新しました。

ダウンロード:選択部分から新規メモを作成.workflow

OS X 10.8 上のインストール手順:

  1. ZIPファイルをクリックして解凍
  2. コントロールキーを押しながら解凍後にできたワークフローファイルをクリック
  3. ダイアログに従ってインストールボタンをクリック

最後にインストールを初期状態の環境設定で検証していて分かったのは、まず次のような警告が立ち上がったので、

「環境設定>セキュリティとプライバシー>一般>アプリケーションの実行許可」のラジオボタンを「すべてのアプリケーションを許可」に選択したところ次のような警告で教えて頂いた次第。(結局ラジオボタンは元に戻した)

使い方で前版と異なる点は、アカウントを途中で選択する必要があることと作成したメモの件名が「新規メモ」となってしまうことで、前者はデフォルトアカウントを取得するプロパティが現時点で与えられていないことと、後者は件名を入力するダイアログを出しても良いのだけどその後編集して一行目が件名に割り当てられることを考えて敢えて機能を無視したという経緯です。

これでまたレシピサイトなどからメモをガンガン構築できるようになりました。楽しいメモライフを!

参考:

Automatorでウェブアプリを作る

前の投稿で次のように Safari ブラウザのフルスクリーン機能の是非とウェブアプリの扱いについて懸念していたんだけど、全くの杞憂に終わってしまったことが早速分かった。

それでも問題も幾つかあって、iPhoto をフルスクリーンにして違う操作スペースで作業している時に iOS 機器を接続するとその操作スペースに割り込んで固まってしまうことや、今後ウェブアプリを常用/常駐させる機会が増えてくることが予想されるのだけど、そうすると Safari ブラウザをフルスクリーンにして操作スペースを作ると手順3にある「アプリケーションの切り替えで、アプリケーションウィンドウが開いている操作スペースに移動」設定が有効にならない。前者は単にバグだとしても、後者は Safari ブラウザにフルスクリーン機能は不要なんじゃないかなあ、と思ったり、Apple が今後どう折り合いを付けてくるのか、どのような使い方を提唱してくるのか、(さほど期待はしないけどw)楽しみでもある。

引用元: hkitago software development » SpacesからMission Controlへ移行する.

こうなると Dashboard の役割が分担され、Mission Control に統合された経緯も明確に見えてくる。iOS のバグについて Apple とやり取りしてた時は「こいつらアホか!」と思っていたんだけど、やっぱりずっと上を行ってたね。開発に精進します。 😉

プレーンテキストでコピーする

WordPress でも Tumblr でも、最近のリッチテキスト(ビジュアルとも言う)に対応している入力フォームがあると、選択している部分の文字スタイルを破棄して複製したい場合がある。そこで「プレーンテキストでコピー」するサービスを Automator で作る事にした。

コード:

try
  set the clipboard to «class ktxt» of ((the clipboard as text) as record)
on error
  set theRTF to the clipboard as «class RTF »
end try

ダウンロード:プレーンテキストでコピー.workflow

使い方:
~/ユーザ名/ライブラリ/Services/にダウンロードしたファイルを置いてください。

文字を選択しつつ副クリック(右クリックや二本指ジェスチャ)で呼び出してください。ペーストすると文字のスタイルが無くなっているのが分かります。 😀

iPhoto 11でメール送信

iPhoto 11でメールの送信方法が変わったということをツイートしてたのだけど、子供が通う保育園に掲示してあるような印刷物を撮影して妻に連絡するといった場合に、送る写真の大きさが「適切な」と「実際の」という二通りの選択肢しかなく視覚的に難があったり、わざわざ装飾された過度に大きなデータにする必要もないということに気が付いてきた。

写真をEメールで送る時は、メールアプリケーションと写真フォルダの間を行ったり来たりして、ちょっと面倒。iPhotoなら、そんな手間はいりません。

引用元: アップル – iPhoto – 新しいフルスクリーンビュー、写真つきのEメールなど、様々な新機能。.

開発元はこのように広告しているのだけど、cc: や bcc: を追加したり、他のメールアプリで送信したいという需要もあるようで、前バージョンのように(任意の)メーラーを起動して写真データを渡す方法が “Apple – Support – Discussions – iPhoto 11: A new way to use the old …” に投稿されていた。具体的には、Automator を使ってサービスメニューを次の手順で作る。

  1. Automator.app を起動する。
  2. 「ファイル>新規」メニューの選択後、下りてくるモーダルボックスで「サービス」を選択する。
  3. ウィンドウ右側のパネルの「”サービスは、次の項目を受け取ります:”」のプルダウンで「入力なし」、「検索対象:」を「iPhoto.app」 を選択する。
  4. 「選択された iPhoto 項目を取得」アクションを追加する。
  5. 「新規メールメッセージ」アクションを追加する。
  6. 「最前面のメッセージに添付ファイルを追加」アクションを追加する。
  7. 名前を付けて保存する。

そうするとワークフローファイルが “~/ライブラリ/Services/” に保存され、iPhoto を起動した状態で「iPhoto>サービス」メニューを選択することができるようになる。

You can resize the Photos using the option at lower right of the Mail window:

引用元: Apple – Support – Discussions – iPhoto 11: A new way to use the old ….

うまく使い分けて使いたい。

P.S. 共有方法を見てもG社よりF社と仲良くしたいんだろうなあ…。Y社は眼中にないか。;-)

更新(12/22):Apple が 9.1.1 (527) のアップデートで外部のメールアプリを設定できるようにした。スタイル付きのメールとどちらも使いたいと言う場合を除いて環境設定しておくのが良いと思う。

選択部分から新規メモを作成サービスメニュー

次の様な記事を読んで Snow Leopard 標準のメモ(英語名は Notes)がなく可哀想な気もしたので、Evernote の良さであるコンテキストメニューから文書を作成する方法をメモに適応する方法を考えてみた。

タスクとメモ。あなたはふだん、どこに書き付けていますか? 付箋ですか? MOLESKINEですか? RTMですか? Evernote ですか? スティッキーですか? Googleカレンダーですか?

引用元: ただ1つのツールと心中するべし! – ライフハック心理学.

ところがコンテキストメニューについては、(愛用している OpenMenu X にも言えるのだが)将来この機能は無くなる見通しが強いらしい。

Snow Leopard において、コンテキストメニュープラグインの代替は拡張されたサービスメニューになります。

引用元: Mac OS X 用コンテキストメニュープラグイン.

そこで一手間増える事になってしまうが、Hint: Create new mail or mail note with selected text – Mac Forums を参考に日本語部分を次の様に書き換えて「選択部分から新規メモを作成」という名前の workflow 文書で保存した。

click the menu item "新規メモ" of the menu "ファイル" of menu bar 1
click the menu item "ペースト" of the menu "編集" of menu bar 1


文字スタイルを保持できないのは少し残念な反面、起動の速さを考えると iPhone ではメモを使う頻度が高く、またメモを階層化して保存する必要を感じないのは、いつまで経っても整理や計画化がされていない証拠のような気もするので、一先ずこれで Evernote と併用してみることにした。

Autometor マンドクサ(´A`)という方は、サーバに置いた 選択部分から新規メモを作成.workflow をダウンロードした後にできる “新規メモを作成.workflow” ファイルを ~/ライブラリ/Services に置いて(以下更新参照)お使いくださいませ。

AppleScript を拡張してコマンド+数字で呼び出せる Safari のブックマーレットと連携するのも面白いかもしれないと思った。

更新(2012/4/10):環境を移行して気が付いたのだけど、(10.7 Lion からかな?)workflow ファイルをダブルクリック|タップで開くと次のようなダイアログが登場してインストールが可能になった。逆に先に説明していたような ~/ライブラリ/Services に置いただけではコンテキストメニューで認識しなくなったのでご注意ください。