Opera 12 (Win8) スキン背景色の黒さ解決

Opera 12.16 で自前のスキンがうまく表示されない問題があった。メニューバーの背景色が砂嵐のようなノイズで表示され、アドレスバーの背景色が真っ黒に塗りつぶさており、文字やアイコンが見えづらくなっていたのだ。スキンのタイプは、Native であり、スキンのベースとして OS の UI を使用するものである。Windows XP においては、正しく機能していたが、Windows 8 では上記の異常が生じるようになった。

skin.ini を編集することで、概ね良好に表示されるようになったので、具体的な解決方法を記しておく。

[Menu Skin]
Native = 1
Color = Window Disabled

[Addressbar Skin]
Native = 0
Spacing = 4
Clone = Menu Skin

Menu Skin においては、Native の値に関わらず、Color の値を設定することで、背景色が塗られるようになる。

Addressbar Skin においては、Native の値を必ず 0 にしなくてはならない。かつ、Color の値を設定するか、上記のように、Clone すれば、背景色が適用される。

また、「コンテンツのブロック」バーについても、背景色が闇に覆われていたが、以下のように設定すると、輝きを取り戻すことができた。

[Content Block Toolbar Skin]
Clone = Addressbar Skin

その他にも、ナビゲーションバーや、ビューバーも黒かったため、Native の値や Color の値を色々と設定して試したのだが、なぜか、まるで効果が得られなかった。ただし、それらのツールバーを上に表示するか下に表示するかによって、効果が表れることもあった。

効率的なスキンデバッグ

以上のように、Opera 12.16 でスキンをデバッグする際、効率的な方法が存在する。

スキンは ZIP ファイルだが、これを解凍しても、スキンとして機能する。

  1. スキン.zip を解凍し、フォルダにする
  2. 設定 opera:config#UserPrefs|ButtonSet で、そのフォルダ内の skin.ini を指定する

これで、Opera は、その skin.ini と各ファイル群をスキンとして使用するようになる。

次に、編集した skin.ini を Opera に反映させるアクションである Reload skin をキーボードショートカットか何かに登録する。skin.ini を編集するたびにこれを実行すれば、編集結果を即座に確認することができる。