[リストへもどる]
一括表示

タイトルPPx 1.82+3
記事No3792
投稿日: 2021/12/19(Sun) 23:03
投稿者TORO
PPx 1.82+3 を公開しました。

PPb を外部から制御するコマンド *signal と *execute b~ を
とりあえず仕上げました。


タイトルRe: PPx 1.82+3
記事No3793
投稿日: 2021/12/22(Wed) 21:06
投稿者tm
PPbのバグっぽい挙動を見つけたので確認をお願いします。
win10 ppcw64bitとXP ppcw32bitで動作確認しました。

1. +2以降のバージョンで-kオプション以降の-/もオプションと見なされている。
*ppb -k echo -test

2. lessやmoreなどのページャーに対して*signal b,killするとコマンド受け付け状態になるがプロセスは残っていて、PPbにフォーカスを移すとページャーの待機状態になってしまう。

3. ppcw64bit版で*signal b,focusとしてもPPbにフォーカスが移らず、もう一度実行するとフォーカスされる。

それとヘルプの誤植で*signalの項目名が%*signalになっていました。


タイトルRe^2: PPx 1.82+3
記事No3794
投稿日: 2021/12/25(Sat) 14:29
投稿者TORO
> 1. +2以降のバージョンで-kオプション以降の-/もオプションと見なされている。
こちらについては、+4で修正しました。

> 2. lessやmoreなどのページャーに対して*signal b,killすると
同じ現象が起きていないので予想ですが、多分ページャー本体が
PPbの孫プロセスになっていると思います。PPbによるkill動作は、
起動した子プロセスのみが対象になってますので、子プロセスが
起動した孫プロセスが残ります。

> 3. ppcw64bit版で*signal b,focusとしてもPPbにフォーカスが移らず、
こちらは研究中です。conhostの場合はほぼ問題ないのですが、
Windows Terminal の場合は、なんとかフォーカス切り替えに
成功している状態で、結構失敗することがあります。

> それとヘルプの誤植で*signalの項目名が%*signalになっていました。
指摘ありがとうございます。修正しています。


タイトルRe^3: PPx 1.82+3
記事No3796
投稿日: 2021/12/26(Sun) 13:49
投稿者tm
> 同じ現象が起きていないので予想ですが、多分ページャー本体が
> PPbの孫プロセスになっていると思います。PPbによるkill動作は、
> 起動した子プロセスのみが対象になってますので、子プロセスが
> 起動した孫プロセスが残ります。

プロセスの依存関係についてはよくわかっていないのですが、git log のページャーに対するkillだったのでご指摘の通り、孫プロセスなのかもしれません。
+4ではプロセスは残るものの待機状態は解除される場合が多いです。

moreに関しては適当なテキストファイルに対するPPc一行編集からの cat %R | more でconhost、wtどちらも+3と同様の状態になります。
PPbの子プロセスcatの子プロセスmore(孫)ということなんですかね。postmessageでQを送ることにします。

> こちらは研究中です。conhostの場合はほぼ問題ないのですが、
> wtの場合は、なんとかフォーカス切り替えに
> 成功している状態で、結構失敗することがあります。

こちらではwtのフォーカスは問題なく、conhostだと+4でも失敗しています。フォーカス自体はできているけれど、PPcにフォーカスが戻ってくる状態です。初期状態でもなるので、FIRSTEEVENT関連ではなさそうです。
とはいえ*focus PPB[ができるので差し障って困ることはなさそうです。

更新とバグ修正ありがとうございます。
*string uは使いどころが多そうだし、*imageや^Rも色々と遊べそうです。
ただ%Cは、echo %Cなどでは何も表示されず使い方がわかりませんでした。
%(%)は%*関数のときにダブルクオーテーションも展開されないようになれば混乱が少ないかなと思いました。


タイトルRe^4: PPx 1.82+3
記事No3797
投稿日: 2021/12/27(Mon) 21:54
投稿者TORO
> cat %R | more
パイプ使用時の挙動を忘れていました。パイプの機能は cmd.exe を
介しているので、このまま kill をすると子プロセスになる
cmd.exe のみが終了します。kill の前に Ctrl+C を送ることに
しようかと思います。

> こちらではwtのフォーカスは...
もしかしたら mintty とか ConEmu とか使っていますか?
こちらで確認しているのは、素のconhostです。
mintty とか ConEmu とかは conhost を隠したり子ウィンドウに
したり色々やっていて、素と挙動が全く違い、まだ調整して
いません。
どちらにしても今後調整していきます。

>ただ%Cは、echo %Cなどでは何も表示されず使い方がわかりませんでした。
コマンドラインに文字列があって、そこにカーソルがあれば
取得できます。コマンドラインが「abc def efg」で「def」の
先頭~末尾にカーソルがあると、KB_edit:f1, echo %C や
*execute b,echo %%C とかで「def」が表示できます。

%(%) についても " や , の扱いが不満なので改善する予定です。


タイトルRe^5: PPx 1.82+3
記事No3798
投稿日: 2021/12/28(Tue) 16:56
投稿者tm
> もしかしたら mintty とか ConEmu とか使っていますか?

いえ、素のconhostです。一行編集から"*ppb"で起動した後に、
再度ppcの一行編集から"*signal ba,focus"で一度目はフォーカスされません。
心当たりがないのですが、こちらの環境の問題っぽいですね。

> コマンドラインに文字列があって、そこにカーソルがあれば
> 取得できます。コマンドラインが「abc def efg」で「def」の
> 先頭~末尾にカーソルがあると、KB_edit:f1, echo %C や
> *execute b,echo %%C とかで「def」が表示できます。

なるほど、そういう使い方なんですね。色々と使い道がありそうです。
詳しい説明をありがとうございます。


タイトルRe^6: PPx 1.82+3
記事No3799
投稿日: 2021/12/29(Wed) 23:20
投稿者TORO
> いえ、素のconhostです。一行編集から"*ppb"で起動した後に、

了解です。素のconhostももう少し確認してみます。