« Thunderbird、これは便利編 その1 | トップページ | 雨水 »

2019年2月18日 (月)

Thunderbird、これは便利編 その2

薄雲ではあったけれど、概ね太陽が出ていた晴れの日中。

最近の朝は、以前は真っ暗だった時間でも明るくなってきたし、日の暮れるのも遅くなってきた。

春はすぐそこ?っていう感じかな。

となると、朝日をこうやって撮影できるのも、あとわずか。

もう少ししたら、左側に行って、見えなくなってしまう。

夕方。

点々の、羽が広がったような夕焼け雲がいい感じだった。

下は、横筋状の雲と灰色の雲のコントラスト。

こっちも灰色の雲とのコントラスト。

Thunderbird、これは便利編 その2。

Dorando keyconfigについて書く前に、一つ、これまた便利なアドオンの紹介。

そんなにしょっちゅうではないかもしれないけれど、Thunderbirdをカスタマイズする人であれば、お世話になるのが、「about:config」。

Firefoxだったら、ロケーションバーに、「about:config」と入力すればすぐに表示されるけれど、Thunderbirdではそれが出来ない。
いちいち、メニューから辿って表示させるしかない。

以前であれば、「about:config」をボタンにしてくれるアドオンがあったけれど、それは使えなくなった。

調べてみると、それより更に便利なアドオンがあるのを知った。

ViewAbout

「about:config」だけではなく、他の「about:なんちゃら」をメニュー表示し、選ぶだけでそれを見せてくれる。
「表示」メニューの中にある。

Dorando keyconfigに戻るけれど、面白いのが、Dorando keyconfigから、このViewAboutの中のものを呼び出すことが出来るのである。

例えば、「about: config」だったら、「viewabout.openUrl("about:config");」、メモリ関連のものだったら、「viewabout.openUrl("about:memory");」という具合に登録するだけ。

ショートカットキーで一発で呼び出せるようになるから、とっても便利!

とりあえず、「viewabout.openUrl("about:about");」を呼び出すようにしておけば、そこから他のものを呼び出すことが出来るので、それを登録しておくといいかも。

Dorando keyconfigでのこういう動き、つまり、他の関数を呼び出せること、を見ていて、もしかしてこれって、Firefoxで言うところの、userChrome.jsと同じことが出来るのでは?と思った。

試しに簡単なプログラムを作って動作させてみると、ちゃんと動いた!

以前のThunderbirdでも、userChrome.jsが出来ていたようだけれど、今はもう出来ない。

でも、Dorando keyconfigを使えば、それに近いことが出来るようになる!

ただ、一つだけ違う点が。

Firefoxでは、userChrome.jsの設定ファイルとプログラムをchromeフォルダに置いておけば、起動時に読み込んでくれる。

しかし、Dorando keyconfigの場合、残念ながら、Thunderbird起動時に、Dorando keyconfigに登録しているプログラムを読み込んでくれない。
あくまで、ショートカットキーを実行した時のみ。

これが大きな違い。

でも、Thunderbird起動後、必ずなんらかのコマンドを実行する、例えば、メール受信とか、というのがあれば、それと組み合わせることによって、Thunderbirdを起動した時に必ず実行・表示したいものを実行することが出来る。

話はずれるけれど、Thunderbirdが60になって、あれ?と思ったことがある。

それは、アドオンの設定ボタン。

以前であれば、アドオンの画面に設定ボタンがあったのに、どういうわけか、「ツール」メニューの中に移動してしまった。

これの意図は一体何??と思ったのは僕だけではないはず。
慣れということもあるけれど、正直使いづらい。

だから、Dorando keyconfigを使って、そういうメニューを外に出すというのがいいんじゃないかな、って。

こういう感じにすれば、オプション設定メニューをメニュー・バーに表示させることが出来る。
ついでに、ViewAboutも。

(function() {
window.CML = {
init: function () {
var mm = document.getElementById('mail-menubar');

// オプション設定
var mm1 = document.getElementById("addonsManager_prefs");
mm1.setAttribute('label', 'アドオン設定');
mm.appendChild(mm1);

// ViewAbout
mm1 = document.getElementById("viewAboutMenu");
mm1.setAttribute('label', 'ViewAbout');
mm.appendChild(mm1);
}
};
window.CML.init();
})();

「label」は、お好きな表示名をどうぞ。

こうするだけで、メニューを辿らなくていいし、1クリック減らせるようになる。(笑)

こうやって、既存のメニューを移動させるだけではなく、こういう感じでオリジナル・メニューを作ることも出来る。


上の4つは、オリジナルのアイコンを登録している。

上記のようなオリジナル・メニューを作るためのサンプル。

