Java アプリケーションを起動するとウインドウの枠が消える
ASTEC-X のマルチウインドウモードで Java のアプリケーションを起動すると、 ASTEC-X で表示している X アプリケーションのウインドウ枠が消えてしまう場合があります。
|
|
回避方法
この現象を回避するためには、 ASTEC-X のコントロールパネルの [マルチウィンドウモード] パネルにある [内蔵ウインドウマネージャのみを使用する] を有効にしてください。
このオプションを有効にすると、 ASTEC-X は UNIX ホスト側のウインドウマネージャに ウインドウの制御を渡さなくなるため、 ウィンドウ枠が消える現象も起きなくなります。
現象の原因
ウィンドウシステムにおいて、 ウィンドウの操作や制御の管理を司る部分の機能を ウィンドウマネージャと呼びます。 X Window System (以下 "X") では、 ウィンドウマネージャは独立したプログラムとして実現可能で、 複数のウィンドウマネージャを切り替えて使うこともできます。 X のウィンドウマネージャには例えば twm や dtwm などがあります。
ASTEC-X をマルチウインドウモードで起動した場合、 まず ASTEC-X 自身がウィンドウマネージャとなります (Windows のウィンドウ枠が X の各ウィンドウにつきます)。 その後 UNIX ホスト側でウインドウマネージャが起動すると、 そちらにウインドウの制御を委ねるようになっています。
Java アプリケーションの中には、
自分自身がウインドウマネージャであるかのように振る舞うことで、
ウインドウマネージャがすでに起動しているかどうかの確認を行うものがあります。
Java アプリケーションがウインドウマネージャであるかのような振る舞いをすると、
ASTEC-X は UNIX ホストでウインドウマネージャが動作していると誤認し、
ウインドウの制御を手放してしまいます。
この結果としてウインドウの枠が消えてしまいます。