オプション設定 - イベント
以下のイベントが発生したときに、指定したコマンドを ExeCommands コマンド のパラメータとして実行できます。
設定したいイベントを一覧で選択し、イベント発生時に実行するコマンド にコマンドを設定してください。コマンドは : (コロン)で区切って複数指定できます。
先頭が @ の場合、コマンドファイルの指定になります。なお、右クリックメニューで「コマンド名の参照」が可能です(→ CopyCmdName)。
また、先頭 $ の場合、追加メニューまたは外部ツールで設定されているエイリアスとみなし、その項目を実行します(サブメニューの親項目の場合は、そのサブメニューをポップアップ表示)。
...ボタンを押すとコマンドファイル一覧(選択)画面が表示され、ファイルを参照できます。また、コマンド欄が ExeMenuFile, FileEdit、LoadWorkList、OpenByApp、OpenByWin、TextViewer で始まる場合は、通常のファイル選択が出ます。
コマンドファイルや、ExeMenuFile_ で始まるメニュー定義ファイルを指定した場合、ファイル編集ボタンを押すと、テキストエディタでそのファイルを開けます。
コマンドファイルや、ExeMenuFile、LoadWorkList コマンドの対象ファイルは、NyanFi ディレクトリからの相対指定が可能です。
イベント名で括弧内は、コマンドが実行される画面モード(FL:ファイラー、TV:テキストビュアー、IV:イメージビュアー)です。モードに固有のコマンドを用いる際は注意してください。
検索 欄に文字列を入力して∨/∧ボタン(or ↓/↑キー)を押すと一覧の内容を検索できます。
他の ExeCommands コマンド実行中にイベントが発生した場合、コマンドは実行されません。
ただし、ExeCommands コマンドの最後(Exit は除く)で FindFileDlg、FindFileDirDlg、FindDirDlg、FindHardLink、FindMark、FindTag、MaskFind コマンドが実行されて結果リストが表示された場合には、「検索結果リストが表示された直後(FL)」イベントのコマンドが実行されます。
最初に起動した NyanFi と二重起動したものとで動作を変えたい場合は、If 文 の Primary 条件を用いてください(例: IfNotPrimary_Exit)。
- NyanFi 起動時
- NyanFi 起動時に実行されます。
なお 起動時オプション の -X が指定されていた場合は、そちらが優先されます。 - NyanFi 終了時
- NyanFi 終了時に実行されます。
- ウィンドウが最大化された
- NyanFi のウィンドウが最大化された時に実行されます。
- ウィンドウが最小化された
- NyanFi のウィンドウが最小化された時に実行されます。
- ウィンドウが元のサイズに戻った
- NyanFi のウィンドウが元のサイズに戻った時に実行されます。
- カレントのディレクトリ変更(FL)
- ファイラーで、カレント側のディレクトリを変更したときに実行されます。
なお、特定のディレクトリで表示設定などを変更したい場合は、「.nyanfi ファイルによるファイラー設定」を利用すると便利です。その場合、.nyanfi で Handled=1 が設定されていると、このイベントのコマンドは実行されません。
- 別のタブに移った(FL)
- ファイラーで、別のタブに移ったときに実行されます。
左右のディレクトリが変化した後、「カレントのディレクトリ変更」イベントよりも後に発生します。
例: タブごとに背景画像を変更
LoadBgImage_TabImg%TabNo%.jpg - 追加ドライブが開かれた(FL)
- オプション設定 - 一般 - 監視/更新 の「追加ドライブをカレントに表示」がチェックされている場合、追加ドライブがカレントで開かれたときに実行されます。
メモリカードを挿入した際の、データの自動転送などに便利かもしれません。
- 仮想ディレクトリを開いた直後(FL)
- ファイラーのカレント側で、アーカイブを仮想ディレクトリとして開いた直後に実行されます。
- 仮想ディレクトリを閉じた直後(FL)
- ファイラーのカレント側で、仮想ディレクトリを閉じて通常のファイルリストに戻った直後に実行されます。
- 検索結果リストが表示された直後(FL)
- ファイラーで、各種検索(FindFileDlg、FindFileDirDlg、FindDirDlg、FindHardLink、FindMark、FindTag、MaskFind)の結果リストが表示された直後に実行されます。
- ファイルリストでカーソル移動直後(FL)
- ファイルリストでカーソルを移動した直後に実行されます。
頻繁に発生するので、あまり複雑な処理はしない方がよいでしょう。
- ファイルリストでファイル名主部以外をダブルクリック(FL)
- ファイルリストで、アイコン、ファイル名主部(拡張子は除く)、ディレクトリ名部分以外をダブルクリックしたときに実行されます。
無指定の場合は、オプション設定 - マウス操作 - ファイラーの「ファイルリストでのダブルクリック」で設定されている動作になります。
- ファイルリストで右クリック(FL)
- ファイルリストで右クリックしたときに実行されます。
無指定の場合は、通常のコンテキストメニューが表示されます。コンテキストメニューに項目を追加したい場合は、ContextMenu コマンドでメニュー定義ファイルを指定してください。
- ファイルリストからのドラッグ開始時(FL)
- ファイルリストから項目のドラッグを開始したときに実行されます。
例: 画面を右下方向に縮める
WinPos_L600;T400 - ファイルリストからのドラッグ完了時(FL)
- ファイルリストからのドラッグが完了したときに実行されます。
例: 画面を起動時の状態に戻す
WinPos - 文字列検索(GREP)を開く直前(FL,TV)
- ファイラー、テキストビュアーから文字列検索(GREP)を開く直前に実行されます。
拡張子によって検索ファイルのマスクを設定したいような場合に利用できます。 - 文字列検索(GREP)を閉じた直後(FL)
- 文字列検索(GREP)を閉じて、ファイルリスト表示に戻った直後に実行されます。
- WatchTailコマンドで追記検出
- WatchTail コマンドで監視中ファイルの追記が検出されたときに実行されます。
ExeCommands の定義済み変数 LastWatchLog によって、検出されたファイル名と追記内容を参照できます。
例: コマンドラインメール送信ソフト SMAIL (Eva氏作)を利用した通知メールの送信
;更新内容をメール本文として保存 Set_Buffer=%LastWatchLog% SaveBuffer_%TmpPath%notify.txt ;通知メールを送信 SetExeFile_"D:\prog\smail.exe" SetExeDir_%TmpPath% SetExeOpt_OH SetExeParam_"-i -hsmtp.hoge.com [email protected] -s監視ファイルが更新されました -Fnotify.txt [email protected]" ShellExecute ;実行結果をログに出力 Ins_Buffer<<メール送信完了 Echo_%Buffer%
- FTPホストに接続した(FL)
- FTPホストに接続してファイルリストが更新されたときに実行されます。
- FTPホストから切断した(FL)
- FTPホストから切断したときに実行されます。
- ファイラーのツールバーを右クリック(FL)
- ファイラーのツールバーを右クリックしたときに実行されます。
- タブバーの空きスペースをダブルクリック(FL)
- タブバーの空きスペースをダブルクリックしたときに実行されます。
- タブバーを右クリック(FL)
- タブバーを右クリックしたときに実行されます。
無指定の場合は、タブバーの右クリックメニューが表示されます。
- ディレクトリ情報をダブルクリック(FL)
- ファイルリスト上のディレクトリ情報をダブルクリックしたときに実行されます。
無指定の場合は、ディレクトリの入力欄が出ます(→ InputDir)。
- ディレクトリ情報を右クリック(FL)
- ファイルリスト上のディレクトリ情報を右クリックしたときに実行されます。
無指定の場合は、クリック位置のディレクトリのサブディレクトリを選択するポップアップメニューが出ます(→ SubDirList)。
- ディレクトリ関係をダブルクリック(FL)
- ディレクトリ情報の中央にあるディレクトリ関係部分をダブルクリックしたときに実行されます。
- ディレクトリ関係を右クリック(FL)
- ディレクトリ情報の中央にあるディレクトリ関係部分を右クリックしたときに実行されます。
- ファイルリストのヘッダを右クリック(FL)
- ファイルリストのヘッダを右クリックしたときに実行されます。
- ファイルリストのシンプルスクロールバーを右クリック(FL)
- オプション設定 - デザイン -「スクロールバー」 でシンプルスクロールバーが選択されている場合、ファイルリストのシンプルスクロールバーを右クリックしたときに実行されます。
- ドライブ情報をダブルクリック(FL)
- ファイルリスト下のドライブ情報をダブルクリックしたときに実行されます。
なお、クリックした時点でそのファイルリストがカレントになります。
- ドライブ情報を右クリック(FL)
- ファイルリスト下のドライブ情報を右クリックしたときに実行されます。
なお、クリックした時点でそのファイルリストがカレントになります。
- 左右分割境界線をダブルクリック(FL)
- ファイルリストの左右分割境界線をダブルクリックしたときに実行されます。
- 左右分割境界線を右クリック(FL)
- ファイルリストの左右分割境界線を右クリックしたときに実行されます。
- イメージプレビューをダブルクリック(FL)
- イメージプレビューをダブルクリックしたときに実行されます。
- テキストプレビューをダブルクリック(FL)
- テキストプレビューをダブルクリックしたときに実行されます。
- ファイル情報をダブルクリック(FL)
- ファイル情報をダブルクリックしたときに実行されます。
- タスク表示をダブルクリック
- ログウィンドウ左側のタスク表示部分をダブルクリックしたときに実行されます。
- タスク表示を右クリック
- ログウィンドウ左側のタスク表示部分を右クリックしたときに実行されます。
- ログウィンドウをダブルクリック
- ログウィンドウをダブルクリックしたときに実行されます。
- ステータスバーをダブルクリック
- ステータスバーをダブルクリックしたときに実行されます。
- ステータスバーを右クリック
- ステータスバーを右クリックしたときに実行されます。
- 時計パネルをダブルクリック
- 時計パネルをダブルクリックしたときに実行されます。
- 時計パネルを右クリック
- 時計パネルを右クリックしたときに実行されます。
- テキストビュアーを開く直前(FL)
- テキストビュアーを開く直前に実行されます。
拡張子別に表示設定を変えたいような場合に利用できます。また、折り返し幅などを事前に設定しておくことで、余計な処理を抑止できます。
サンプルとして OnTxViewerOpen.nbt が同梱されています。
- テキストビュアーを開いた直後(TV)
- テキストビュアーを開いた直後に実行されます。
サンプルとして OnTxViewerOpened.nbt が同梱されています。
- テキストビュアーを閉じる直前(TV)
- テキストビュアーを閉じる前に実行されます。
- テキストビュアーを閉じた直後(FL)
- テキストビュアーを閉じてファイラー画面に戻ったときに実行されます。
- テキストビュアーのツールバーを右クリック(TV)
- テキストビュアーのツールバーを右クリックしたときに実行されます。
- テキストビュアーで情報ヘッダを右クリック(TV)
- テキストビュアーで、情報ヘッダを右クリックしたときに実行されます。
ルーラが表示されている場合は、ルーラの右クリックでも実行されます。
- イメージビュアーを開いた直後(IV)
- イメージビュアーを開いた直後に実行されます。
- イメージビュアーを閉じた直後(FL)
- イメージプレビューを閉じてファイラー画面に戻ったときに実行されます。
- イメージビュアーで全画面表示にした(IV)
- イメージプレビューで、全画面表示に切り替えたときに実行されます。
- イメージビュアーで通常表示に戻った(IV)
- イメージプレビューで、全画面表示から通常表示に戻ったときに実行されます。
- イメージビュアーのツールバーを右クリック(IV)
- イメージビュアーのツールバーを右クリックしたときに実行されます。
- イメージビュアーで画像部分をダブルクリック(IV)
- イメージプレビューで、表示されてい画像部分をダブルクリックしたときに実行されます。
これが指定されている場合、画像部分のクリックによる一時的な等倍表示は行われません。
- イメージビュアーで画像表示部を右クリック(IV)
- イメージプレビューで、画像表示部を右クリックしたときに実行されます。
- イメージビュアーで余白部分をダブルクリック(IV)
- イメージプレビューで、表示されてい画像の余白部分をダブルクリックしたときに実行されます。
- イメージビュアーでサムネイルをダブルクリック(IV)
- イメージプレビューで、サムネイルをダブルクリックしたときに実行されます。
なお、サムネイル外をダブルクリックした場合は、イメージビュアーが閉じられます。
- イメージビュアーでサムネイルを右クリック(IV)
- イメージプレビューで、サムネイルを右クリックしたときに実行されます。
- イメージビュアーでファイル情報をダブルクリック(IV)
- イメージプレビューで、サイドバーのファイル情報をダブルクリックしたときに実行されます。
- イメージビュアーでシークバーを右クリック(IV)
- イメージプレビューで、シークバーを右クリックしたときに実行されます。
- サムネイルからのドラッグ開始時(IV)
- イメージプレビューで、サムネイルからファイルのドラッグを開始したときに実行されます。
- サムネイルからのドラッグ完了時(IV)
- イメージプレビューで、サムネイルからのドラッグが完了したときに実行されます。
- クリップボードにテキストをコピー
- NyanFi 上でクリップボードにテキストをコピーしたときに実行されます。
例: コピー内容を、ファイル(CLIPMEMO.TXT)に追記保存
FormatDT_Buffer="<<< yyyy-mm-dd hh:mm:ss >>>' --------------------------------------------'" Add_Buffer<<%Clipboard% Ins_Buffer<<"" ;UTF-8で追記保存 Set_CodePage=65001 AppendBuffer_%ExePath%CLIPMEMO.TXT
- キーボード/マウスのロックが解除された(FL)
- LockKeyMouse コマンドによるキーボード/マウスのロックが解除されたときに実行されます。
- タイマーイベント
-
条件で設定した時間間隔や無操作時間で、あるいは設定時刻に、コマンドが実行されます。
時間間隔の設定では、数字だけの場合ミリ秒単位、数字の後に S を付けると秒、M で分、H で時間単位になります。
時間の後に , (カンマ)で区切って回数制限を指定できます。何も指定しないと繰り返し実行されます。
例: 45M,8 MsgBox_休憩しましょう 45分間隔で8回、メッセージを表示
例: 2H Random_画像=IMG_010.jpg: LoadBgImage_%画像% 2時間間隔でランダムに背景画像を変更
時間の先頭に ! を付けると、無操作時間の設定になります。設定した時間以上無操作状態が続いたときに1回コマンドが実行されます。
例: !3M WinMinimize 3分間無操作だったら最小化
hh:mm[:ss] の書式だと時刻指定になります。, (カンマ)で区切って最大6つまで時刻を指定できます。
先頭(時)が "??:" の場合、毎時の設定になります。また、設定時刻を過ぎると、翌日の時刻として再設定されます。
例: 09:30,12:00,17:45 PlaySound_アラーム.wav 9:30、12:00、17:45 にアラーム音を鳴らす
例: ??:00,17:30 PlaySound_アラーム.wav 毎正時と17:30 にアラーム音を鳴らす