読者です 読者をやめる 読者になる 読者になる

#PPx PPc独立複数枚

Paper Plane xUI

以前は独立2枚窓利用をしていたのですが、多数のフォルダを開きたいことがあり、2枚窓の使用感を保った複数枚起動のカスタマイズを利用してます。

Ifで分岐しまくってます(,,´ó ‸ ò`)

f:id:k9q:20130519082750p:plain

KC_main    = {	; PPcメイン窓
FIRSTEVENT	,*ifmatch /C[C-Z]/,%n %:*windowsize %N%n,800,490%:*linemessage %n
TAB	,*ifmatch /.+/,%NVA%:*focus VA%:*stop
	*ifmatch /C[C-Z]/,%n %:*ifmatch /.+/,%NCB%:*setcust _User:f=%n %:*focus CB%:*stop
	*ifmatch CB,%n %:*cd z:%:*focus %*getcust(_User:f),"%0\PPCW.EXE" -bootid:a -r%:*stop
	%K"@F6"
^TAB	,*ifmatch CA,%n %:*ifmatch /.+/,%NVA%:*focus VA%:*stop
	%K"@F6"
\TAB ,*windowposition %NCA,0,43%:*windowsize %NCA,800,525%:*cd z:%:%Oi *ppc -r -noactive -bootid:B%:*windowsize %NCB,800,490%:*windowposition %NCB,0,533%:*shownormal %NCB%:*focus CA
^\TAB ,*ifmatch CB,%n %:*ifmatch /.+/,%NVA%:*focus VA%:*stop %K"@\F6"
C ,*script %0s\C.js G ,*script %0s\G.js
M ,*script %0s\M.js Q ,*script %0s\Quit.js ^Q = @Q V_HE5 ,*ime 0%:*ifmatch /C[A-B]/,%n %:%K~"@'='"%:*stop %j"%M?ppclist" }
KV_main	= {	; PPvメイン窓
TAB	,*focus C
^TAB	,*cd z:%:*ppc -bootid:B -r
^\TAB	,*focus CA
}
==G.js==
//!*script
if(PPx.WindowIDName=="C_A"||PPx.WindowIDName=="C_B"){
PPx.Execute("%K\"@G\"");
}
else{
id = PPx.WindowIDName;
a = PPx.Extract("%*F(DC,%D" + id +")");
b = PPx.Extract("%*F(DC,%DC_B)");
PPx.Execute("*execute " + id + ",*jumppath " + b);
PPx.Execute("*execute CB,*jumppath " + a);
}
==Quit.js==
//!*script
//PPx.StayMode=1;
for(var i=26;i--;){
var id = String.fromCharCode(i+65);
if(PPx.Extract('%NV'+id)){
PPx.Execute('%KV'+id+'"@Q"');
PPx.Quit();
}
}
for(var i=26;i--;){
var id = String.fromCharCode(i+65);
if(PPx.Extract('%NC'+id)){
PPx.Execute('%KC'+id+'"@Q"');
PPx.Quit();
}
}

PPc

 ◆ FIRSTEVENT
    PPc[C]以降が起動したら情報欄にIDを表示して、大きさを縦400横890に

 ◆ TAB
    PPvがあればフォーカス
    PPc[A]はPPc[B]と窓間移動
    PPc[B]はPPc[C-Z]があれば最後に開いたPPc[C-Z]と窓間移動、無ければPPc[A]と窓間移動
    PPc[C-Z]はPPc[B]と窓間移動、無ければ順繰りに窓間移動

 ◆ Ctrl+TAB
    アルファベット順にPPcを窓間移動、PPc[A]ではPPVがあればフォーカス

 ◆ Shift+TAB
    PPc[A] PPc[B]を定位置・定サイズに移動

 ◆ Ctrl+Shift+TAB
    Ctrl+TABの逆

 ◆ C
    C.js ファイルコピースクリプト
    PPc[A] PPc[B]は反対窓に、PPc[C-Z]以降はPPc一覧を表示してコピー先を選択

 ◆ M
    M.js ファイル移動スクリプト
    PPc[A] PPc[B]は反対窓に、PPc[C-Z]以降はPPc一覧を表示して移動先を選択

 ◆ Q
    Q.vbs PPc終了スクリプト
    2chからのコピペです
    どのPPCでQを押下しても、Z→Aの順にPPCを終了するquit.vbsが元
    PPvがある場合はそちら先に、PPc[A]は終了せずにタスクトレイに入れます

    もう少しまともなのを新しく作った。
    PPvをZから降順に、PPvが無ければPPcを降順に終了するだけのスクリプト

 ◆ Ctrl+Q
    今開いているPPcを終了

 ◆ CapsLock(V_HE5)
    PPc[A] PPc[B]は表示フォルダを反対窓の表示フォルダに移動
    PPc[C-Z]は、PPc一覧を表示して選択したフォルダに移動
    CapsLockを押下するとIMEがオンになってしまうのでオフに

PPv

 ◆ TAB
    PPcにフォーカス
 ◆ Ctrl+TAB
    PPc[B]にフォーカス(なければ起動)
 ◆ Ctrl+Shift+TAB
    PPc[A]にフォーカス

利用

f:id:k9q:20130519085950p:plain

PPc[C-Z]の表示フォルダを、容易にPPc[B]と入れ替えできるようにして使ってます。

圧縮ファイルの解凍時などに、3枚目以降にフォルダ表示をしたくてPPcを複数枚利用出来るようにしたのですが、PPc[A]とPPc[B]が、常に反対窓同士の関係になる独立2枚窓利用に慣れていたので、このようにしてみました。

PPvがあるときは、TABでは相互にPPv⇔PPcの移動をするように。順繰りに窓間移動をするCtrl+TAB、Ctrl+Shift+TABでもPPc[A] PPc[B]の間にPPvを挟んで移動するようにしてます。

PPcが大量に開いて邪魔になったときはQを押しっぱなしにし、アルファベットの降順で消していく感じ。

PPvの複数枚利用はしてません。複数の画像やテキストを開きたいときは、専用ビューアやエディタで開くようにしてます。