2015年8月31日月曜日

マーク状態をハイライトで保存




このようにマークしていたとして、マーク状態を一時的にハイライトにして保存。新たにマークができるようにする。



以下をScriptフォルダに保存。

mark-highlight-toggle.js

//!*script

for (var i = 0; i < PPx.EntryAllCount; i++) {
  if (PPx.Entry(i).Mark == 1) {
    PPx.Entry(i).Highlight = 1;
    PPx.Entry(i).Mark = 0;
  } else if (PPx.Entry(i).Highlight == 1) {
    PPx.Entry(i).Highlight = 0;
    PPx.Entry(i).Mark = 1;
    }
}

以下を編集して取込。

KC_main = { ; PPcメイン窓
^M ,*script %0\Script\mark-highlight-toggle.js
}
KV_main = { ; PPvメイン窓
^M ,*execute C,*script %0\Script\mark-highlight-toggle.js
}

やり方


Ctrl+Mを押すと、マークファイルがハイライト1に。ハイライト1がマークファイルになる。

こんなのが



こう。



ファイル整理の時に使えると思っている。二種類のマークを使い分けるような操作が、可能になるわけだ。PPvからも同様に操作可能。

ちなみに、ハイライト1の色は、カスタマイザーの「色タブ- PPcエントリ背景/状態」で設定できる。




PPxを3ペインの画像ビューアとして使う



こんなふうに、PPxを3ペインの画像ビューアっぽく使ってみる。いつものPPv中心の連動ビューではなく、デフォルトの連動ビューを利用。

準備


以下のスクリプトをScriptフォルダに保存。
PPv中心の連動ビューをしていると、デフォルトの連動ビュー時に支障が出る。これは、それを避けるためのスクリプト。PPv上でのカーソルキー動作を、連動ビュー有効時に停止させている。
PPv中心の連動ビューをしていない場合は、このスクリプトは不要。

mysyncview.js

//!*script

var useppv = 'R'; // 使用PPv ID
if ( PPx.CodeType == 0 ){ // MultiByte版かそうでないかで分岐
  var ppvname = 'ppv';
}else{
  var ppvname = 'ppvw';
}
if ( PPx.GetComboItemCount == 0 ){ // 独立窓か一体化窓かで分岐
  var usewindow = '%N'
}else{
  var usewindow = '%*findwindowclass("PaperPlaneCombo")';
}

PPx.Execute('%Oi '+ppvname+' -r -bootid:'+useppv);
PPx.Execute('*fitwindow '+usewindow+',%NV'+useppv+',3');
if ( PPx.SyncView == 0 ){
  PPx.Execute('*ppvoption sync '+useppv);
  PPx.Execute('*setcust KV_main:-|UP=');
  PPx.Execute('*setcust KV_main:-|DOWN=');
  PPx.Execute('*setcust KV_main:-|LEFT=');
  PPx.Execute('*setcust KV_main:-|RIGHT=');
  PPx.Execute('*setcust KV_main:-|SPACE=');
  PPx.Execute('*setcust KV_main:-|\\SPACE=');
}else{
  PPx.Execute('*ppvoption sync off');
  PPx.Execute('*setcust KV_main:UP,%%KC "@UP @N"');
  PPx.Execute('*setcust KV_main:DOWN,%%KC "@DOWN @N"');
  PPx.Execute('*setcust KV_main:LEFT,*execute C,*cursor 6, -1 %%: %%KC"@N"');
  PPx.Execute('*setcust KV_main:RIGHT,*execute C,*cursor 6, 1 %%: %%KC"@N"');
  PPx.Execute('*setcust KV_main:SPACE,%%KC "@SPACE @N"');
  PPx.Execute('*setcust KV_main:\\SPACE,%%KC "@\\SPACE @N"');
}

以下を編集して取込。

KC_main = { ; PPvメイン窓
^Y ,*RotateExecute view,"*tree on %%: *setmaskentry o:d,a:d-","*tree off %%: *setmaskentry"
\Y ,*script %0\Script\mysyncview.js
}

一体化窓で、PPv中心の連動ビューをしてない場合は、以下を編集して取込。

KC_main = { ; PPcメイン窓
^Y ,*RotateExecute view,"*tree on %%: *setmaskentry o:d,a:d-","*tree off %%: *setmaskentry"
\Y ,%Oi ppvw -r -bootid:r %: *fitwindow %*findwindowclass("PaperPlaneCombo"),%NVR,3 %: *ppvoption sync
}
_others = { ; その他設定
SyncViewID = R
}

独立窓で、PPv中心の連動ビューをしてない場合は、以下を編集して取込。

KC_main = { ; PPcメイン窓
^Y ,*RotateExecute view,"*tree on %%: *setmaskentry o:d,a:d-","*tree off %%: *setmaskentry"
\Y ,%Oi ppvw -r -bootid:r %: *fitwindow %N,%NVR,3 %: *ppvoption sync
}
_others = { ; その他設定
SyncViewID = R
}

使い方


  • Ctrl+Y ツリー表示&フォルダマスク
  • Shift+Y 連動ビュー。PPv[R]をPPcのすぐ上に表示

画像フォルダに行って、Ctrl+Y。



すると、ツリーを表示し、エントリ表示のフォルダが非表示になる。


Shift+Yで連動ビューに。PPcのカーソル位置のファイルが、常にPPvで表示される。もう一度Shift+Yを押すとPPvは閉じ、連動ビューも無効になる。


追記 2015/08/31


スクリプトのコードを修正。連動ビューに使うIDを指定できるようにした。また、Multibyte版でも独立窓でも使えるようにした。

2015年8月24日月曜日

ppxmemoというサイト

これまで、ほえほえ日記で書いてきた、PPxカスタマイズ記事の内容をまとめたサイトを作りました。ppxmemoです。

https://sites.google.com/site/ppxmemo/



すっごい適当に名前を付けたので、そのうち変えるかもしれない。

あと、Memo on the Electronのサイトも一年ぶりくらいに大幅に手直ししたので良ければ見てください。

なんかすっごい久々に日記っぽい記事を書いた気がする