左側のモニタ。

 スタンバイからの復帰時にセカンダリモニタが黒いまま(画面のプロパティ等をいじることで復帰)という現象が起きていたんだが、気づいたら改善されていた。おそらく先日、別の目的でオンボードグラフィックのドライバを更新したためだろう。そっちの目的の方は結局ダメだったんだが、塞翁が馬というかなんというか。


 ところでそう、マルチモニタ(私はデュアルモニタ)である。世の中にはタスクバーが必ず下にあると思いこんでいるソフトウェア作者も多いが、どうやらモニタがひとつしかないと思いこんでいる作者も多いようである。
 とはいえ、マルチモニタで普通と異なることなどデスクトップサイズくらいのもの。ソフトウェアがウィンドウ等に対し何らかの操作を行う前には、大抵はデスクトップサイズを取得するので問題にはならない――と思いきや。

 どうもウィンドウの座標というやつは、「プライマリモニタの左上」が基点になるらしい。――それがどうした、とお思いだろう。しかし世の中、プライマリモニタが必ず最も左にあるとは限らないのだ。
 モニタの仮想配置を、プライマリモニタの左に設定しておくとどうなるのか。座標がマイナス符号付きになる。そう、プライマリモニタしか想定していない(あるいはプライマリが最も左だと想定している)場合、そこにウィンドウがあれば「何故か知らんが盛大に非表示領域にある」という解釈をすることになる。

 そうなると具体的にはどうなるのか。
 例えば"表示できる領域"にウィンドウを復帰させようと、ウィンドウをプライマリに閉じ込める。リアルタイムでそういう処理が行われなくとも、初期配置だけはプライマリ固定になる物も多い。
 例えば画面中央にウィンドウを配置しようと、座標を「デスクトップサイズ/2-ダイアログサイズ/2」にすると、プライマリの右端に半分だけ表示される。"デスクトップサイズ"が意味するところが"プライマリモニタのサイズ"であれば、一応は問題ない。初期配置がプライマリ固定になるが。

 これらはモニタの仮想配置によって起きる問題であり、そもそもマルチモニタ自体を想定していないソフトウェアも数多く存在する。マルチモニタ派は有事に備えて、キー操作だけでウィンドウ位置を変更できるように対策(自己を鍛練するなり、それ用のソフトウェアを用意しておくなり)しておく必要がある。

 ――そもそも左のモニタをプライマリに指定すればいいって? 大抵の3Dアプリケーションはプライマリモニタで起動しやがる(DirectXの仕様?)から、グラフィックボードの出力モニタ(物理配置が右側)がプライマリじゃないと困るんだよっ!(つД`)(ぬえ。


[PR]
by lordnoesis | 2008-06-09 08:35 | テクノロジ | Trackback | Comments(0)
トラックバックURL : http://poimono.exblog.jp/tb/9012744
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
名前
URL
画像認証
削除用パスワード

※このブログはコメント承認制を適用しています。ブログの持ち主が承認するまでコメントは表示されません。

ブログトップ | ファンになる