過去ログ表示


過去ログ 370 を表示

トピック内全 10 記事中の 1 〜 10 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0]

(環境: Win 7/Other)

ものすごく細かい話で恐縮なのですが、
Thunderbirdのスレッドペインで、「返信済み」「転送済み」のメッセージにつく
矢印マークを、ピンポイントで変更することはできるのでしょうか?

ちょっと前のバージョンアップで、返信マークが紫、転送マークがブルーになって
非常に見分けづらくなってしまいました。
とはいえ気になっているのはそこだけで、テーマを変えるほどでもないため、
マークだけ変更したいと思っております…

お手すきの際に回答いただけますと大変幸いです。
ぜひ、よろしくお願いいたします。

(環境: WinVista/Other)

メニューアイコンの変更はユーザースタイルシートで対応可能でしょう。
DOM InspectorとInspectorWidgetで該当する箇所のIDやclassを確認してcssで変更させると云う流れです。
userChrome.cssで実施するかStylishで対応するかは自由で。

* DOM Inspector :: Add-ons for Thunderbird - https://addons.mozilla.org/ja/thunderbird/addon/dom-inspector-6622/
* InspectorWidget :: Add-ons for Thunderbird - https://addons.mozilla.org/ja/thunderbird/addon/inspectorwidget/
* Stylish :: Add-ons for Thunderbird - https://addons.mozilla.org/ja/thunderbird/addon/stylish/

(環境: Win 7/Other)

> メニューアイコンの変更はユーザースタイルシートで対応可能でしょう。
> DOM InspectorとInspectorWidgetで該当する箇所のIDやclassを確認してcssで変更させると云う流れです。
> userChrome.cssで実施するかStylishで対応するかは自由で。

ご回答ありがとうございます!
さっそくアドオンをインストールして試してみたのですが、結果的にはダメでした…。

まず、InspectorWidgetを使ってみたのですがペイン全体が選択されてしまい、
目当てのマークをピンポイントで選択できなかったという点と、
そもそもStylishでどんなスクリプトを書けばいいのか
皆目検討がつかなかったためです…。

個人的には、どこかに存在するであろう矢印マーク(PNG画像か何か)を
直接いじるだけで変えられるのではないかと考えていたのですが、
それほど甘い話ではないのですね…

(環境: WinXP SP3/Other)

> ペイン全体が選択されてしまい、目当てのマークをピンポイントで選択できなかった(略)

すんなりと、スレッドペインのある行のあるカラムの中で現在使われているものが何なのかがわかってしまう、というわけにはいかないようですね。
でも、DOM Inspectorで、Edit/Select Element By Click、スレッドペインのある行のSubjectカラムをクリック、で表示された treechildren という要素について見ると、CSS Rules には、
> tree > treechildren chrome://global/content/xul.css 536
によって、以下が指定されています。
> -moz-binding: url("chrome://global/content/bindings/tree.xml#treebody");
どの道 omni.jarの中のものだろうから、ここから順にたどっていけばいいはずです。
でも、どこでどのように色を変えちゃったかなどを見るには最終的な画像ファイルをみないといけなくて、そこまでたどり着くのはしんどそう..
ということで、マークそのものから追っかけてみましょう。

いろんなリソースは、プログラムディレクトリーの中のomni.jar(実体はZIPファイル)に詰め込んでいます。omni.jarを適当なディレクトリーにコピーして、omni.ZIPにリネームし、UNZIP。
Windows Exprolerの「検索」で、そのディレクトリーの中の画像だけを検索して表示させると、全ての画像ファイルがでてきて、ほとんどがPNGみたいなので、表示/縮小版、で画像を一覧できます。
「返信済み」マークなどは、6つをまとめた(一個目は透明)、message.pngという画像を適宜カットして表示(一部だけを表示)しているように見えます。
ただし、ざっと眺めてみただけで、他にも同じマークが入っているものがあってそちらが使われているかもしれませんけど。

