mouse.ini(マウスジェスチャ用の設定)

カスタマイズ用のmouse.ini(プロファイルフォルダ内のやつ)に、以下を追記してみた。

[Application]
GestureUp ctrl = Go to start
GestureDown shift = Go to end


さくっとページの最上部または最下部へ移動してくれる。
縦に長いサイトやoAutoPagerize.jsを使ってるときに役に立ってます。
shift+spaceよりも早く戻れて便利。

 便利なエディター

JmEditor2.0.25




 1.toolbar.ini(下の画像はtango.iniに名称変更してあるけれど・・)内における[Document Toolbar.content]は、Operaのアドレスバーにおいて配置されているボタン内容を記述している。


 2.ここで、アドレスバーを左に配置した後にエディターを使おうとすると、JmEditor2の警告がでる。


 3.はい(Y)を押すと、オペラでの変更が既に開いていた.iniに反映される




メモ帳だとOperaでの変更を反映した.iniを開くには、Operaでの変更が行われた後に.iniへアクセスする必要があった。
JmEditor2ではOperaで変更する都度、既に開いている.iniに反映される。
他のエディターの場合がどうなのかまでは知らない。
とりあえずメモ帳よりマシである事は確かかと思う。

 頑張った・・

おおむね満足・・・・・・・な・ん・だ・け・ど・!!
解消されてない不満が未だ4つあります。


 1ボタンを光らせる方法が分かったのだけど、それでも未だGogi*1のようなアニメーションにはなってません

とりあえず、skin.ini内のボタン類の記述を

[ ×× Button Skin ] 画像Aを指定
  ↓
 (Operaによるハイライト)
 ↓ 
[ ×× Button Skin.pressed ] 画像Bに変更(ハイライト継続)
  ↓
[ ×× Button Skin.selected ] 画像Cに変更(ハイライト継続)


と変更統一することで、マウスポインタを持っていって光らせつつボタンを有効にするところまでは出来てます。

でも有効になったボタンに再度マウスポインタを持っていったとき、Operaによるハイライトが生じてくれない。
また有効になったボタンを再度クリックしたとき、.pressedで指定した画像に変化してくれてません。
ただ・・タブ以外のボタンに関しては、ドラゴンドロップwでカスタムボタンを入手して、ブラウザ上のボタンを全て入れ替えたらGogiとまったく同じアニメーションになってくれました。
http://operawiki.info/CustomButtons#page
「Smiley Identify」 がお勧め^^


これらのカスタムボタンがなぜ光るのか・・その仕組みをこれから調べようか現在迷ってる最中だったり。
そもそも有効になった状態を意味する表示を継続させることに意味のあるボタンは少ないから・・カスタムボタンで光ったときの驚きは大きなものでした。
しかしやっぱりタブだけ([Tab Button]じゃなくて通常タブと呼んでるもの)が・・そのアニメーションを再現できてない。。

出来そうで出来ない・・非常にもやもやとしたストレスを感じます。



 2外観の設定>ボタン>ネットサーチに保管されている、検索用のボタン類の入力文字スペースが変わってくれない。
Operaのskin.ini内で[Edit Bar Skin]の画像が反映されてるから、この[Edit Bar Skin] セクションが関係してそうなもんなんだけど・・ちがうんでしょうか?


 3ページを一つも開いていないときやF11で全画面にしたときに表示されてる、画面の上下左右2ドット程の枠線が消せない。
枠線関係は細かすぎて疲れる(笑



 4アドレスボタンの自動表示切替
Gogiのそれはタブや他のボタン類の上をマウスが通過したときに行われるから、これは無理かな・・。






1だけはなんとしてでも解消したいところですが・・とりあえず今の状態でもそれなりに満足してます。
まるでSoftimageがそのままブラウザになったかのような・・完成された機能美・・!
・・やばいなぁ、、はまってしまった・・

*1:Operaの研究開発バージョンらしい http://labs.opera.com/news/2008/03/28/

 その2〜ボタンを発光させる

standard_skin.zipを解凍してできたフォルダ内にあるskin.ini内において


[Pagebar Button Skin.hover]
Clone = Tab Button Skin.hover
 *1

[Pagebar Button Skin.hover.attention]
Clone = Tab Button Skin.hover.attention *2
Text color = #0000ff


となっている記述を↓のように変更してください


;[Pagebar Button Skin.hover]
;Clone = Tab Button Skin.hover

;[Pagebar Button Skin.hover.attention]
;Clone = Tab Button Skin.hover.attention
;Text color = #0000ff


行頭にをつけるとその部分の意味をOperaが無視してくれますので、Pagebar Button Skinに関してはhoverの影響が無くなります。

しかしながら、今まで存在していたhoverの記述を省いたんだからこれでマウスポインタが重なっても何も起こらないはずなのですが、今度はハイライトで照らしたような効果をOperaが勝手に付加します。

結局のところ、ブラウザ画面上でマウスポインタが重なった場合に何らかの入力が可能な要素(つまり背景を除く)には、何かのアクションが起こるように設計されているみたいです。
.hoverでユーザーが指定してあげるか、Operaにハイライトの効果を使わせるかの二択ですね。



ボタンの形が変化するような(例えば・・怒り顔のアイコンが笑い顔に変化するような)効果を持たせたいと思ったときでもなければ.hoverはいらないかな。。



また通常、タブと呼んでるものは[Pagebar Button Skin] であり、[Tab Button Skin]はダイアログ部分のボタンであることに注意してください。

*1:Cloneという指示で、Tab Button Skinのhover状態を参照している

*2:上と同じ

 その1〜とりあえず押さえておくべき事

スキンを弄るのにも慣れてきたので、忘れないうちに要点をまとめておくことにします。



1.オペラのインストールフォルダ内のstandard_skin.zipを参考にする
 例)C:\Program files\Opera\skin\standard_skin.zip
  概観の設定でスキンを変更する際に「OperaStandard」と表示されているスキンです。これを解凍するとstandard_skinフォルダの中にskin.iniというファイルが出てきますが、これがスキン変更の際の肝です。



