2013年10月29日火曜日

フォルダ履歴ジャンプメニュー

PPcで表示したことがあるディレクトリを表示し、移動するメニュー。あふでHを押せば出るやつと似たようなものです。


M_history = {
A  = %hp0
B  = %hp1
C  = %hp2
D  = %hp3
E  = %hp4
F  = %hp5
G  = %hp6
H  = %hp7
I  = %hp8
J  = %hp9
}
KC_main = {
H  ,%j%M_history,A
}

ちなみにデフォルトのキー設定で0を押すと、履歴とブックマークのお気に入りメニュー(M_pjump)が出ます。今回のメニューはその履歴部分のみを取り出した、ということですね。参考までに

2013年10月25日金曜日

マスクメニューに「マークファイルで常時マスク」を追加

マスクメニューに「マークファイルで常時マスク」を付け加えてみる。意図としては前回(つかさのほえほえ日記: マークファイルでマスク)と同じで、関連するメモのみを一時的に表示することができたら便利じゃないかな、ということ。



例えばこんな感じで、PPv関連のメモだけ抜き出して表示してみるとか。

ただ、数時間や数日くらいのスパンで、メモの絞り込みの状態を維持しておきたい場合もありそうなので、一時マスクだけではなく常時マスクでもできるようにした。

M_Mask = { ** comment **
%Tでマスク(&1) = *maskentry *.%T
&EXEでマスク = *maskentry *.exe
テキストファイルマスク(&T) = *maskentry *.txt,*.howm,*.ini
画像マスク(&I) = *maskentry *.jpg,*.jpeg,*.png,*.gif,*.bmp
-- = 
ディレクトリマスク(&D) = *maskentry attribute:d
マークファイルで一時マスク(&M) = *maskentry %#;C %: %K"HOME"
マークファイルで常時マスク(&S) = *setmaskentry %#;C %: %K"F5"
-- = 
マスク解除(&U) = *maskentry %: *setmaskentry
}
KC_main = { ; PPcメイン窓
'I' ,%M_Mask,1
}

*maskentryは一時エントリマスクで、ディレクトリを抜けたりすると無効になる。*setmaskentryによる常時エントリマスクは、ディレクトリを抜けようと窓を閉じようと持続する。

また、今常時エントリマスクをしてるのかどうかわからなくなったりしないように、タイトルバーにマスク状態が表示されるようにする。

XC_dpmk = 1 ; エントリマスクを表示 0:しない 1:する


このようにマスク状態にあるのかないのかが一目でわかるようになる。

2013年10月24日木曜日

PPvからエディタを開く

カテゴリーフォルダ内にあるメモファイルを、PPvで順番にざっと眺めているとき、エディタを開きたいと思うことがある。大きく分けて、

  • 閲覧しているファイルをエディタで開く
  • 閲覧しているファイルをエディタ開いてPPvを閉じる
  • 閲覧しているファイルと同じフォルダにhowmファイルを作成する
  • howmフォルダにhowmファイルを作成する

の4パターンがある。


閲覧しているファイルをエディタで開くとは、気づいた誤字の訂正や付け加え等のちょっとした修正をしたい場合である。このとき、修正後にはすぐまたメモを順番に閲覧する作業に戻るのだから、PPvは開いたままの状態がいい。

閲覧しているファイルをエディタで開いてPPvを閉じるとは、メモに大きな修正を加えたい場合である。このとき、メモの閲覧作業は一旦中断することになるから、PPvは閉じていたほうがいい。

閲覧しているファイルと同じフォルダにhowmファイルを作成するとは、メモを閲覧している途中でそのカテゴリーに関する何か新しい思いつきをして、それを書き留めたい場合である。

howmフォルダにhowmファイルを作成するとは、メモを閲覧している途中でそのカテゴリーと関係ないことについて思いつき、それを書き留めて一時フォルダに保存したい場合である。

やりかた


以下を取り込む。
KV_main = { ; PPvメイン窓
E ,%"Text edit"%Orib,editor %FDC -g %L
\E ,%K"@Q" %: %"Text edit"%Ob,editor %FDC -g %L
N ,%Ob D:\bin\xyzzy\xyzzy.exe -e (howm-create2dir) %1
\N ,%Ob D:\bin\xyzzy\xyzzy.exe -e (howm-create2dir) D:\howm
}