> ものすごく細かい話で恐縮なのですが、
> Thunderbirdのスレッドペインで、「返信済み」「転送済み」のメッセージにつく
> 矢印マークを、ピンポイントで変更することはできるのでしょうか?
> ちょっと前のバージョンアップで、返信マークが紫、転送マークがブルーになって
> 非常に見分けづらくなってしまいました。
> とはいえ気になっているのはそこだけで、テーマを変えるほどでもないため、
> マークだけ変更したいと思っております…

message.pngだと仮定して、の話です。
message.pngは、二つあって、
chrome\ classic\ skin\ classic\ messenger\ icons\ message.png
chrome\ classic\ skin\ classic\ aero\ messenger\ icons\ message.png
返信マークが紫、転送マークがブルー、なのは、aero\ messenger\ icons\ message.pngの中のものです。
Win-XP SP3上のTb 9.0.1/Appearance=Default 9.0.1だと、messenger\ icons\ message.pngの中のものと同じマークで表示されていて、返信マークがブルーで上にハイライト、転送マークが明るいオレンジ、です。
WindowsのAeroにあわせて色使いや形を変えたんでしょう。

どこかで、aero\ messenger\ iconsではなくてmessenger\ iconsの方を強制的に使わせられるかな?
ダメでもaero\ messenger\ iconsの中身を置き換えてからZIPしてomni.ZIPにし、拡張子をjarに戻し、Tbのプログラムディレクトリーに戻せば可能だけれど、ソフトウェアの更新の都度やらないといけない...
また、これは、結局、内容的には、二つのマークだけを変えた自分用のテーマを作るのと大差ないことをしようとしていることになる。
デフォールトのテーマに固執する必要がないのなら、適当なテーマを探してそれを使う方が、ある画像ファイルの中の一部のマークだけを自分で変えるなんてなことをするよりも簡単で、後も楽なんじゃないかな。
何かあっても、標準のテーマに戻せば、返信マークが紫、転送マークがブルーで見づらい、ということ以外は、何の問題もないわけだし。

でも、それだけじゃぁ不親切なので、message.png を手掛かりに、もう少し追って見ましょう。

omni.jarをUnzipしたファイルの中で、message.pngを含むものを検索すると。
> chrome\ classic\ skin\ classic\ messenger\ accountCentral.css
> chrome\ classic\ skin\ classic\ messenger\ mailWindow1.css
> chrome\ classic\ skin\ classic\ messenger\ searchDialog.css
> chrome\ classic\ skin\ classic\ aero\ messenger\ accountCentral.css
> chrome\ classic\ skin\ classic\ aero\ messenger\ mailWindow1.css
> chrome\ classic\ skin\ classic\ aero\ messenger\ searchDialog.css
スレッドペインの話だから、mailWindow1.css だろう。
messangerにもaero\ messengerにも、以下がある。
> /* ..... subject column ..... */
> treechildren::-moz-tree-image(subjectCol) {
> -moz-margin-end: 2px;
> list-style-image: url("chrome://messenger/skin/icons/message.png");
> -moz-image-region: rect(0 16px 16px 0);
> }
こんなものもあるから、見つけた message.png の画像とも合致する。
> treechildren::-moz-tree-image(subjectCol, forwarded) {
> -moz-image-region: rect(0 48px 16px 32px);
> }
> treechildren::-moz-tree-image(subjectCol, replied) {
> -moz-image-region: rect(0 32px 16px 16px);
> }

で、DOM Inspectorで treechildren という要素のCSS Rulesにでてきた tree.xml というファイルを、omni.jarをUnzipしたものの中から探すと、あった。
> chrome\ toolkit\ content\ global\ bindings\ tree.xml
おそらく、これ経由でセットされるから、CSSのカスケードではたどり着かなくて、DOM Inspectorでは mailWindow1.css を表示してくれないのだろう、と勝手に納得。

