マクロ命令でブラウザ枠の表示幅を変更しNo.11351
western さん 23/05/18 09:11
 
※ 以下の現象は(共有)ブラウザ枠でしか調査しておりません (個別ブラウザ枠やア
ウトプット枠などは全くの未調査)

マクロ命令で(共有)ブラウザ枠の表示幅を変更した場合に

・他のタブでは表示幅が元のサイズのまま
・その状態の他のタブで表示幅を取得すると、先のタブで変更した値として取得され
る (そのタブでの表示幅ではない)
・ブラウザ枠を閉じる(インスタンスを消した)後に、改めて開いた場合、先のサブは
マクロ命令で変更したサイズが記憶されている
・インスタンスを消した状態では、先のタブでも(共有)ブラウザ枠は消えている
・マウスで枠の表示幅を変更すると全てのタブで位置とサイズが統一される

想定する動作について教えてください

・(共有)ブラウザ枠の開閉状態(表示位置、表示幅)は、ウィンドウ(タブグループ)で
一律か、タブ固有で記憶されるか?

[ ]
RE:11351 マクロ命令でブラウザ枠の表示幅No.11357
秀丸担当 さん 23/05/18 13:02
 
枠のサイズは、境界ドラッグとかであれば、全タブ、全ウィンドウで共通になるとい
うのがまず基本です。

でもマクロはあてはまらなくて、マクロによるサイズ指定は、もともとsetoutlinesi
ze、outlinesizeがあって、outline関係の一式を踏襲しようとしていたものでした。
setoutlinesize outlinesize+10;
とか
setoutlinesize outlinesize-10;
とかしてキー操作しながら簡単に素早く広げたり狭めたりするのがもともとの目的で、
それを引き継いでいるみたいな感じです。
これは境界ドラッグと違って、特に書いてませんが全部に反映はしていませんでした。
非タブモードだと、全部のウィンドウのアウトライン解析の枠がごっそり広がったり
狭まったりするので、それは避けたいというものです。

これに合わない点があったら修正していきます。

js{
  setbrowserpanetarget("_each");
  n=Number(browserpanecommand({get:"size"}))+10;
  browserpanecommand({size:n});
}
だとその目的ができませんでした。
そのあたり修正します。

それはそれとして、各タブで揃わない場合が出てくるのは前からあって、やむを得な
かったのですが、揃わせるための手段があったらいいです。
何か考えます。

[ ]
RE:11357 マクロ命令でブラウザ枠の表示幅No.11358
western さん 23/05/18 14:52
 
再現方法

0. タブモードで複数のタブがある状態から開始
1. (共有)ブラウザ枠を開く (ウィンドウ(全タブ)で共通のサイズで表示)
2. インスタンスそのままに非表示を演出したいも目的で、マクロで 枠のサイズを最
小化
   setbrowserpanesize 0,1; // 共有ブラウザ枠の表示幅を 0px に (10pxになる)
   他のタブは表示変わらず (共有ブラウザ枠は変わらないサイズで表示されたまま)
3. 枠を最小化したタブで枠のサイズを取得
   message str(browserpanesize(1)); // 10 が返る (想定通り)
4. 別のタブをアクティブにする (共有ブラウザ枠が前のサイズで表示されている)
5. 共有ブラウザ枠のサイズを取得
   message str(browserpanesize(1)); // 10 が返る (想定外)

5 の時に表示されている 400 などのサイズが返るべきだと思います。




マクロと枠サイズの話 (今回は個別枠ではなくあくまで共有ブラウザ枠として)

> 枠のサイズは、境界ドラッグとかであれば、全タブ、全ウィンドウで共通になると
>いうのがまず基本です。

この基本を了解しました
この動作自体には特に懸念点はありません

> キー操作しながら簡単に素早く広げたり狭めたりするのがもともとの目的

このマクロ固有の特例な動作についても了解しました



今回の発端は、アウトライン枠な (タイプ別/ファイル単位に属すべき) 使い方では
なく、

共有ブラウザ枠を、そのウィンドウ(タブグループ)で共通に備わる
「ファイルマネージャ枠のようなもの」な使い方をしようとしたこと

と、その「ファイルマネージャ枠のようなもの」をショートカット(マクロにキー割
り当て)
を使って開いたり閉じたり(show:0 だとインスタンス消えるので、枠サイズの最小化
&復元)
で実現しよう! という目論見からの流れです


ブラウザ枠・レンダリング枠 の追加によって、色々な拡張が出来るようになって
いろんな使い方を試行錯誤していますが

Visual Studio のソリューションエクスプローラー
Visual Studio Code のサイドパネル (開いたフォルダ、検索、git/ソース管理、デ
バッガUI)

のようなサイドパネルが実現できるような、
機能の利用方法やマクロ技をよろしくお願いします


ウィンドウ(タブグループ)で同じサイズで表示してくれて、
かつ、インスタンスを消さずにマクロかコマンドでウィンドウ共通で開閉できる Web
View2 枠
というのが期待する動作です (レンダリング枠と同じ { "invisible": 1 } があれば
いいのかも)

[ ]