CEP Extension Window MinSize Change On Mac OS When UI Scaling Large
CEPエクステンションで、
ウィンドウサイズを最小サイズに変更するボタンを設置しようとしていますが、
Mac版でUIスケール拡大時、スクリプトで手動変更の最小サイズまでリサイズできません。
1.お使いのオペレーティングシステムおよび Adobe Illustrator (デスクトップ版) のバージョン
Illustrator2022,2023 MacOS
2.問題が発生したときに実行していた手順
ユーザーインターフェイス>UIスケール
小から大に変更
エクステンションの最小幅200、最小高さ400
ウインドウサイズへ変更ボタン(CSInterface.resizeContent(200,400)が実行される)を押す
3.想定していた結果
最小サイズまでウインドウサイズがリサイズ
実際の結果
リサイズされない
■詳細■
Windows版では、UIスケールを拡大した時は、
エクステンション自体が拡大表示されいて、特に問題ありません。
ところがMac版で、UIスケールを拡大した時
ウィンドウサイズのみ拡大されて、
エクステンションの中身は拡大されません。
このことは、別にOS差の仕様の違いとして、許容範囲内なのですが
manifest.xmlにて
<MinSize>
<Height>400</Height>
<Width>200</Width>
</MinSize>
と設定していて、
CSInterface.getScaleFactor()で取得したScaleFactorが1.25の時
ウィンドウ幅を最小にした時のサイズが
Chromeでのデバッグで表示されるサイズは313px
になっていて、設定サイズよりも大きくなり、
想定した幅まで最小化できなくなります。
また
CSInterface.resizeContent(width, height)でのリサイズは
CSInterface.resizeContent(300, 500)
→ width: 375 (設定値:300×ScaleFactor:1.25)
height: 625 (設定値:500×ScaleFactor:1.25)
設定値×scaleFactorのサイズになるので
高さを維持して、幅だけ変えたいときとか、ScaleFactorを意識しないといけないため
不便に感じます。
ただ、これも仕様を把握していれば、なんとか対応できます。
困っているのは、
illustrator2022,2023(Mac)にて、
CSInterface.resizeContent()の許容値がおかしいことです。
manifest最小値、最大値の範囲内なら、有効のはずですが
Illustrator2022,2023(Mac)では、
NG) CSInterface.resizeContent(200,400)
NG) CSInterface.resizeContent(249,500)
OK) CSInterface.resizeContent(250,500)
となっていて、
有効範囲までScaleFactor分拡大されています。
しかし、先に述べた通り、
CSInterface.resizeContentでは、設定値×scaleFactorで設定されるので、
手動で変更可能な最小幅×ScaleFactorまでしか、スクリプト上では変更できません。
(設定最小幅200、ScaleFactor1.25のとき、
現在の手動最小幅250にしたいのに、313までしかスクリプトから変更できない)
Illustrator2021(Mac)では
CSInterface.resizeContent(200,400)が動いて、
ウィンドウサイズを最小サイズまでリサイズできます。
Mac版でUIスケール拡大時、スクリプトで最小サイズまでリサイズできるように
修正お願いします。
-
Okuda様
Illustratorデスクトップ版UserVoiceへのご協力をありがとうございます。
こちら検証・確認させていただきます。