2012-04-24 8 views
2

Firefoxの拡張機能を開発中で、xul:panelを使用しています。右下に配置したいのですが、私はWindowsのタスクバーの下にいたくありません。私はそれを配置するopenPopupAtScreenと画面座標を使用して私の問題は、ユーザーが画面の右側にWindowsタスクバーを持っているとき、垂直です。私のパネルはタスクバーの下にあります。タスクバーの位置を検出する方法はありますか、それに応じて描画する回避策はありますか?Firefoxの拡張機能がWindowsのタスクバーの位置を検出する

答えて

2

あなたはそのためのnsIScreenManagerを使用する必要があります。

var screenManager = Components.classes["@mozilla.org/gfx/screenmanager;1"] 
           .getService(Components.interfaces.nsIScreenManager); 
var screen = screenManager.primaryScreen; 
var left = {}; 
var top = {}; 
var width = {}; 
var height = {}; 
screen.GetAvailRect(left, top, width, height); 
alert("Available screen area: " + left.value + "," + top.value + " x " + 
     width.value + "," + height.value); 

これが唯一の主要な画面を見ていることに注意してください - ユーザーが複数の画面を持っている場合は最善の解決策ではない可能性があります。 1つの選択肢は、実行中のFirefoxウィンドウの座標に対応する画面を取得して、使用可能な領域を調べることです。

関連する問題