2019年9月8日日曜日

noreply@~ のチェックをCheck and Sendに追加しました

Check and Send 1.1.00b5 を公開しました。
機能追加は考えていなかったのですが、要望の多かった「noreply」のチェックを一つだけいれました。

宛先チェックが有効の状態で、noreply/no-replyがアカウント名に入っている場合、
デフォルトでチェックを外すようにしています。

このままOKを押せば、これらのアドレスには送信されません。


上から3つめのように、アカウントの一部にnoreply/no-replyが含まれる場合も対象になります。

もっと自由に設定できるようにとも考えたのですが、修正の規模と分かりやすさの点からこの仕様にしました。

Thunderbird 68.x用になりますが、よかったら使ってみてください。

ダウンロード:




2019年9月3日火曜日

Thunderbird 68に未対応アドオンをインストールする方法

Thunderbird 68.0にバージョンアップすると、ほぼすべてのアドオンが無効化されてしまいます。対応版がリリースされない場合などの時に、自力でインストールできるようにする方法を紹介します。

単純な機能のアドオンなど、運がよければこれで動くようになります。たいていは、インストールができても正しく動かないことが多いと思いますが、その場合は、ソースコードを直していく必要があります。

少し難易度が高いかもしれませんが、テキストエディタと、ZIPの圧縮/解凍ツールがあればできるので、試してみてください。

また、この投稿のコメントの中で、以下のアドオンをThunderbird 68対応させています。非公式版ですが、こちらも自由にお使いください。
  • Address Move Button
  • Auto Address Cleaner
  • Ruler Bar
  • PrintingTools
  • StartupMaster
  • Display Mail User Agent
  • 宅配便の配達状況 
ダウンロードはこちらから。
https://hogi.sakura.ne.jp/hiki/?ExperimentalExtensions


では、アドオンの修正方法の説明です。

①xpiファイルをダウンロード、解凍する
まずは、アドオン(xpi)を作者のサイト等から、ダウンロードしてきます。
ダウンロードしてきたファイルの拡張子をzipに変更して、解凍します。

解凍すると、以下のようなファイル/フォルダができると思います。

chrome/
defaults/
chrome.manifest
install.rdf
この構成でない場合もあるかもしれませんが、気にしないでください。
解凍できて、chrome.manifestとinstall.rdfがでてこればOKです。


②manifest.jsonファイルを作成する
以下のコードをコピーして、chrome.manifest等と同じフォルダ階層(トップ)に、
「manifest.json」という名前で保存してください。

■manifest.json
{
  "manifest_version": 2,
  "name": "XXX",
  "description": "XXX",
  "version": "XXX",
  "author": "XXX",
  "homepage_url": "XXX",
  "legacy": {
    "type": "xul",
    "options" : {
      "page" : "XXX",
      "open_in_tab" : XXX
    }
  },
  "applications": {
    "gecko": {
      "id": "XXX",
      "strict_min_version": "XXX"
    }
  },
  "icons": {
    "32": "XXX",
    "24": "XXX"
  }
}

次に、このmanifest.jsonの XXX の部分を、install.rdfを見ながら設定します。
install.rdfはテキストエディタで開けます。
manifest.jsonができたら、install.rdfは不要なので削除してください。

manifest.jsonとinstall.rdfの値の対応は以下になります。
対応するものがinstall.rdfにない場合は、その設定は不要です。(行ごと削除してOK)
文字列は、""で囲うのを忘れないでください。

manifest.json
install.rdf
必須
補足
name
em:name

description
em:description


version
em:version
好きなバージョンに変更してもOK。
author
em:creator


homepage_url
em:homepageURL


page
em:optionsURL
アドオンの設定ダイアログがある場合のみ。
open_in_tab
em:optionsType
アドオンの設定ダイアログがある場合のみ。
em:optionsType が3の場合は true、 それ以外の値、または、em:optionsType がない場合は false に設定する。
この値は、""で囲まないので注意。
id
em:id
em:targetApplicationの中のem:idではないので注意。
 {3550f703-e582-4d05-9a08-453d09bdfdc6}は、ThunderbirdのIDなので、これではないほうのIDを指定してください。
