Operaのスキン調整を簡略化する試み

Operaのアキレス腱の一つ、スキンの調整。スキンを導入すること自体は簡単だが、幅や高さを修正しようとしたり、ツールバー用にアイコンを追加しようとなると非常に手間がかかる。

  1. Operaを終了する
  2. スキンを解凍する
  3. skin.iniを修正する
  4. スキン内部全てのファイルをzipで圧縮する
  5. Operaを起動する
  6. 修正した箇所を確認する(まだ修正するなら1に戻る)

Operaをいちいち再起動までしなければならないのはめどい。加えてzipの圧縮/解凍も。これをなんとかできないかと考えたのだが、Operaのスキン配布形式に解決のヒントがあった。

例えば、Opera Skinsのページから気に入ったものを選んでDOWNLOADボタンを押す。ダウンロードが完了するとOperaは一時的にスキンを適用し、これでいいかどうかを聞いてくる。

この時点でOperaは再起動することなく新しいスキンを適用してくれている。これだ! この操作をローカルのサーバー上で行えないだろうか。

ローカルならばテキストエディタでskin.iniを弄りつつ、プレビューしたくなったらスクリプト側でスキンファイル郡を圧縮し、適切なヘッダを付加してブラウザで出力。そうすれば再起動することなくスキンを弄れるのでは無いか?

んで、実際に作成してみたのが以下のスクリプト。

opskintester.zip

予想通り、修正即適用が可能になった。

  1. スクリプトを実行
  2. スキンのzipをskinフォルダに置く
  3. ブラウザでhttp://localhost:10080/%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%EF%BC%88%E3%81%93%E3%81%AE%E6%99%82%E7%82%B9%E3%81%A7zip%E3%82%92%E8%A7%A3%E5%87%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%EF%BC%89
  4. テキストエディタでskin/[スキン名]/skin.iniを弄る
  5. リンクをクリックしてスキンをプレビュー(まだ修正するなら4に戻る)

と、このように再起動することなくスキンの調整が行える。調整後はOpera/profile/skinに溜まったゴミを削除すれば良いだろう。

修正例

先日リリースされたOpera9.50 RC2に付属している新スキン。ちょっとタブが高いし、ツールバーのボタンの間隔が広いなー、と思ったら、Paddingを以下のように修正する。

; セミコロン以降はコメントなので、デフォルト値を残しておくと良い

[Pagebar Button Skin]
...
Padding Top                 = 3;7
Padding Bottom              = 4;8

[Toolbar Button Skin]
...
Padding Left                = 3;4
Padding Top                 = 0;4
Padding Right               = 4;5
Padding Bottom              = 0;5

[Toolbar Button Skin.pressed]
...
Padding Left                = 3;5
Padding Top                 = 0;5
Padding Bottom              = 0;4

見た目はこなかじ。

Operaのスキンを調整した比較画像