2.skin.iniの中身は[ ]で括られたセクションに分かれている
セクション部分[]の記述を変更すると、そのセクションに対応するブラウザ表示のみが変わる




3.テキストエディタには必ずGrepが可能なものを用いる(更には比較機能も欲しい)
 僕は始めにWindows付属のメモ帳でskin.iniを開いて作業してましたが・・非常に時間がかかってしまいますからやめたほうがいいです。スキン以外のカスタマイズでも共通して言えることかもしれませんが、メモ帳はやめておきましょう・・。skin.iniで指定されている特定のセクションを変更する事で、予期しないところまで影響してしまう事が多々あると思われます。なので手を加えようとしているセクションに対して予めGrepを用いる事で、そのセクションを参照*1している他のセクションが存在するかどうか、又は差し替えようとしている画像を利用している他のセクションが存在するかどうかを確認しておくのがいいと思います。ちなみにOperaデフォルトのスキンにおけるskin.iniには、全部で160以上のセクションがあります*2。積極的にGrepを使ってある程度構造を把握する必要があるでしょう。
 又、skin.iniを弄っている最中にどこをどのように変更したのか忘れがちです。そういう時は元のファイルとの比較をしたり、バックアップを取っておくなりしましょう。




4.どのセクションがブラウザ上のどの部分に該当するのかを把握する必要がある
当たり前ですが、セクション名を見てもそれがどの部分なのか分からないと作業のしようがありませんよね。こちらの方々のHPを参考にさせてもらいました。
http://d.hatena.ne.jp/bend_tail/20070315/1173963572
http://tirukuru.jp/theothers/opera/opera_button/index.html
http://kawatarou.info/note/opera/notifier_skin.htm

追加で、主なボタンに関するセクションとその色分けです


[Pagebar Button Skin] 薄い緑色
[Tab Button Skin]   青色
[Push Button Skin]  濃い緑色
[Push defult Button Skin] 紫色
[Toolbar Button Skin] オレンジ色
[Link Button Skin] 水色
[Menu Button Skin] 黄色

こうやってみると [Toolbar Button Skin]がかなり利用されてます。





5.skin.iniを編集したら保存して、当初のskin.zipから解凍されて出てきた他のフォルダとまとめて選択し、一緒に.zipへ再圧縮する。
上の人が説明されてますが、重要なので再度ここで書かせてもらいます。skin.iniが収まっているフォルダそのものを選択してから圧縮して作ったskin.zipは、読み込んでくれませんでした。



6.Operaのデフォルトスキンの内容を記述しているstandard_skin.iniの中で、 元から記述されていないセクションを、Operaは原則として認識しない。←想像です。確信は・・ありません(笑
原則として・・とする理由は、[〜.selected]などの「.」で飾る状態修飾子の場合は、Userが勝手にセクションを設けて記述しても例外的に認識してくれているみたいだからです。





7.Opera9.26とOpera9.5βではSkin.iniの中身が異なる
よってそれぞれ専用のSkin.iniとして編集していく必要があります。ぜんぜん違うわけではないんだけど・・微妙に違う。。




しかしここ↓の日本語訳読んでみたかったなぁ・・リンク切ればっかりで見つからないよ。。
http://my.opera.com/community/customize/skins/specs/

*1:例えば[ B ]においてClone = Aという記述があるならば、BセクションがAセクションを参照してますから、Aに施した変更がBにも及びます。

*2:9.26が162個、9.5が184個・・で合ってるかな?

 カスタマイズをする前に

先ずはここ↓を読ませてもらうのが一番かと思います。
http://www.geocities.jp/dgmatil/old/customize_at_large.htm#groundwork


オペラがとっつき難い理由を挙げるなら・・一つ目としてはOperaに特定の機能を実行させようとするとき、メニューからクリックしたりボタンを押したり、マウスジェスチャやキーボードショートカットで対処してみたり・・一つの行為に対して対処可能なアプローチが複数あるからかと思います。けれどもそれは自由度の高さにも繋がるんでしょうね・・。ならば用いるアプローチが異なれば弄るべき場所は変化するという事を明確に知っておくことが、基本という事になりますか。。
というか別にカスタマイズしなくても普通に使えるんですけどね・・欲張りな人用ですね(笑

menu.ini    効果:メニュー項目
skin.ini     効果:ブラウザの外観
keyboard.ini  効果:キーボードショートカット
mouse.ini    効果:マウスジェスチャ
toolbar.ini   効果:ボタンの配置やボタンの機能
opera6.ini、CSS等  効果:いろいろ



二つ目としては、とあるサイトからのコピペだけど「Copy image,,,,"Window Document Icon" & Execute program, "i_view32.exe", "/clippaste" 」これの意味分かりませんよね?
記述内容を書き換えて機能的にしていく上で、やっぱり自分のほしい機能が実現できるように必要な記述は自分で書けるようになるのが好ましいみたいです。


結局のところ・・何かしたいと思ったときにどこどの程度弄くるのか・・それがOperaの難しいところでもあり、面白いところでもあるのかもしれません。