TwitterのScreen nameとUser IDを相互変換できるAlfred Workflow


こんにちは、いつも書いている川田じゃない方です。
最近の趣味はAlfred Workflowで日々のちょっとした問題を解決することです。

Twitter系のアプリ開発をしているとScreenName(@が付くもの)とUserID(64bitの整数)を相互に参照したいことがあります。今までは相互変換するWebサービスを使っていたのですが、いちいちブラウザ開いて検索するのがわずらわしくなってきたのでAlfred Workflowを作りました。

ScreenNameからUserIDへの変換、UserIDからScreenNameへの変換ができます。

preview

Github
Download – TwitterUserConverter.alfredworkflow

Alfred Workflowで多重で発生したScriptの実行をキャンセルする方法

今回のWorkflowはTwitterのAPIを利用していないのでリクエスト時間が2秒未満くらいかかります。テンプレからWorkflowを作った場合、初期設定では入力した時点で即Scriptが実行(キューイング)されるので、1文字入力されるごとにリクエストが発生し最終的な結果の表示が遅い(リクエストが順次実行され結果が次々反映される)という問題がありました。

通常ならプログラム側でまだ完了していない前回のリクエストをキャンセルするなどが考えられますが、Alfredの場合は設定でScriptの実行をキャンセルや遅延させることができます。

Workflowをダブルクリック -> Script Behaviour -> Queue Mode, Queue Delay

alfred_preferences

alfred_queue

今回はQueue ModeTerminate previous scriptにして、新たにScriptがキューイングされるときに前回のScriptが実行中だったら終了させることにしました。