スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
Firefox4でウィンドウ最大化中でもタブバーの上にマウスで掴める隙間を作る
投稿日時 : 2011-03-29 10:31
 Firefox4ではタブバーがデフォルトでウィンドウの最上部に表示されるようになりました。ウィンドウを最大化するとタイトルバー部分に重なるようにタブが表示されますが、このときタブと画面上端の間に隙間が一切ありません。わずかに隙間があるように見えますが実際はありません。
 
Firefox4 タブバー隙間なし
 
なので、タイトルバーのダブルクリックで最大化から通常表示へ戻そうと思ったら、タブがない部分にカーソルを移動させなければならず、しかし多数のタブを開いている場合はウィンドウの左右のほんの一部分しかタイトルバーが露出していないのでかなり意識的にカーソル移動させなければなりません。Windows7(Vistaもだっけ?)なら最大化中もタイトルバーを掴んでいきなりドラッグできますが、この状態ではタブをドラッグしてしまいます。これは不便。
 
 ということでuserChrome.cssにウィンドウ最大化時にタブバーの上に隙間を作るCSSを書きます。userChrome.cssはユーザの好みでFirefoxの見た目を変更するためのファイルです。
 
 Firefox3のプロファイルをそのまま使っている場合は「<プロファイルフォルダ>/chrome/userChrome.css」にあります。たぶん。同じファルダにあるuserChrome-example.cssをコピーしてuserChrome.cssにリネームしたものに追記しても構いません。Firefox4で新しくプロファイルを作成した場合はchromeフォルダも存在しないので自分で作成して下さい。保存するときの文字コードはUTF-8で。
userChrome.css
@charset "utf-8";
 
/* ウィンドウ最大化時にタブバー上部に隙間を作る */
#main-window[sizemode="maximized"] #TabsToolbar{padding-top:3px!important;}
「3px」は好みの値に変更可。「#main-window[sizemode="maximized"]」はウィンドウが最大化していたらそれに続くCSSを適用するという意味です。「@charset "utf-8";」は既に存在してるなら新たに書く必要はありません。
 
編集が終わったらUTF-8で保存してFirefoxを再起動すると反映されます。以下のようにタブバーの上に隙間ができました。
 
Firefox4 タブバー隙間あり
 
 
スポンサーサイト
2011-03-29 10:31 | Firefox | Comment(0) | Trackback(0)
LinuxのFirefoxアドオン設定画面でOKボタンなどが表示されない件
投稿日時 : 2008-12-15 10:43
 Firefoxでアドオンのオプションウィンドウを開くとOKボタンやキャンセルボタンが表示されるものと、閉じるボタンしか表示されないものがあります。はじめはそういうふうに作ってあるからだと思っていたんですが、同じアドオンでもWindowsではOKボタンと閉じるボタンがあるのにLinuxだと閉じるボタンしかないというケースがあるのに気づきました。TabMixPlusのように両環境ですべてのボタンが表示されるアドオンもあります。
 

原因

 これが自分のアドオンのDropfoxの開発中にも再現したので観念して原因を探ってみたところ、オプションウィンドウのXULのルートエレメントがprefwindowの場合に閉じるボタンだけになり、同じくルートエレメントがdialogやwindowの場合はOKボタン、キャンセルボタン等、ソースで指定した通りに表示されることが分かりました。
 なぜこんなことが起こるかというと、UbuntuのデフォルトのウィンドウマネージャであるGNOMEの設定ウィンドウにはOKやら適用やらキャンセルやらのボタンが「基本的には」ありません。変更した値は自動保存されます。これはMacでも大体同じだと思います。で、Firefoxのprefwindowもウィンドウマネージャのデフォルトの動作に倣って、自動的にOKボタン、キャンセルボタンを非表示にするという仕様のようです。dialogやwindowをルートエレメントとした場合は設定ウィンドウとはみなされないのでこの仕様の影響は受けません。そんなわけですべての環境で統一したGUIを提供したい場合はprefwindowは向いていないようです。
 
技術的に正確で詳細な情報は以下を参照するとよさげです。
MozillaZine.jp :: トピックを表示 - prefwindowのtype属性について
 

対応策

 検索してみるとこれは結構有名な話のようで簡単に解決策が見つかりました。アドレスバーに「about:config」として詳細設定画面を開き、
browser.preferences.instantApply
の値をfalseにします。これでLinuxやMacでもWindowsと同じようにソース通りのボタンが表示されるようになります。
 
 正直、デフォルトでfalseにしておくか、ユーザやプログラマが簡単にtue/falseを切り替えられるような仕組みが提供されていてもよさそうな気もしますが、昔から変更される気配がないので自分で設定するしかないようです。実行プラットフォームのガイドラインに即しているわけですし。
 
 
2008-12-15 10:43 | Firefox | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。