Eで閲覧しているファイルをエディタで開く。コマンドラインオプションで行番号を送り、そこにスクロールさせている。これはeditorにxyzzyを設定している時の例なので、違うエディタの場合は -g %L の箇所を変えてください。

Shift+Eで閲覧しているファイルをエディタで開いてPPvを閉じる

Nで閲覧しているファイルと同じフォルダにhowmファイルを作成する

Shift+Nでhowmフォルダにhowmファイルを作成する。D:\howmの箇所は、howmフォルダのパスに読み替えてください。

カスタマイズ用メニュー

前回でカスタマイザーが設定ファイルを取り込む仕組みも分かったことなので、カスタマイザー用のメニューを作ってみる。


Cust.CFG
M_cust    = { ** comment **
カスタマイザ(&C) = %K"@CUSTOMIZE"
編集して取込(&E) = %Ob *PPCUST /edit
-- = 
取り込み(&1) = %Q"%FCを取り込みます"%:%Ob *PPCUST CS "%FCD"
追加(&2) = %Q"追加取込します"%:*customize @%FCD
-- = 
PPX.CFGを取り込み(&3) = %Q"PPX.CFGを取り込みます"%:%Ob *PPCUST CS "%0\PPX.CFG"
PPX.CFGに書き出し(&4) = %Q"PPX.CFGに書き出します"%:%Ob *PPCUST CD "%0\PPX.CFG"
指定書き出し(&5) = %"指定ファイルに書き出します"%Ob *PPCUST CD %{%1\PPX-%*nowdatetime(y-N-D)%|.CFG%}
-- = 
初期化(&I) =  %Q"初期化します"%:%Ob *PPCUST CINIT
-- = 
アップデート(&U) = %Ob *checkupdate p
バージョン情報(&V) = %K"@ABOUT"
}
KC_main = {    ; PPcメイン窓
F12 ,%M_cust,C
}

F12に登録してます。

取り込み追加はカーソルファイルが対象です。あらかじめ、メニューバーや個々のメニューについては設定ファイルを作っておき、それらにカーソルをあわせ取り込む!というようにすれば便利じゃないかなと思ってます。

今までは仕組みがよくわかってなかったので、メニューバーから選んでカスタマイザーを起動し、PPX.CFGを「テキストの取込」で取り込み。他の追加設定は「編集して取込」で僕が過去に書いたブログの記事からコピペして取り込み。たいていメニュー関係が変になってるのでカスタマイザーのメニュータブから不要な区切り線その他を一々消す…というようにしてました。効率悪すぎでしたねHAHAHA

参考


#PPx カスタマイズに使うメニュー - nuru

追記:2015-07-18


「追加(&2)」で、カーソルファイルではなく、マークファイルを追加取込するように修正。修正前のは以下。

追加(&2) = %Q"%FCを追加取込します"%:%Ob *PPCUST CA "%FCD"

2013年10月23日水曜日

カスタマイザーによる設定の取込

はじめに


PPxの設定を取り込む方法には

  • テキストの取込
  • 追加取込
  • 更新取込
  • 編集して取込



の4つがある。

このうち、「更新取込」は「PPx のバージョンアップ時の自動アップデート処理のように、既にある内容を上書きしないようにしながら新しい項目を追加する」ためのもので、あまり使うことは無いと思う。

「編集して取込」とは



このような簡易編集できるダイアログが出て、編集しながら取り込めるもの。実際にやっている処理は「追加取込」です。

というわけで、PPxの設定の取り込みについては

  • テキストの取込
  • 追加取込

の二つの違いを知っていればとりあえずおkということになる。

「テキストの取込」と「追加取込」の違い


  • テキストの取込 → 既存の設定に上書きする形で取り込む
  • 追加取込 → 既存の設定は消さずそれに追加する形で取り込む

という違いがある。

例えば

ClipPath1.CFG 

M_ClipPath = { ** comment **
CopyFileName = *cliptext %R
CopyDirName = *cliptext %1
}

