あいさつ
つかさです。
今回は現在窓の位置の記憶です。デフォルトだと、
- &\[HOME] 現在の窓の位置を記憶する
- &[HOME] &\[HOME]で記憶した位置に窓を移動する
と一つだけ記憶できますが、これを複数記憶できるようにします。
準備
必要なのは
- setalias.js
- resetalias.js
- RotateExecute3.js
- SetDimensions.js
の4つ。これらをScriptフォルダに保存します。上の3つを持ってない場合は、
に置いてあるので、どちらかに行って保存しましょう。
今回新しく作ったのは、SetDimensions.jsです。
SetDimensions.js
//!*script
// 窓の位置と大きさを変更する
// 第一引数:"x,y,width,height"
// PPXMES.DLLとPPXWIN.DLLが必要
// 引数がなければ終了
if (PPx.Arguments.Length < 1){
PPx.SetPopLineMessage("引数が正しくありません。");
PPx.Quit(-1);
}
var hoge = PPx.Arguments.Item(0).split( "," );
// 実行元が一体型PPcかそれ以外かで分岐
if (PPx.GetComboItemCount != 0&&PPx.Extract('%n').substr(0,1)=="C"){
PPx.Execute("*windowposition %*findwindowclass\(\"PaperPlaneCombo\"\)"+","+hoge[0]+","+hoge[1]); // 位置の変更
PPx.Execute("*windowsize %*findwindowclass\(\"PaperPlaneCombo\"\)"+","+hoge[2]+","+hoge[3]); // 大きさの変更
} else {
PPx.Execute("*windowposition %N"+","+hoge[0]+","+hoge[1]); // 位置の変更
PPx.Execute("*windowsize %N"+","+hoge[2]+","+hoge[3]); // 大きさの変更
}
引数として、4つの数字をカンマで区切って引用符でくくったもの"x,y,width,height"を受け取り、現在窓の位置と大きさを、それにあわせて変更するスクリプトです。例えば
*script %0\Script\SetDimensions.js,"200,300,400,500"
とすると、位置が(200,300)で幅が400、高さ500になります。
ついで以下を編集して取込。
-|K_SetPPcDimentions =
-|K_SetPPvDimentions =
KC_main = { ; PPcメイン窓
^W ,*setnextkey K_SetPPcDimentions
}
KV_main = { ; PPvメイン窓
^W ,*setnextkey K_SetPPvDimentions
}
K_SetPPcDimentions = { ** comment **
W , *script %0\Script\setalias.js,ppcpos,"%*windowrect(,l),%*windowrect(,t),%*windowrect(,w),%*windowrect(,h)"
R , *script %0\Script\resetalias.js,ppcpos
^W ,*script %0\Script\SetDimensions.js,"%*script("%0\Script\rotateExecute3.js","cposi","ppcpos")"
}
K_SetPPvDimentions = { ** comment **
W , *script %0\Script\setalias.js,ppvpos,"%*windowrect(,l),%*windowrect(,t),%*windowrect(,w),%*windowrect(,h)"
R , *script %0\Script\resetalias.js,ppvpos
^W ,*script %0\Script\SetDimensions.js,"%*script("%0\Script\rotateExecute3.js","vposi","ppvpos")"
}
使い方
- C_w wで記憶
- C_w C_wで記憶した順に復元
- C_w rでリセット