strict_min_version
-
Thunderbirdのバージョン。これ以前のバージョンにはインストールできない。今回は "68.0" に設定する。
icons
em:iconURL

アドオンのアイコンをサイズごとに指定。
install.rdfとは違い、manifest.jsonを置いたディレクトリからの相対パスで指定する。

 以下、私のアドオン Maximize Message Paneの場合のサンプルです。

■サンプル:Maximize Message Pane の install.rdf
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
  <em:id>{CC1FC7EB-79F7-4A28-B12C-731304F16E53}</em:id>
  <em:name>Maximize Message Pane</em:name>
  <em:version>1.2.31</em:version>
  <em:description>Maximize message pane by collapsing thread pane and folder pane.</em:description>
  <em:creator>H.Ogi</em:creator>
  <em:optionsURL>chrome://maxmsgpane/content/settings.xul</em:optionsURL>
  <em:iconURL>chrome://maxmsgpane/skin/max32.png</em:iconURL>
  <em:homepageURL>http://hogi.sakura.ne.jp/en/</em:homepageURL>
  <em:targetApplication>
   <Description>
    <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
    <em:minVersion>60.0</em:minVersion>
    <em:maxVersion>60.*</em:maxVersion>
   </Description>
  </em:targetApplication>
</Description>
</RDF>


■サンプル:作成したmanifest.json
{
  "manifest_version": 2,
  "name": "Maximize Message Pane",
  "description": "Maximize message pane by collapsing thread pane and folder pane.",
  "version": "1.3.00b3",
  "author": "H.Ogi",
  "homepage_url": "http://hogi.sakura.ne.jp/en/",
  "legacy": {
      "type": "xul",
    "options" : {
      "page" : "chrome://maxmsgpane/content/settings.xul",
      "open_in_tab" : false
    }
  },
  "applications": {
    "gecko": {
      "id": "{CC1FC7EB-79F7-4A28-B12C-731304F16E53}",
      "strict_min_version": "68.0"
    }
  },
  "icons": {
    "32": "max32.png"
  }
}


③chrome.manifestを修正する
次は、chrome.manifestを変更します。これも、テキストエディタで開きます。
ここでも、Maximize Message Paneを例にします。

chrome.manifestは、以下のようになっていると思います。

■サンプル:Maximize Message Paneのchrome.manifest(修正前)
content maxmsgpane jar:chrome/maxmsgpane.jar!/content/maxmsgpane/

overlay    chrome://messenger/content/messenger.xul    chrome://maxmsgpane/content/maxmsgpane.xul
overlay    chrome://messenger/content/msgHdrViewOverlay.xul chrome://maxmsgpane/content/maxmsgpane_hdr.xul

locale maxmsgpane en-US jar:chrome/maxmsgpane.jar!/locale/en-US/maxmsgpane/
locale maxmsgpane ja-JP jar:chrome/maxmsgpane.jar!/locale/ja-JP/maxmsgpane/

skin    maxmsgpane    classic/1.0    jar:chrome/maxmsgpane.jar!/skin/classic/maxmsgpane/

style chrome://messenger/content/customizeToolbar.xul chrome://maxmsgpane/skin/maxmsgpane.css
style chrome://messenger/content/messenger.xul chrome://maxmsgpane/skin/maxmsgpane.css
style chrome://messenger/content/msgHdrViewOverlay.xul chrome://maxmsgpane/skin/maxmsgpane.css

これの、"overlay"、"style"の部分を修正します。
overlay XXXXX YYYYY
style XXXXX YYYYY
の形式になっていますが、このXXXXXの部分が"~Overlay.xul"になっている場合、以下を参考に置き換えます。
なっていない場合は、たぶん、そのままで大丈夫です。
上の例だと、ハイライトした部分が、修正が必要な箇所です。

~Overlay.xul
置き換え
mailWindowOverlay.xul
msgHdrViewOverlay.xul
messenger.xul
customizeToolbarOverlay.xul
customizeToolbar.xul