ClipPath2.CFG

M_ClipPath = { ** comment **
CopyFileName(拡張子無し) = *cliptext %Y
-- = 
CopyFilePath = *cliptext %FCD
}

と二つの設定ファイルがあるとする。ClipPath1.CFG→ClipPath2.CFGの順に、「テキストの取込」をすると




このようにメニューが上書きされる形で取り込まれる。

「追加取込」の場合、ClipPath1.CFG→ClipPath2.CFGの順に取り込みをすると





このように既存のメニューに追加される形で取り込まれる。

使い分け


「テキストの取込」は、設定が追加されていったら都合が悪いものに用いる。ポップアップメニューやメニューバーあたりの、カスタマイザーのメニュータブで設定できるものですね。この場合、何も考えずに「追加取込」を繰り返していると



無駄にメニューバーの項目が増えたり



区切り線が増えたりしてしまう。

追加取り込みは、反対に上書きされたら都合の悪いものに用いる。例えばキーバインドとかがそうですね。新しいキーバインドを追加したくて、

現在窓と反対窓を同パスに.cfg

KC_main = { ; PPcメイン窓
O ,%j%2
\O = @'='
}

このようなファイルを「テキストの取込」で取り込んだとしたら、それまでのPPcキーバインドカスタマイズが上書きされ、吹っ飛ぶことになる。全体の整合性を気にせず新しい設定をどんどん追加したい場合は、「追加取込」で取り込むほうがよさそうだ。

「テキストの取込」前


「テキストの取込」後


というわけで、新しい設定をPPX.CFG本体とは別に書いたとしたら、基本的には「追加取込」か「編集して取込」で取り込む。ポップアップメニューやメニューバー関連だけは「テキストの取込」を使って取り込む。というようにすればいいと思います。

追記 2013/10/25


作者さんからコメントいただきました

2013年10月22日火曜日

指定PPvで書庫内ファイルを閲覧

あいさつ


