Dropzone 3って?
Dropzone 3はAptonic Software社から販売されているMacのドラッグ&ドロップ拡張ソフトウェアです.
10ドルの有料ソフトですが試用期間15日の試用版もあります.
これを導入するとドラッグしたファイルをメニューバーに「仮置き」したり,特定のアプリで開いたりできるようになります.
この仮置き機能はDragonDropやYoinkに近いものです.
それらと比べてDropzoneが便利な点は,ドラッグしたファイルにまとめて適用する「アクション」をユーザが自作できることです.私は
- 複数のファイルにまとめて接頭辞・接尾辞を付す
- ファイルの形式を変換する(PDF→EPS等)
- 特定のフォルダにファイルをコピーする
といった使い方をしています.この「アクション」はrubyあるいはpythonで作成することができ.アクションの作り方はGitHubのリポジトリで詳しく説明されています.ただ.この公式ドキュメントにpython用の例がなかったのと,自分用の覚え書きのために,以下にアクションの作り方とテンプレートを載せておきます.
アクションの作り方
まずアクションの作り方なのですが,Dropzoneウィンドウの左上の+マークを押すと出てくるポップアップよりDeverop Action...を選択.
そうすると以下のようなウィンドウで設定を促されるので,適当に入力します.
設定項目は以下の通り.
- Name, Description, Creator, URL: それぞれアクション名,説明,作成者,作成者のウェブページです.作成されるコードのヘッダーにコメントとして書かれることになります.
- Language: rubyかpythonより選べます.
- Supported Events: ドラッグで起動するか,クリックで起動するか,あるいはその両方で起動するかを選べます.基本的にDropzoneではドラッグで起動するアクションを作ることになるかと思います.ただ,クリックで起動(Clicks)のチェックを外すとアクションのアイコンが薄い色で描画される様になって見た目が嫌なので,私はクリックにも何らかの機能をもたせることが多いです.
- Supported Types: ファイルだけでなく,選択したテキストをドラッグ&ドロップしてアクションを起動することもできます.
- Runs Sandboxed: OS Xのサンドボックス化を有効にします.Macの重要なシステムコンポーネント等をいじれなくなります.基本的に有効でOKです.
- Include Commants: アクションのコード中に,アクションの書き方について丁寧な英語コメントが付きます.最初のアクションを作るときだけチェックしておけばよいかも.
Dropzone 3 のPython版自作アクションテンプレート
上記の設定を終えるとエディタが起動してアクションが編集できるようになります.
pythonだと以下のようにすると良い感じになります.
def dragged():
dz.begin("Begin") # プログレスバーを開始
dz.determinate(True) # dz.percentによる進捗状況の逐次報告を有効化
num = len(items)
for i, item in enumerate(items): # 複数ファイルがドロップされた場合のためのループ
pass # ここで何かする
dz.percent(100 * i / num) # 進捗状況をパーセントで報告.プログレスバーに反映される.
dz.finish("Finish") # "Macの通知センターに"終了を通知
dz.url(False) # プログレスバーを消去
def clicked():
pass # ここで何かする
注意すべき点として,クリップボードにURLを転送するdz.url
が何故かプログレスバーを終了する役割も担っているので,URLを使わない場合でもdz.url(False)
を呼び出しておく必要があります.
おわりに
普段ターミナルだけで作業している方には無用かもしれませんが,マウスでファイルを移動することがよくある場合にはDropzone 3はとても便利なソフトです.この記事がアクション作成のなにかの参考になれば幸い.