2018年1月30日火曜日

ブックマークしたファイルを一斉表示

テキストファイルや画像ファイルをブックマークし、あとでそれらを一斉に、PPvで表示/非表示できるようにする。



PPv中心の連動ビューを前提にした記事です。PPv[A]を通常の連動ビューに。それ以降のIDのPPvをブックマークファイル表示用に、というように使い分けています。

準備


Module


  • Script Module
  • Text Module
  • Key Module

を利用してます。入れてない場合はTORO's Libraryからダウンロードして入れましょう。

Script


  • MyClipMenu.js
  • setalias.js
  • resetalias.js

を利用。持ってない場合はここからダウンロードして、Scriptフォルダに保存しよう。また、新たに以下をScirptフォルダに保存。

alias2ppv.js

//!*script
// 
// 第一引数:エイリアスのベースネーム
// 第一引数+連番のエイリアスを、PPvで開くスクリプト
// 例えば第一引数がclipであれば、最初はclip0、次はclip1…と順次
// 登録されたパスをPPvで開いていく

// 引数がなければ終了
if (PPx.Arguments.Length < 1){
  PPx.SetPopLineMessage("引数が正しくありません。");
  PPx.Quit(-1);
}

var cmd = PPx.Arguments.Item(0);

for (var i = 0; i < 30; i++) {
  if (PPx.Extract("%'"+ cmd + i + "'")){
    PPx.Execute("%Oba *ppv "+PPx.Extract("%'" +cmd + i + "'"));
  } else {
    break;
  }
}


編集して取込


以下を編集して取込。

-|K_clip2 =

KV_main = { ; PPvメイン窓
^E ,*setnextkey K_clip2
}

K_clip2 = { ** comment **
E , *script %0\Script\setalias.js,clip,%%FCD
R , *script %0\Script\resetalias.js,clip
^E , *RotateExecute id,"*script %0\Script\alias2ppv.js,clip",*closeppx !/V_*A|^C_*/
',' , *script %0\Script\MyClipMenu.js
}


やり方


  1. PPvで閲覧中、気になったファイルをC_e e(Ctrl+Eを押したあとE)でブックマーク
  2. C_e C_e(Ctrl+Eを二回押し)で、ブックマークファイルをすべてPPvで開く
  3. もう一度C_e C_eで、[A]以外のPPvを閉じる
  4. C_e r(Ctrl+Eを押したあとR) でブックマークをリセット
  5. C_e ","(Ctrl+Eを押したあと,) でブックマークの保存や読み込みができるメニューを表示

このように、別々のフォルダにある画像ファイルを見比べたり



テキストファイルを参照したりできる。



テキストファイルと画像ファイルを表示したところ。


参考


2018年1月13日土曜日

ImageMagickで一括処理+サムネイルの向き修正


更新するのは超久々。つかさです。PPxは日常的に使い続けている。ただカスタマイズする時間がない。

サムネイルの向きを直したい


僕は、画像ファイル上でShift+Enterを押せば、画像処理メニューが出るようにしている。画像の回転には、ImageMagickを利用している。


記録用にガラケーで撮った写真の向きを、直したい時が度々あるのだが、これで「左に90度回転」としてもサムネイルの向きが修正されない。これの対策をする。
また、今までは個別のファイルに対しての処理しかできなかった。なので、一括処理ができるようにする。

対策


一括変更にはmogrifyというオプションを使えばいいらしい。サムネイルの回転については、-auto-orientを使う。

%OB %'imagemagic' mogrify %FCD -auto-orient -rotate 270 %FCD

とすればいい。

-|M_Picture =

A_exec = { ; エイリアス
imagemagic    = "C:\Program Files\ImageMagick-7.0.2-Q16\magick.exe"
azpainter    = D:\bin\azpt\AzPainter2.exe
}

M_Picture = { ** comment **
&Azpainter = %Ob %'azpainter' %FCD
ペイント(&P) = mspaint %FCD
-- = 
左に90度回転(&L) = %OB %'imagemagic' mogrify %FCD -auto-orient -rotate 270 %FCD
右に90度回転(&R) = %OB %'imagemagic' mogrify %FCD -auto-orient -rotate 90 %FCD
拡大縮小 = %Ob %'imagemagic' %FCD -geometry %"数値を入力してください"%{30%}%% %"ファイル名を入力してください"%{%|%X%|.%T%}
拡張子を変換 = %Ob %'imagemagic' %FCD %X.%"拡張子を入力してください"%{%|%T%|%}
マークファイルを横に連結 = %Ob %'imagemagic' %#FCD +append %"ファイル名を入力してください"%{%|%*nowdatetime(Y-N-D-HMS)%|.png%}
非透過に = %Ob %'imagemagic' %FCD -background white -alpha remove %FCD
-- = 
壁紙にする(&W) = *customize X_bg:Path=%FDC %: *customize X_bg:Type=10
}

E_scr = { ; \[Enter]用判別
JPG ,%M_Picture,A
PNG ,%M_Picture,A
JPEG ,%M_Picture,A
BMP ,%M_Picture,A
}