こんにちは、いつも書いている川田じゃない方です。
最近の趣味はAlfred Workflowで日々のちょっとした問題を解決することです。
Twitter系のアプリ開発をしているとScreenName
(@が付くもの)とUserID
(64bitの整数)を相互に参照したいことがあります。今までは相互変換するWebサービスを使っていたのですが、いちいちブラウザ開いて検索するのがわずらわしくなってきたのでAlfred Workflowを作りました。
ScreenName
からUserID
への変換、UserID
からScreenName
への変換ができます。
Github
Download – TwitterUserConverter.alfredworkflow
Alfred Workflowで多重で発生したScriptの実行をキャンセルする方法
今回のWorkflowはTwitterのAPIを利用していないのでリクエスト時間が2秒未満くらいかかります。テンプレからWorkflowを作った場合、初期設定では入力した時点で即Scriptが実行(キューイング)されるので、1文字入力されるごとにリクエストが発生し最終的な結果の表示が遅い(リクエストが順次実行され結果が次々反映される)という問題がありました。
通常ならプログラム側でまだ完了していない前回のリクエストをキャンセルするなどが考えられますが、Alfredの場合は設定でScriptの実行をキャンセルや遅延させることができます。
Workflowをダブルクリック
-> Script Behaviour
-> Queue Mode
, Queue Delay
今回はQueue Mode
をTerminate previous script
にして、新たにScriptがキューイングされるときに前回のScriptが実行中だったら終了させることにしました。