でも、以下の指定は aero付きでもaeroなしでも変わらなくて、
> list-style-image: url("chrome://messenger/skin/icons/message.png");
chrome://messenger/skin/icons/message.pngと、aero付きのほうのmessage.png あるいは aeroなしのほうのmessage.pngとの関係付けがどこで行われているかは不明だし、
そもそも、mailWindow1.css だとしても、messenger\ mailWindow1.css と aero\ messenger\ mailWindow1.css のどちらがどうやって使われるかが不明。
だから、たとえここを変えれば変えられるとしても、どのように変えればaero付きではなくてaeroなしのほうに行ってくれるかは、全く不明。

どうしても知りたければ、http://mxr.mozilla.org/ で、message.png の文字列があるソースと、aero/messenger/iconsを指定しているソースを探し、その近辺を見て、どこかの定義を見ていてそれで制御できるかどうかなどを調べるとかして何とかする方法を探し出す、くらいになってくる。

aero/messenger/iconsを含むソース。
http://mxr.mozilla.org/comm-central/search?string=aero/messenger/icons
以下のところで、Vista(ver 6.0かな)、Win 7(ver 6.1かな)だと、aeroのほうを使うようにしているようだ。
http://mxr.mozilla.org/comm-central/source/mail/themes/qute/jar.mn#270
http://mxr.mozilla.org/comm-central/source/mail/themes/qute/jar.mn#390
> 270 % skin messenger classic/1.0 %skin/classic/aero/messenger/ os=WINNT osversion>=6
> 390 skin/classic/aero/messenger/icons/message.png (mail/icons/message-aero.png)
os=WINNT osversion<6 の場合は、この上の方で、aero/なしの方を指定。
jar.mn だし、どこかのmanifestファイルの中にあって、OSのバージョンで切り替えているのかな?

で、Windows Explorerの「検索」で、Unzipしたomni.jarの中の、WINNT とか osversion が中身にあるファイルを探したのだが、何も出てこない。
さて困った...

一晩たって、jar.mnだから、多分 .manifest ファイルだろう、と、ファイル名に manifest があるものを探してみたら、幾つか見つかった。
で、それらの中身を見たら、chrome\ nonlocalized.manifest の中に、次の行があった!!!
> skin messenger classic/1.0 classic/skin/classic/aero/messenger/ os=WINNT osversion>=6

Winのファイルの中のテキスト検索は、きっとスペースで区切られた文字列しか見てくれないのだろう。
またWinを信用して痛い目にあった経験が一つ増えた...

.manifestファイルを書き換えて関連付けを変えるというのが正当な方法だろうけれど、aeroの中のmessage.png ファイルを置き換えるのと、手順的にはなんの違いもない。
そもそも、関連付けを変えてしまうと、icons/message.png以外の全ても変わってしまうから、この手は簡単には使えない。

