jFD2 - スクリプト

jFD2 : スクリプト / Tips /本家

jFD2で動作するgroovyスクリプト配布ページです。使用は自己責任でお願いします。
  ・なんちゃってキーカスタマイズ(2009/11/17)
  ・長いファイル名を全部見る(2009/6/5)
  ・長いファイル名でも拡張子を表示する(2009/6/5)
  ・ファイル名一括変更
  ・ディレクトリサイズ計算
  ・拡張子連動
  ・ショートカット(.lnk)作成
  ・フォーカス制御
  ・個別圧縮(zipコマンド使用)
  ・ショートカットをショートカット
  ・ディレクトリ履歴一覧
  ・横に2枚表示する漫画ビューア
  ・クイックマスク
  ・クイックサーチをマスクに変更

今後作りたいもの
  ・とりあえず欲しい機能は全部作った感じ

ボツになったスクリプト。サンプルにはなるので置いておきます
  ・(旧)拡張子連動
  ・(javaだけで)ショートカット(.lnk)作成

 



■なんちゃってキーカスタマイズ download
・2010/03/19 複数キー同時押しの設定がでたらめだったので修正しました
・2009/11/24 altキーの扱いがでたらめだったので修正しました

○効能
 ・なんとなくキーカスタマイズが出来るようになった気がします

○使い方
 ・スクリプトを起動して、設定してからOK押してください
 ・.jfd2_user/conf/keys.xml を上書きします。手動で設定している人は気をつけてください
 ・2回目以降は上書き確認してきますので、前の設定を上書きしてよいなら「はい」を押してください
 ・設定後、jfd2を再起動してください。再起動後に内容が反映されます。
 ・再起動前にもう一回このスクリプトを実行しても、修正前の情報が表示されます。

○キー設定の戻し方
 ・.jfd2_user/conf/keys.xml を削除してください。
 ・.jfd2_userディレクトリはWindowsなら c:\Document and Settings\<ユーザ名>\Application Data\Nullfish\jFD2 にあります。Windows以外を使ってる人は察してください。

○注意点
・おそらくバージョン1.00以降でないと動きません。beta18くらいでも動くと思うけど。
 ・一部の設定は「機能なし」にしても機能なしにならないと思います。対応方法はあるけどめんどくさいので放置。聞いてくれたらやりかたをお教えします。
 ・テンキーとか漢字キーは適当です。だって家には HappyHackingKeyboard (US) しかないしテストできない>・・・
 ・記号も結構適当です。間違ってたら教えてください。説明よりもキー検索のほうが正確です。
 ・ダブルクォートなど、shiftキーを押しながらじゃないと出ない文字に機能は割り当てられません。
・上記が割り当てられないのはjfd2の仕様です。どうしてもやりたい場合は作者さんに頼んで文字の場合はgetKeyCode()じゃなくてgetKeyChar()で判定してもらうように頼み込みましょう。

○仕組み
・起動時にjFD2内部で持っているキー設定を読み込んで画面に表示します。
・終了時に設定された内容を.jfd2_user/conf/keys.xmlに全部出力します
・.jfd2/conf/keys.xmlの内容を空で上書きできないけど放置。自分はdummyの空コマンド作って使ってますが・・・

○画面イメージ

 


■長いファイル名を全部見る download
長いファイル名全体をタブの下辺りに一定時間表示します。
数秒待つか、カーソル動かすと消えます。

画面イメージ

 


■長いファイル名でも拡張子を表示する download
ファイル名が全て表示されない場合、末尾が...になりますが、
本スクリプトを実行すると...txt と...の後に拡張子を表示します。
・使い方
  - スクリプトを実行する
  - スクリプト実行時に開いていたタブ全てが対象
  - jfd2再起動するまで元に戻りません

画面イメージ


 


■ファイル名の一括変更(正規表現対応) download
jFD2のファイル名一括変更はファイル名の一部だけを変更できないので作成しました。
正規表現も使えます。括弧を使った$1とかも一応使えるような?

swingの練習も兼ねたのでボーダーとか凝ってます

画面イメージ


 


■ディレクトリサイズ計算 download
カーソル下かマークファイルのディレクトリファイル合計サイズを出力します。
仕組みはよくわからんが結構早い。

画面イメージ


 


■拡張子連動 download
拡張子ごとのプログラムをファイル内に書いておくと
実行時に拡張子連動みたいに動作します。
$Fとかは外部コマンド実行と同じ物が使えます。

本当はaltを使わないワンキーで動けばいいんですが、そういうコマンドは無いようです。
自作した外部コマンド実行クラスを本家に取り込んでもらえるまでは、外部コマンドに登録して使ってくださいな。

コマンドの書き方は以下を参考にして下さい。ファイル内に書きます。

// groovyの文字列エスケープの仕様により、\ → \\ , $ → \$ と書かなければいけません。
// コマンド部分にスペースが含まれる場合はダブルクォートで囲む
def commandsStr = [
//['拡張子', (SHELL|SCRIPT|SCRIPT_FILE), 'command/scrip/file', '作業ディレクトリ/Script Fileの文字コード', シェルを使うならtrue],
['txt', SHELL, '"c:\\Program Files\\editor\\editor.exe" \$F \$R', '', true],
['xml', SCRIPT_FILE, 'ディレクトリサイズ計算.groovy', 'UTF-8', true], // スクリプトファイルの場合は文字コードを指定
]


 


■ショートカット(.lnk)作成 download
選択したファイルのWindowsショートカット(.lnk)を作成します。

zip内のgroovyとvbsをjfd2のスクリプトフォルダに入れて実行してください。
vbsはショートカット作成するVBScriptです。(なのでWindowsでしか動かない)


 


