テキストファイル中に画像ファイルのパスを書いておけば、それを別IDのPPVで閲覧できるようにする。これで、テキストファイルのメモでも画像や図を扱いたい!という我々の永遠の課題を解決できるかもしれない?
準備
以下をScriptフォルダに保存。
以下を編集して取り込み。
_Command = { ; ユーザコマンド・関数
openhalfppv = *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)/2")
*ppv -bootid:X -k %%J"%*arg(1)" %%: *fitwindow %N,%%N,4 %%: *windowsize %%N,%*windowrect(,w),%*windowrect(,h) %%: *selectppx %n
previewimagepath = *openhalfppv %*script(%0Script\getimagepath.js,1)
*mapkey use,K_halfppv
*linecust imgpreview,KV_main:LOADEVENT,*ifmatch %%n,%n %(%: *RotateCustomize _User:imgpath,%*script(%0Script\getimagepath.js) %: *ifmatch !0,0%*getcust(_User:imgpath) %: *execute VX,%%J"%*getcust(_User:imgpath)"%)
*linecust quitimgview,KV_main:CLOSEEVENT,*ifmatch %%n,%n %%: *linecust imgpreview,KV_main:LOADEVENT, %%: *linecust quitimgview,KV_main:CLOSEEVENT,
}
K_halfppv = {
Q ,*ifmatch !0,0%NVX %: %Oi *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)*2")
*closeppx "%n,VX"
^N ,*RotateCustomize _User:imgpath,%*script(%0Script\getimagepath.js) %: *execute VX,%%J%*getcust(_User:imgpath)
ENTER ,*ifmatch !0,0%NVX %: %Oi *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)*2") %: *closeppx VX %: *stop
*openhalfppv %*script(%0Script\getimagepath.js,1)
}
やり方
画像ファイルパスを書き込んだテキストファイルを用意し、PPVで表示する。
PPV上で以下のコマンドを実行。
*previewimagepath
PPVの大きさが半分になり、空いたスペースにPPV[X]が起動。画像ファイルを表示する。
PPvの表示ファイルが切り替わると、表示画像も切り替わる。以下はPPv中心の連動ビュー(参考:一対一対応 | PPxMemo)と組み合わせたもの。
その他キーバインド
- [ENTER] 画像表示非表示トグル
- [Q] 半分になったPPVの大きさをもとに戻してから終了
- ^[N] テキストファイル内の次の画像ファイルパスを表示
追記 2024-10-14
表示している画像ファイルパスをハイライトする設定は以下。
_Command = { ; ユーザコマンド・関数
openhalfppv = *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)/2")
*ppv -bootid:X -k %%J"%*arg(1)" %%: *fitwindow %N,%%N,4 %%: *windowsize %%N,%*windowrect(,w),%*windowrect(,h) %%: *selectppx %n
previewimagepath = *openhalfppv %*script(%0Script\getimagepath.js,1)
*mapkey use,K_halfppv
*highlight %*script(%0Script\getimagepath.js,1)
*linecust imgpreview,KV_main:LOADEVENT,*ifmatch %%n,%n %(%: *RotateCustomize _User:imgpath,%*script(%0Script\getimagepath.js) %: *ifmatch !0,0%*getcust(_User:imgpath) %: *execute VX,%%J"%*getcust(_User:imgpath)" %: *highlight %*getcust(_User:imgpath)%)
*linecust quitimgview,KV_main:CLOSEEVENT,*ifmatch %%n,%n %%: *linecust imgpreview,KV_main:LOADEVENT, %%: *linecust quitimgview,KV_main:CLOSEEVENT,
}
K_halfppv = {
Q ,*ifmatch !0,0%NVX %: %Oi *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)*2")
*closeppx "%n,VX"
^N ,*RotateCustomize _User:imgpath,%*script(%0Script\getimagepath.js) %: *execute VX,%%J%*getcust(_User:imgpath) %: *highlight %*getcust(_User:imgpath)
ENTER ,*ifmatch !0,0%NVX %: %Oi *windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)*2") %: *closeppx VX %: *stop
*openhalfppv %*script(%0Script\getimagepath.js,1)
}