userChrome.cssで、もう少し上の階層からのパスを指定すればOK?
> treechildren::-moz-tree-image(subjectCol) {
> list-style-image: url("chrome://skin/classic/messenger/icons/message.png");
> }
でも、Win-XPで、以下のようにしたら、aeroの方を使うどころか、マークが全くでなくなってしまった(^^;
> treechildren::-moz-tree-image(subjectCol) {
> list-style-image: url("chrome://skin/classic/aero/messenger/icons/message.png");
> }

で、aeroの中のmessage.pngをaeroのない方のmessage.pngで置き換えてZIPしてomni.jarに戻す、に戻ってきてしまいました(^^;

(環境: WinXP SP3/Other)

url(...)であってchrome://である必然性は全くなかったことに、ポストしてから気がついた...(^^;

omni.jarをUNZIPしてaeroのない方のicons\ message.pngを適当なところにコピーし、userChrome.css で以下を指定。
> treechildren::-moz-tree-image(subjectCol) {
> list-style-image: url("file:///C:/ ... /message.png") !important
> }

(環境: Win 7/Other)

遠州白熊さん

大変ご丁寧に解説いただきありがとうございます!
にもかかわらずご返信が遅れてしまい誠に申し訳ございません…

> aero\ messenger\ iconsの中身を置き換えてからZIPしてomni.ZIPにし、拡張子をjarに戻し、Tbのプログラムディレクトリーに戻せば

まさにこの方法を模索していたのでした!
以前、DLしたテーマの中身を漁って、目的のファイルが
「message.png」であることはおおよそ検討がついていたのですが、
肝心のTbディレクトリの中に同名のPNGを発見することができず、
置き換えができないため頓挫しておりました。

omni.jarの中にまとめて入っていたのですね…
たとえバージョンアップごとに毎回手間がかかってしまったとしても、
ご指摘のとおり、それ以外のデザインには全く問題ないため、
何度でも差し替えてやろうと思います。

ということでチャレンジしてみました。

が、なんとomni.jarを解凍する段階で行き詰ってしまいました。
拡張子を.zipに変更してダブルクリックをするものの、反応ナシ…
Lahplusがおかしいのでしょうか…?
JARコマンドで解凍する方法もあるとのことですが
ここまで来るともはやチンプンカンプンです…

しかしながらこれ以上初歩的なことでお手数をかけるわけには行きませんので
とりあえず自力で挑戦を続けていきます。

(環境: Win 7/Other)

omni.jar(あるいは、omni.ja)に関しては、若干クセがあったはず。
解凍できないソフトもあります。

いろいろ試してみてください。


[余談]
Lhaplusは以前は使っていましたが、とあることで低性能と感じ、今はexplzhを使っています。

(環境: WinXP SP3/Other)

> が、なんとomni.jarを解凍する段階で行き詰ってしまいました。
> 拡張子を.zipに変更してダブルクリックをするものの、反応ナシ…
> Lahplusがおかしいのでしょうか…?

まさか...
私はLhaplusで解凍したし、メンテを止めたはずだからバージョンも私の使っているものとあまり変わらないはず。
その手順で意図通りに解凍されるようにちゃんと設定していないだけじゃないですか?

Lhaplusなら、Lhaplusを起動して「関連付け/シェル」のファイルのコンテキストメニューやドラッグアンドドロップメニューの設定でメニューが出るようにしておき、適当なディレクトリーを作ってそこにomni.ZIPを右ドラッグ&ドロップ、でてきたメニューで「ここに解凍」、というあたりが、どこに解凍するのかを常に明示的に指定できるし、直感的にわかりやすい方法でしょう。
「関連付け」で.jarも入れておけば.ZIPにリネームしなくてもすみます。
「解凍設定1」のフォルダーの自動作成の設定で「フォルダを自動作成する」、「ここに解凍の時はフォルダーを自動作成しない」ようにしておくと、使いやすいかな。

(環境: Win 7/Other)

マークの変更できました!!!!!

jarファイルは遠州白熊さんの指示どおり、フォルダを作って
その中に直接展開したところ無事解凍することができました。

何が原因だったのか、ハッキリとは分からないのですが
どうもjarファイルは解凍しようとしてもフォルダが自動生成されないようで、
でもLhaplus自体は解凍先フォルダを自動生成するよう設定されているので
解凍先フォルダが見つからず、解凍できなかった…ということでしょうか。

ともあれ解凍したあとは、手はずどおりにPNGの差し替えだけを行って再圧縮。
拡張子をjarに変えてプログラムフォルダにぶち込んだところ
見事にマークが変更されていました!

aidesさん、遠州白熊さん、palさん、こんなズブの素人の細かい質問に
丁寧にご回答いただき本当にありがとうございました!!!
済!
(環境: WinXP SP3/Other)

> ともあれ解凍したあとは、手はずどおりにPNGの差し替えだけを行って再圧縮。

userChrome.cssでurl(chrome://...)をurl(file:///...)に変えてしまう手法の方も読んでおいてくださいね。
済!

このトピックの全ページ / [0]

返信不可


- Child Tree -