僕はPPcとPPvをIDで一対一対応させて用いている。(参考:PPcとPPvのIDを一対一対応させる - つかさのほえほえ日記



ただ、この記事のやり方だと書庫内ファイルの閲覧がうまくいかない。仕方ないので、これまで書庫内ファイルを閲覧したい場合はNキーを押してPPv[A]で閲覧していた。

書庫内のファイルもID指定PPvで閲覧出来るよう、少し変更する。

拡張子別判別実行


E_cr = { ; [Enter]用判別
TXT ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
HOWM ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
INI ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
CFG ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
JS ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
VBS ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
PY ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
JPEG ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
BMP ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
PNG ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
GIF ,*launch %0\PPVW.EXE -bootid:%*regexp(%n,"/.(.)/$1/") %FCD
}

*launchを冒頭に加えただけですね。

これで、ここで登録した拡張子のファイル上でEnterを押せば、たとえ書庫内だろうと、対応したIDのPPvで表示することができるようになりました。

PPvのキーバインド


ついで、PPvのキーバインドをカスタマイズ。IDが同じPPcと連動させます。

KV_main = { ; PPvメイン窓
UP ,%KC%*regexp(%n,"/.(.)/$1/") "@UP @N"
DOWN ,%KC%*regexp(%n,"/.(.)/$1/") "@DOWN @N"
LEFT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, -1 %: %KC%*regexp(%n,"/.(.)/$1/")"@N"
RIGHT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, 1 %: %KC%*regexp(%n,"/.(.)/$1/")"@N"
}

これで、PPvでカーソルを動かせば対応したIDのPPcのカーソルも動き、連動ビューを実現できます。

だが、実はこれだとPPvを複数起動&書庫内ファイルを閲覧しているときは挙動が少し変になる。
それを解消しようとすると次のようになります。

KV_main = { ; PPvメイン窓
UP ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 2, -1 %: *launch %0\PPVW.EXE -r -bootid:%*regexp(%n,"/.(.)/$1/") %*extract(C%*regexp(%n,"/.(.)/$1/")"%%FCD")
DOWN ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 2, 1 %: *launch %0\PPVW.EXE -r -bootid:%*regexp(%n,"/.(.)/$1/") %*extract(C%*regexp(%n,"/.(.)/$1/")"%%FCD")
LEFT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, -1 %: *launch %0\PPVW.EXE -r -bootid:%*regexp(%n,"/.(.)/$1/") %*extract(C%*regexp(%n,"/.(.)/$1/")"%%FCD")
RIGHT ,*execute C%*regexp(%n,"/.(.)/$1/"),*cursor 6, 1 %: *launch %0\PPVW.EXE -r -bootid:%*regexp(%n,"/.(.)/$1/") %*extract(C%*regexp(%n,"/.(.)/$1/")"%%FCD")
}

書庫内を閲覧することの方が多くて複数のPPvを開いていることが多い、という場合だったらこちらを使うといいかも。

ただこれだと少し挙動が遅くなるので、僕は前者の設定を使ってます。

PPxの外見をだいなファイラーっぽくしてみる

あいさつ


思いついたのでやってみます。
画面を透過した状態のだいなファイラーっぽい見た目に。上がPPxで下がだいなファイラーです。


やりかた


以下の文字列をクリップボードにコピーしましょう。

XC_dset = { ; 情報行のアイコンを非表示に
* = B0000,0,0,0,-1,-1,B011111,B00000000000000000000000001,
}
X_win = { ; ステータス行を非表示に
 ;  +--------B8:1=タイトルバーを表示させない
 ;  |+-------B7:1=(PPcのみ)簡易ヘッダを表示する
 ;  ||+------B6:1=(PPcのみ)標準の情報行を表示させない
 ;  |||+-----B5:1=標準のステータス行を表示させない
 ;  ||||+----B4:1=標準のツールバーを表示する(PPc:B_cdef,PPv:B_vdef)
 ;  |||||+---B3:1=(PPcのみ)スクロールバーの位置を下端<->右端で切替
 ;  ||||||+--B2:1=スクロールバーを表示させない
 ;  |||||||+-B1:1=タスクバー等で1つにまとめる(要PPtray)ただし不都合有り
 ;  ||||||||+B0:1=MenuBar表示
CA = B000100001
CB = B000100001
CC = B000100001
}
XC_inf1 = _GRE,_AUTO,0,0,R60 ; 情報行1行目
XC_inf2 = _GRE,_AUTO,0,5,i"Marked:" mn i"/" E1 S3 ms8 i"Bytes" S5 Df8 i" Free" s2 ; 情報行2行目
X_bg = { ; 背景画像をデスクトップと同じに
Type = 10
}
F_mes = -16,0,0,0,400,0,0,0,128,3,2,1,17,MS 明朝 ; 汎用
C_entry = _WHI,_WHI,_CYA,_RED,_CYA, _MAG,_BLU,_GRE,_DWHI, _SBLU,_DBRO,_GRE,_RED,_MAG 
;  エントリ状態(ファイルの背景色等)
; メッセージ,削除,通常,不明,更新,追加,NoFocus,枠,下線,マーク,通常(偶数行),
; 選択,区切線l, ハイライト1,ハイライト2,ハイライト3,ハイライト4
C_eInfo = _AUTO,_DRED,_AUTO,_DBLA,_DBLU,_DCYA,_DBLA,_BRO,_WHI,_WHI,_AUTO,_BLU,_AUTO, H404000,_BRO,_CYA,_GRE 
XC_celD = _AUTO,_AUTO,4,7 ; エントリ表示 文字,背景,カーソル,マーク 
X_fles = 1 ; 画面のちらつき対策を 0:しない 1:する
MC_click = { ; PPc メイン窓
LD_MENU = ;メニューバー左ダブルクリックで非表示にならないように
}

ついで、PPxフォルダーにあるPPCUSTW.EXE(PPCUST.EXE)を実行するか、メニューバーのツールから選択するかなどしてカスタマイザーを起動します。

起動したら

  • ファイルタブ - 編集して取込

をクリック



すると、クリップボードにコピーした文字列が貼り付けられた状態で、編集して取込ダイアログが出ます。そこでOKボタンをクリック



以上でだいなファイラーっぽい見た目になります。簡単ですね。