*fitwindowRなんて作ってみた。

Window ModuleやScript Moduleを入れて遊んでます。

Window Module の*fitwindowは「指定したPPx位置に指定したPPxをあわせる」というもので、まとめサイトなどを見るとこれを利用して反対窓位置にビューアをあわせたりして、「あふっぽいPPv」とやってるみたいなんですが、二画面を連結していないわたしからすると、まったく見当違いの位置に「ひょっこり現れるPPv」

仕方ないので、くっついて配布されてたWindow Moduleのソースをのぞいたら、MoveWindowで動かしてるだけっぽかったので、以下のようにいじったものをFITWINDOWRという名前で追加。

(略)
GetWindowRect((HWND)sparam[0],&box);
x = box.left;
y = box.top;
width  = (box.right - box.left);
height = (box.bottom - box.top);
MoveWindow(hTargetWnd, x + width, y, width, height, TRUE);
(略)

「指定したPPxの右隣に指定したPPxをあわせる」コマンド、*fitwindowrの完成なわけです。 言語に詳しくないので、果たしてこんな適当なコピペでいいのかは別として、それっぽく動くので満足してます。ふぃー。

Script Moduleでは、先日やりたいのにできないと言っていた、「上のマークから、現在のカーソル位置までマーク」を強引に実現しました。 以下のものを〜.jsで保存、*script コマンドから実行すると動くと思われます。 ただ、かなり強引にやってる気がするので、もっと素晴らしいもの書ける偉い方、書いてください。お願いします。

//!*script
centry = PPx.EntryIndex;
if ( PPx.EntryFirstMark ) {
PPx.Execute('*cursor 0,1,3,B000,0,B010');
while ( PPx.EntryIndex < centry ) {
PPx.Execute('%K"@SPACE"');
}
PPx.Execute('%K"@^\\A"');
} else {
PPx.EntryIndex = centry;
}

書いたものが思ったとおりに動くとうれしいものですね。