■フォーカス制御 download
コピー状態表示ウィンドウとかにフォーカスを奪われないようにするのと
どこに出るかわからないウィンドウをjFD2の左下に固定させます。
左下以外にも固定出来ますが、中をみて適当に修正してみてください(w

以下のような機能を持ちます。
・jFD2のタブかビューワ以外にフォーカスが有る場合はjFD2のタブにフォーカスを戻す
・Linux等でフォーカスが失われる問題の対応(多分できてる@beta19)
・コンソールウィンドウとプログレスバーウィンドウをjFD2左下に固定
・すでに本スクリプトが起動している場合に実行されると終了して終わる
・スクリプト実行中はjFD2ウィンドウの右下にそれっぽい'ウィンドウを表示。閉じたら終了。
・無理矢理フォーカスを戻してるので、Unpack等、一部のコマンドは実行中にディレクトリ移動するとエラーが発生します。移動しないようにしましょう。コマンドを実行したタブ以外は変更OKです。

サンプル画像


 


■個別圧縮(zipコマンド使用) download
本家で配ってる個別圧縮.groovyのzipコマンド使用版です
jFD2でzip圧縮すると一部のアプリ(mangameeya等)で書庫内容が空になる現象に出くわしたので作りました
多分使い方とかは本家のと同じだと思うけど、cygwinのzip.exeかUnix系のzipにPATHが通ってないと動きません

groovyを使った外部コマンドの標準入力、標準出力のやりとりの仕方がわかるサンプルにもなってます。


 


■ショートカットをショートカット download
実行すると、登録されたショートカット(ブックーマーク?)の一覧を表示します。
そこから、migemoで検索を行い、1つにまで絞り込めた段階で自動的に絞り込まれたショートカットにジャンプします。
カーソルキー上下で選択してリターンでもOKです。
※スクリプトファイルにチェックボックスの値を保存するので、ファイル名を変えた場合は
 def SCRIPT_NAME = "shortcutcut.groovy"
 の所も変更してください。

使い方のコツは「先頭にのみマッチ」をONにして、ショートカット名の最初を"a,"とか"b,"にしておいて、aとかbを押して決定することです。
スクリプトをキーに割り当てる方法がTipsに載ってるのでそちらも参考に

画面イメージ

 


■ディレクトリ履歴一覧 download
起動したタブのディレクトリ履歴一覧を表示して、migemo検索して移動できます。
検索結果が1件になったら自動的にジャンプするので注意。
カーソルキー上下移動とリターンでもOK

画面はショートカット一覧とほぼ同じなので省略

 


■横に2枚表示する漫画ビューア download
実行すると、内蔵ビューアで画像を2枚横に並べて表示できるようになります。
詳細はファイルの中身参照

[2009/6/5 追記]
・全てのタブを対象に修正。
・画像ファイル以外にカーソルがあっても動くよう修正。

■使い方
  ・とりあえずスクリプトを実行して下さい。
  ・1回実行した後は、再起動するまで強制的に2枚表示になります。
  ・もう一度スクリプトを実行すると、1枚表示に戻ります。(不安定になったらjFD2再起動する方向で・・・)

画面イメージ


 


■クイックマスク download
表示されたダイアログにクイックサーチの要領で文字を打つと
ヒットするファイル以外を非表示にします。
詳細はファイルの中に記述

・機能
  - クイックサーチはカーソルが当該のファイルに移動するが、本スクリプトは該当するファイル以外を一覧から除去します。
  - クイックサーチと同じ要領で使います。
  - マークされているファイルは除去しません。
  - ENTER/ESC/SPACEキーでサーチ終了
  - ENTERキーで終了した場合、カーソル下がディレクトリであればそのディレクトリに移動する(※親ディレクトリ除く)
  - 以下の記号を入力するとサーチ終了。 []{};?/<>@ (※変更したい場合はEND_CHARの正規表現を変更してください)
  - ディレクトリを変更しない限り、2回目以降の検索は前の検索結果から絞り込みます


 


■クイックサーチの代わりに使うクイックマスク download
起動するとクイックサーチ時にマッチしないファイルを一覧から取り除きます。
詳細はファイルの中に記述

■機能
  - クイックサーチはカーソルが当該のファイルに移動するが、本スクリプトは該当するファイル以外を一覧から除去します。
  - クイックサーチと同じ要領で使います。
  - マークされているファイルは除去しません。
  - SPACEキーでもサーチ終了(同時にファイルマークされます)
  - 3秒キー入力がないとクイックサーチを終了します。
  - ディレクトリを変更しない限り、2回目以降の検索は前の検索結果から絞り込みます

 


■(旧)拡張子連動 download
拡張子に連動して実行するコマンドをファイル内ではなく、
jFD2の「外部コマンド」の部分に登録するタイプ。
外部コマンドの「タイトル」に拡張子を記入しておき、一致するものを実行します。
jFD2の登録済み外部コマンドを実行するサンプルになります。


 


■(javaだけで)ショートカット(.lnk)作成 download
このへんからroxes-win32forjava-1.1.1.jarを落としてきてこのスクリプトの所においてやると動く。
groovyで外部のJARを読み込んで実行するサンプルです(w

ただ、JNI(?)を使う関係でsystem32の中にdllを入れないとロックがかかって2回目失敗したりする。
JNI使うくらいならvbsの方が中身も見えて安心っぽい(?)ので新しい方にした

トラックバック(0)

トラックバックURL: http://blog.marupara.dyndns.org/mt5/mt-tb.cgi/3709

コメントする