Maximize Message Paneでは、こんな感じ。

■サンプル:Maximize Message Paneのchrome.manifest(修正後)
content maxmsgpane jar:chrome/maxmsgpane.jar!/content/maxmsgpane/


overlay    chrome://messenger/content/messenger.xul    chrome://maxmsgpane/content/maxmsgpane.xul
overlay    chrome://messenger/content/messenger.xul chrome://maxmsgpane/content/maxmsgpane_hdr.xul


locale maxmsgpane en-US jar:chrome/maxmsgpane.jar!/locale/en-US/maxmsgpane/
locale maxmsgpane ja-JP jar:chrome/maxmsgpane.jar!/locale/ja-JP/maxmsgpane/



skin    maxmsgpane    classic/1.0    jar:chrome/maxmsgpane.jar!/skin/classic/maxmsgpane/


style chrome://messenger/content/customizeToolbar.xul chrome://maxmsgpane/skin/maxmsgpane.css
style chrome://messenger/content/messenger.xul chrome://maxmsgpane/skin/maxmsgpane.css
#style chrome://messenger/content/msgHdrViewOverlay.xul chrome://maxmsgpane/skin/maxmsgpane.css

ハイライト下部分が、変更箇所です。一番最後の行は、msgHdrViewOverlay.xul -> messenger.xul に置き換えると、
一つ上の行と同じになるので、#でコメントアウトしています。

④zipで圧縮する
新しく作成したmanifest.jsonも含めて、すべてのファイル/フォルダをzipで圧縮します。このとき、もとの階層構造と同じになるように注意してください。

通常は、以下のように、トップ階層のファイルを全選択して、zipで圧縮することになると思います。


最後に、拡張子をzipからxpiに変更して終わりです。

作成したxpiファイルを、Thunderbirdのアドオンマネージャーにドラッグ&ドロップすれば、インストールができるはずです。

インストールがうまくいかないときは
「Thunderbird 68.3.1と互換性がないため、このアドオンをインストールできませんでした。」のようなメッセージがでて、インストールできない場合は、manifest.jsonに問題があることが多いです。

エラーコンソールのエラーが参考になることがあるので、確認してみてください。
エラーコンソールは、
・「Ctrl+Shift+J」を押すか、
・アプリメニュー(3本線のメニュー)から、「ツール→開発ツール→エラーコンソール」
で開けます。
「Invalid XPI: SyntaxError: JSON.parse:」のようなメッセージを探してください。

■間違った設定の例
"icons": {
"32": "icon.png",
}

■エラーメッセージの例
1577695480223 addons.xpi WARN Invalid XPI: SyntaxError: JSON.parse: expected double-quoted property name at line 23 column 5 of the JSON data(resource://gre/modules/Extension.jsm:525:26) JS Stack trace: readJSON/</<@Extension.jsm:525:26
onStopRequest@NetUtil.jsm:128:9

「"icon.png",」と、「,」で終わっているので、次のプロパティがこないといけないところ、次の行が「}」なので、エラーになってしまっています。この場合は、「,」を消せばOKです。


[2019/10/07]
Maximize Message Paneの例に合わせて、内容を一部修正しました。
間違いの多い、最後のzip圧縮のところに、イメージ画像を追加しました。

[2019/10/23]
ソースコードの修正についてもまとめました。難易度は高めと思いますが、ご参考までに。
Thunderbird 68に未対応アドオンをインストールする方法 (2)

[2019/12/30]
エラーコンソールの確認方法を追記しました。 


2019年9月1日日曜日

64bit版 Thunderbird 68

Thunderbird 68.0がリリースされましたが、公式サイトからは32bit版しかダウンロードできません。
非公式ではありますが、64bit版が以下から手に入ります。


私は64bit版を使用していますが、特に問題等はでていません。
性能など、大きな変化も感じませんが…。


[2019/09/08]
こちらのリンクのほうがよさそうですね。
法人向けのみ、64bitがあるみたいです。
https://www.thunderbird.net/ja/thunderbird/all/

人気の投稿(過去7日間)