(function() {
window.CML2 = {
init: function () {

var mm = document.getElementById('mail-menubar');

var tbm = document.createElement('menu');
tbm.setAttribute('id', 'tb-addonoptions');
tbm.setAttribute('label', 'メニュー');
tbm.setAttribute("accesskey", 'q');
mm.appendChild(tbm);

var mp = document.createElement('menupopup');
var tbm1 = "";

//オプション
tbm1 = document.createElement('menuitem');
tbm1.setAttribute('id', 'kc-op');
tbm1.setAttribute('label', 'オプション');
tbm1.setAttribute("accesskey", 'o');
tbm1.setAttribute("class", "menuitem-iconic");
tbm1.setAttribute('image', アイコンのURLかbase64の文字列);
tbm1.setAttribute('oncommand', "openOptionsDialog();");
mp.appendChild(tbm1);

//アドオンの画面
tbm1 = document.createElement('menuitem');
tbm1.setAttribute('id', 'kc-aa');
tbm1.setAttribute('label', 'アドオン');
tbm1.setAttribute("accesskey", 'a');
tbm1.setAttribute("class", "menuitem-iconic");
tbm1.setAttribute('image',"https://addons.thunderbird.net/static/img/addon-icons/default-64.png");
tbm1.setAttribute('oncommand', 'viewabout.openUrl("about:addons");');
mp.appendChild(tbm1);

var ms = document.createElement('menuseparator');
mp.appendChild(ms);

//about:config
tbm1 = document.createElement('menuitem');
tbm1.setAttribute('id', 'kc-ac');
tbm1.setAttribute('label', 'about:config');
tbm1.setAttribute("accesskey", 'c');
tbm1.setAttribute("class", "menuitem-iconic");
tbm1.setAttribute('image', アイコンのURLかbase64の文字列);
tbm1.setAttribute('oncommand', 'viewabout.openUrl("about:config");');
mp.appendChild(tbm1);

ms = document.createElement('menuseparator');
mp.appendChild(ms);

// Dorando keyconfigの設定画面
tbm1 = document.createElement('menuitem');
tbm1.setAttribute('id', 'kc-op');
tbm1.setAttribute('label', 'Dorando keyconfig');
tbm1.setAttribute("accesskey", 'd');
tbm1.setAttribute("class", "menuitem-iconic");
tbm1.setAttribute('image',"jar:file:///C:/Users/O/Documents/000masaya/Thunderbird/extensions/keyconfig@mozilla.dorando.at.xpi!/icon.png");
tbm1.setAttribute('oncommand', 'openAddonPrefs("chrome://keyconfig/content/", "3");');
mp.appendChild(tbm1);

// Quicktextの設定画面
tbm1 = document.createElement('menuitem');
tbm1.setAttribute('id', 'qt-op');
tbm1.setAttribute('label', 'Quicktext');
tbm1.setAttribute("accesskey", 'q');
tbm1.setAttribute("class", "menuitem-iconic");
tbm1.setAttribute('image',"chrome://quicktext/skin/icon.png");
tbm1.setAttribute('oncommand', "openAddonPrefs('chrome://quicktext/content/settings.xul', 3);");
mp.appendChild(tbm1);

tbm.appendChild(mp);
}
};
window.CML2.init();
})();

説明。

もし、アイコンを表示したいなら、「アイコンのURLかbase64の文字列」のところに、アイコンのURLかbase64の文字列の羅列を入れる。
不要であれば、その行と一つ上の行をコメントアウト。

「label」はお好きな表示名で。

サンプルとして2つ、アドオンの設定画面を入れてみた。

これは前回にも書いたけれど、「openAddonPrefs("chrome://keyconfig/content/", "3");」の「3」を指定することによって、タブで設定画面を表示してくれる。
引数としては、「"3"」でも「3」でもどちらでもいいみたい。
アドオンによっては、ダイアログ表示画面でサイズ指定しているものがある。
その場合は、Thunderbirdのウインドウ自体がそのサイズに変更されるので注意。
「3」の引数を書かなければ、通常通りのダイアログ・ボックスで表示される。
タブで表示されるのって、意外と便利。

その他のアドオンのオプションは、要素を調べて、上記をコピペして、該当部分を入れ替えればいいだけ。
ユニークなid名にすることも忘れずに。

と、こんな感じで、Dorando keyconfigを使えば、userChrome.jsもどきが出来るのである。

こういうことが出来ると知って、今まで以上に、Thunderbirdの使い勝手が良くなったのである。

今回の一連のことが切っ掛けで、Thunderbirdの起動は速くなるし、色んな問題は解決するし、使い勝手も良くなるし、で、言うことなしになったのである!(笑)

以上で、長々と続いた、Thunderbird関連のノウハウは終了。

|

« Thunderbird、これは便利編 その1 | トップページ | 雨水 »

パソコン・インターネット」カテゴリの記事

日本写真 姫路」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« Thunderbird、これは便利編 その1 | トップページ | 雨水 »